BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
michtka
Fluorite | Level 6

Hi guys, I got the next problem:

*Because I dont have AE collected by day (colldate) in the dataset ae, we need to assign AE to the collection date (colldate) from a dataset called drugs;

1) in the below code I can assign the AE: start AE (aefdate) <= colldate and stop AE (aetdate) <= colldate

      proc sql noprint;
        create table symptomx as
        select ae.pid, ae.aefdate,ae.aetdate, ae.prefcode, ae.preftext, ae.aercaus,ae.aecaus, a.colldate,
        a.factdat,a.lactdat,a.cpevent,a.visit
        from ae
        left join drugs a
        on ae.pid=a.pid
        and ae.aefdate le a.colldate le ae.aetdate;
      quit;

2) My problem is that I need to assign also AEs that stop before the colldate, i.e the condition ae.aetdate le a.colldate

Is possible to add this extra condition to the above proc sql code, or I need to create another proc sql table?

Thnaks.

V.

1 ACCEPTED SOLUTION

Accepted Solutions
never
Calcite | Level 5

I'm not sure I completely understand your problem... but i think this is what you're looking for...

      proc sql noprint;
        create table symptomx as
        select   ae.pid,

                    ae.aefdate,

                    ae.aetdate,

                    ae.prefcode,

                    ae.preftext,

                    ae.aercaus,

                    ae.aecaus,

                    a.colldate,
                    a.factdat,

                    a.lactdat,

                    a.cpevent,

                    a.visit
        from ae left join drugs a
             on ae.pid = a.pid
        where ae.aefdate le a.colldate

                    and  a.colldate le ae.aetdate

                    and ae.aetdate le a.colldate ;
      quit;

If not, can you clarify what all these things are... perhaps tell me what AE means for context.

View solution in original post

1 REPLY 1
never
Calcite | Level 5

I'm not sure I completely understand your problem... but i think this is what you're looking for...

      proc sql noprint;
        create table symptomx as
        select   ae.pid,

                    ae.aefdate,

                    ae.aetdate,

                    ae.prefcode,

                    ae.preftext,

                    ae.aercaus,

                    ae.aecaus,

                    a.colldate,
                    a.factdat,

                    a.lactdat,

                    a.cpevent,

                    a.visit
        from ae left join drugs a
             on ae.pid = a.pid
        where ae.aefdate le a.colldate

                    and  a.colldate le ae.aetdate

                    and ae.aetdate le a.colldate ;
      quit;

If not, can you clarify what all these things are... perhaps tell me what AE means for context.

CFC_SAS_Communities_400x225.jpg

Call for content now open!

It's your turn to help shape SAS Innovate 2027. Share your expertise and inspire the SAS community.

Submit your proposal →

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1531 views
  • 0 likes
  • 2 in conversation