首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powerpivot一对多筛选器列

Powerpivot一对多筛选器列
EN

Stack Overflow用户
提问于 2015-07-16 04:51:57
回答 1查看 309关注 0票数 0

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

EN

回答 1

Stack Overflow用户

发布于 2015-07-16 16:59:15

对您的数据做一些假设,您可能会有这样的表:

如果您创建一个度量来挑选出每个诊断:

代码语言:javascript
复制
[diag1]:=FIRSTNONBLANK(Visits[Primary Diag],1)
[diag2]:=FIRSTNONBLANK(Visits[Secondary Diag],1)
[diag3]:=FIRSTNONBLANK(Visits[Tertiary Diag],1)

然后添加此度量值来标记您的访问行:

代码语言:javascript
复制
[Found]:=MAXX(ALLSELECTED(Diagnoses[Diagnosis]),IF(FIRSTNONBLANK(Diagnoses[Diagnosis],1)=[Diag1]||FIRSTNONBLANK(Diagnoses[Diagnosis],1)=[Diag2]||FIRSTNONBLANK(Diagnoses[Diagnosis],1)=[Diag3],1,BLANK()))

这将为您提供以下结果:

编辑:对修订/澄清的需求的响应

我一直在尝试查看是否可以获得一个计算列来考虑诊断选择,但收效甚微。使用度量来实现这一点是相当简单的:

代码语言:javascript
复制
[Diag Flag]:=IF(CALCULATE(COUNTROWS(DiagnosisTable),FIRSTNONBLANK(DiagnosisTable[Diagnosis],1))>0,1)

但是,这种方法需要修改所有希望出现在输出摘要中的度量。如果仅仅是访问总次数和停留时间的总和,这并不困难,但如果你需要修改所有50个指标,就没有那么有吸引力了。

以下是访问次数和停留时间的新指标,我在同一张纸上的单独PivotTable中显示了这些指标:

代码语言:javascript
复制
[Cases]:=SUMX('Visits',[Diag Flag])
[LengthSum]:=SUMX('Visits',Visits[Length of Stay]*[Diag Flag])

和输出:

注意:我的切片器连接到两个表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31440839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档