我的代码如下。我不是SAS或sql方面的高手我的陈述来自SAS Enterprise Guide 8.2 using Proc SQL。我想要做的是通过唯一的PrescriberID使RX_PMPM、DrugCost_PMPM、PDL Rate GDR Rate紧跟每个PresriberID
我收到语法错误22-322错误76-322
proc sql;
create table work.ABC_2020_out as
select Distinct PrescriberId,
from work.VitMDKPI_Report
sum(PaidAmt)/count(distinct CardholderId) as RX_PMPM,
sum(DrugCost)/count(distinct PrescriptionNumber) as DrugCost_PMPM,
Count (PDL) as Total_NONANDPDL,
Count (BrandGenericCode) as Total_BrandGeneric,
Case when PDL=Y then 'PREFPDL'
Case when BrandGenericCode=G then 'Generic'
End
PDL/Total_NONANDPDL as PDL Rate
Generic/Total_BrandGeneric as GDR Rate
Group by PrescriberId;
quit;
发布于 2020-06-03 05:00:37
解析器将看到的第一个错误是此部分无效。
select Distinct PrescriberId,
from work.VitMDKPI_Report
由于第一行末尾的逗号,您要求选择名为from
的变量并将其命名为work.VitMDKPI_Report
,由于句号和语法的原因,这不是有效的变量名称,因为PROC SQL在设置变量名称时需要as
关键字。
您似乎已经将FROM子句放在了变量列表的中间。它应该放在变量列表之后,GROUP BY子句之前。
还有其他问题,包括看起来格式错误的CASE子句,试图引用SELECT子句中创建的变量而不使用CALCULATED
关键字,以及可能无效的变量名称。但是,如果没有一些示例数据和这些数据的预期输出,就很难诊断这些问题。
https://stackoverflow.com/questions/62159851
复制相似问题