我有两个表,一个访问表和一个诊断表。就诊是我的一次,诊断是我的多次(你可以有二级和三级诊断)。我在访问表中创建了50多个度量。因此,我只想以列的形式在我的访问表上创建一个标志,它将根据从诊断表中选择的内容过滤我的结果。我见过使用=calculate( cases,DXCodes)的度量公式,它会将案例过滤到只与DXCodes相关的那些案例,这是可行的,但我不想为每个度量构建这个公式。相反,我想要一个DXFlag,如果我从诊断中选择的内容存在于访问表中,它将用1标记我的访问行。有什么建议吗?如果这没有意义,我可以说得更具体一些。

发布于 2015-07-16 16:59:15
对您的数据做一些假设,您可能会有这样的表:

如果您创建一个度量来挑选出每个诊断:
[diag1]:=FIRSTNONBLANK(Visits[Primary Diag],1)
[diag2]:=FIRSTNONBLANK(Visits[Secondary Diag],1)
[diag3]:=FIRSTNONBLANK(Visits[Tertiary Diag],1)然后添加此度量值来标记您的访问行:
[Found]:=MAXX(ALLSELECTED(Diagnoses[Diagnosis]),IF(FIRSTNONBLANK(Diagnoses[Diagnosis],1)=[Diag1]||FIRSTNONBLANK(Diagnoses[Diagnosis],1)=[Diag2]||FIRSTNONBLANK(Diagnoses[Diagnosis],1)=[Diag3],1,BLANK()))这将为您提供以下结果:

编辑:对修订/澄清的需求的响应
我一直在尝试查看是否可以获得一个计算列来考虑诊断选择,但收效甚微。使用度量来实现这一点是相当简单的:
[Diag Flag]:=IF(CALCULATE(COUNTROWS(DiagnosisTable),FIRSTNONBLANK(DiagnosisTable[Diagnosis],1))>0,1)但是,这种方法需要修改所有希望出现在输出摘要中的度量。如果仅仅是访问总次数和停留时间的总和,这并不困难,但如果你需要修改所有50个指标,就没有那么有吸引力了。
以下是访问次数和停留时间的新指标,我在同一张纸上的单独PivotTable中显示了这些指标:
[Cases]:=SUMX('Visits',[Diag Flag])
[LengthSum]:=SUMX('Visits',Visits[Length of Stay]*[Diag Flag])和输出:

注意:我的切片器连接到两个表。
https://stackoverflow.com/questions/31440839
复制相似问题