微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DAX 度量不会删除过滤器列

如何解决DAX 度量不会删除过滤器列

我有一个名为 Data 的事实表和一个名为 DM_AgeGrouping 的维度表。这些内容如下所示,并与 RecordID 列相连。

请注意,我在数据表中的记录ID的“DM_AgeGrouping”中只包含了2条记录

DM_AgeGrouping

RecordID    FID  OID    AgeGrouping ValidrecordBit
12          36   324       3-5             1
12          36   324       6-11            0
12          34   324       12-14           0
12          35   324       15-19           0
12          36   324       20-29           0
13          36   324       3-5             0
13          36   324       6-11            1
13          34   324       12-14           0
13          35   324       15-19           0
13          36   324       20-29           0

数据

enter image description here

我有一个简单的措施,可以将 DM_agegrouping 表中年龄组的有效记录位求和。如下:

AgeGroup = CALculaTE(sum(DM_AgeGrouping[ValidrecordBit]))
OageGroup = CALculaTE(sum(DM_AgeGrouping[ValidrecordBit]),ALL(Data[FID]))
NageGroup = CALculaTE(sum(DM_AgeGrouping[ValidrecordBit]),ALL(Data[FID],Data[OID]))

当我创建一个由 [AgeGrouping]、[Agegroup]、[Oagegroup]、[Nagegroup] 组成的表格视觉对象时。我得到了预期的结果。每个年龄组和有效位组合都存在,并且度量正确地将有效记录位相加。

结果表可视化

enter image description here

当我将切片器用于“OID”和“FID”(如 FID = 36 和 OID = 324)时,我确实得到如下预期结果,其中 F/O/N 年龄组的值是正确的。

带过滤器/切片器(FID = 36 和 OID = 324)

enter image description here

但是当我使用具有上述组合的其他过滤器/切片器时,例如在 1 到 7 之间包含切片器“LengtheOFstay”

我没有得到 N/O 年龄组 DAX 列的预期结果。据我了解,这是由于 AutoExist 功能未对不同表中的列进行操作并有效地创建交叉联接所致。

使用过滤器/切片器获得的输出(FID = 36 和 OID = 324 以及 1 到 7 之间的“LengtheOFstay”)

enter image description here

我如何编写度量以获得以下显示正确 N 和 O 年龄组值的结果?

我找到了很多解释这个“功能”的文章,但没有解释如何绕过它。

期望的结果视觉

enter image description here

简单来说,停留时间在 1 到 7 之间,我们总共有 6 个不同 FID 和 OID 的记录 ID,我需要 N/O 年龄组来显示所选 FID/OID 的 6。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。