Sql SAS-统计报告的累积就诊次数
我们有一个问题,人们没有及时提交医院就诊信息。我试图解释一家医院在就诊日期后(平均)多长时间会提交该日期发生的所有就诊信息 试图从当前数据集创建一个表,该数据集有3个相关字段:唯一访问ID、访问日期、创建日期、投诉负责人 可以有多行具有相同的唯一就诊ID,唯一就诊ID是单个患者就诊的唯一标识符。就诊日期是指就诊日期。date_created变量告诉我们行发送给我们的日期 我想在表中创建的列是:就诊后的天数(0-14)和特定日期报告的平均就诊次数 关于第二专栏,我想知道: 如果我将创建日期限制为访问日期后的0天,那么在访问日期发生了多少次访问(带有非空的chief_投诉) 如果我将创建日期限制为访问日期后的0或1天,那么在访问日期发生了多少次访问(带有非空的chief_投诉) 如果我将创建日期限制为访问日期后的0天、1天或2天,那么在该访问日期发生了多少次访问(带有非空的chief_投诉) 等等,直到您在访问日期后1-14天Sql SAS-统计报告的累积就诊次数,sql,sas,counting,proc,cumulative-sum,Sql,Sas,Counting,Proc,Cumulative Sum,我们有一个问题,人们没有及时提交医院就诊信息。我试图解释一家医院在就诊日期后(平均)多长时间会提交该日期发生的所有就诊信息 试图从当前数据集创建一个表,该数据集有3个相关字段:唯一访问ID、访问日期、创建日期、投诉负责人 可以有多行具有相同的唯一就诊ID,唯一就诊ID是单个患者就诊的唯一标识符。就诊日期是指就诊日期。date_created变量告诉我们行发送给我们的日期 我想在表中创建的列是:就诊后的天数(0-14)和特定日期报告的平均就诊次数 关于第二专栏,我想知道: 如果我将创建日期限制为访
有什么想法吗?我从这个开始,我知道这是错误的,但不确定如何修复它…据我所知,您确实希望生成两个表:
- 所有访问的列表,以及提交/创建之前的天数 每人
- 所有日期的列表,包括每个日期的访问次数,包括0-14天后提交的访问次数
dsn\u in
是原始数据集的名称dsn\u out\u days
是保存第一个项目符号结果的数据集的名称dsn\u out\u summary
是保存第二个项目符号结果的数据集的名称
%MACRO do_analysis (dsn_in = , dsn_out_days = , dsn_visits_by_date = );
%LOCAL i ;
DATA &dsn_out_days;
SET &dsn_in;
days_after_visit = INTCK ('DAYS', Visit_Date, Date_Created);
%DO i = 0 %TO 14;
submitted_up_to_&i._days_after = (days_after_visit <= &i);
LABEL submitted_up_to_&i._days_after = "Submitted Up To &i Days After" ;
%END;
RUN;
PROC SUMMARY NWAY DATA = &dsn_out_days (
WHERE = ( NOT MISSING (Chief_Complaint) )
);
CLASS Visit_Date;
OUTPUT
OUT = &dsn_visits_by_date (
DROP = _TYPE_
RENAME = (_FREQ_ = total_visits)
)
SUM (
%DO i = 0 %TO 14;
submitted_up_to_&i._days_after
%END;
) =
;
RUN;
/* Comment out this data step to see how everything works under the hood */
DATA &dsn_out_days;
SET &dsn_out_days (
DROP =
%DO i = 0 %TO 14;
submitted_up_to_&i._days_after
%END;
);
RUN;
DATA &dsn_visits_by_date;
SET &dsn_visits_by_date ;
LABEL total_visits = "Total Visits";
RUN;
PROC SORT DATA = &dsn_visits_by_date ;
BY Visit_Date ;
RUN;
%MEND;
但是,如果您喜欢无宏的解决方案,我可以编辑。请让我知道。请澄清,之所以会有多行具有相同的
唯一的\u访问\u ID
是因为多个投诉,对吗?也就是说,具有相同的唯一访问ID的任何两行也具有相同的访问日期
和相同的创建日期
,但是主诉
的值不同?否——我在这里只包含了4个字段,因为这是仅有的4个相关字段;实际上,我有64个变量,医院可以在任何字段中发送具有不同值的更新,但唯一的访问id将使它们保持一致。也就是说,唯一的访问ID和访问日期将保持不变,但创建日期(发送行的日期)可能会更改,因为某些信息可以在第一天发送,然后在第二天更新。这有意义吗?谢谢!宏对我来说是有意义的,所以它很好;现在下班了,明天再试试这个。非常感谢你!!嗨…我很好奇,它有用吗?如果不行的话,我可以试试其他东西。对不起,很久以前我忘了告诉你这是有效的。非常感谢你!!
submitted_up_to_1_days_after = (days_after_visit <= 1);
submitted_up_to_2_days_after = (days_after_visit <= 2);
submitted_up_to_3_days_after = (days_after_visit <= 3);
. . . .