powerbi - DAX 度量未删除筛选列
问题描述
我有一个名为 Data 的事实表和一个名为 DM_AgeGrouping 的维度表。它们如下所示,并与 RecordID 列相连。
请注意,对于数据表中的 recordID,我在“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
我有一个简单的措施,它对 DM_agegrouping 表中的 Agegroup 的有效记录位求和。如下:
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] 组成的表格视觉对象时。我得到了预期的结果。每个年龄组和有效位组合都存在,并且测量正确地对有效记录位求和。
结果表视觉
当我对“OID”和“FID”使用切片器(如 FID = 36 和 OID = 324)时,我确实得到了如下预期结果,该结果具有正确的 F/O/N 年龄组值。
使用过滤器/切片器(FID = 36 和 OID = 324)
但是当我使用具有上述组合的其他过滤器/切片器时,例如在 1 到 7 之间包含切片器“LengtheOFstay”
我没有得到 N/O 年龄组 DAX 列的预期结果。据我了解,这是由于 AutoExist 功能没有对不同表中的列进行操作并有效地创建交叉连接造成的。
使用过滤器/切片器得到的输出(FID = 36 和 OID = 324 和 1 到 7 之间的“LengtheOFstay”) 如何编写度量以得到以下结果,其中显示正确的 N 和 O 年龄组值?
我发现很多文章解释了这个“功能”,但没有解释如何绕过它。
期望的结果视觉
简单来说,停留时间在 1 到 7 之间,我们有 6 个具有不同 FID 和 OID 的总记录 ID,我需要 N/O 年龄组来为所选的 FID/OID 显示 6 个。
解决方案
推荐阅读
- r - R:xts的并行计算。文件和向量
- c# - 如何在 C# 中使用 REGEX 检查等号字符串
- python - 有没有办法在 django 的 HTML 文件中使用像 {{ ct{{ forloop.counter }} }} 这样的变量?
- arrays - 单击时消失的 JavaFX 按钮数组
- reactjs - 使用materialUI自动完成表单的onSelect属性
- protocol-buffers - 事件驱动微服务:如何将不同类型的 protobuf 消息发送到一个 AWS SNS(流)?
- c++ - 包含另一个地图的对象的C ++地图插入问题
- wix - WIX 条件 SQL 脚本执行不起作用
- c# - C# 创建一个对象并添加到列表中
- sql - 在 PostgreSQL 中加入 4 个表