我正在使用Spark中的表(medclaims
),其中包含患者ID(patientid
),cpt代码(cpt
),icd10代码({{1} })和源提供者(icd10
)。我正在尝试创建输出,该输出将仅列出具有感兴趣的特定CPT代码的Patientid,然后告诉我每个CPT代码的患者总数。然后,从该总数中,我要检查有多少患者ID也有感兴趣的ICD10代码,然后进一步按来源分类。我希望我的输出看起来像这样:
provider
我创建了一个临时表,其中包含大量想要的cpt和icd10列表。然后建立另一个临时表,以给定的CPT | Sum | Sum Subset w/ ICD10 | SourceA Sum CPT | SourceA Sum Subset w/ ICD10 | SourceB Sum CPT|....
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 100 90 50 45 50
2 3500 250 1500 100 2000
10 800 600 300 200 500
子集patientid
的子群,基本上是这样的:
cpt
然后我将CREATE TABLE user.temp_medical_cpt AS
SELECT patientid, cpt, icd10, provider
FROM medclaims
WHERE provider in ('providerA', 'providerB', 'providerC')
AND cpt in (select code from user.temp_cpt_list)
代码的总数分解为前两列,如下所示:
cpt
但是我不确定如何去处理与SELECT distinct cpt AS CPT, count (distinct patientid) AS Sum
FROM user.temp_medical_cpt
的重叠,然后针对每个来源进行细分。将在更长的查询中完成此操作,还是需要建立一个数字表并加入现有表?