- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Could someone please help me to understand how I could convert the following into PROC SORT then PROC RANK?
ROW_NUMBER() OVER (PARTITION BY UNIQUE_ID ORDER BY mem_no desc, drug_id desc, RX_FILL_DT ASC) AS RANK
FYI, formats:
alphanumeric:
UNIQUE_ID
DRUG_ID
date:
RX_FILL_DT
numeric:
MEM_NO
SAS EG v. 7.13
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
if first.rx_fill_dt_asc ...
I think auto correct deleted the period, there should be a period between.
FIRST. identifies the first in that particular variable group.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
PROC SORT data=have;
by mem_no desc descending drug_id RX_FILL_DT ASC;
run;
proc rank data=have;
by < ... >;
VAR ...;
run;
I'm not sure what variable is being ranked here or if it's just creating a count variable per group. I suspect the latter which would be easier in a data step.
data want;
set have;
by < >;
if first rx_fill_dt_asc then count=0;
count+1;
run;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
if first rx_fill_dt_asc then count=0;
______________
388
76
ERROR 388-185: Expecting an arithmetic operator.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
if first.rx_fill_dt_asc ...
I think auto correct deleted the period, there should be a period between.
FIRST. identifies the first in that particular variable group.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Good afternoon!
Have you solved the case? I have the same arithmetic overflow problem.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
@OsiasEduardo wrote:
Good afternoon!
Have you solved the case? I have the same arithmetic overflow problem.
This post has nothing to do with arithmetic overflow. Please post your question as a new post.