powerbi - Power BI DAX 公式 DISTINCT 不考虑当前筛选器上下文
问题描述
为了简单地解释我的问题,我创建了这个超级简单的数据集:
- 一个名为“dDates”的日期表,其中包含 2021 年的所有日期;
- 一个名为“fSales”的事实表,其中包含 2021 年销售的 3 种产品以及相应的销售日期;
- 我的日期表和我的事实表之间的一对多关系。
该方案可以在下面看到。
然后首先检查日期表中的过滤是否正确传播到事实表,我去了画布并:
- 添加了带有“dDates”表的“日期”列的切片器;
- 创建了一个名为“Rows Visible”的新度量,仅使用以下公式计算“fSales”表中可见的行数:COUNTROWS('fSales')。
结果与预期的一样,如下所示。这意味着,如果我选择切片器,COUNTROWS 公式将返回 1、2 或 3(即“fSales”表中可见的行数)。
展望未来,我现在需要在 DAX 中创建一个虚拟表,我的出发点是获取一列,其中包含在“fSales”表中可见的已售不同产品。
虚拟表创建公式为: Distinc Products Sold = DISTINCT(fSales[Product Sold])
您可以在下图中看到结果。
问题是 DISTINCT 公式似乎不尊重当前的过滤器上下文。我的意思是,无论切片机上的日期选择如何,这三种产品总是显示在虚拟表中。
例如,如果切片器日期选择是从 2021 年 1 月到 2021 年 3 月,这意味着 fSales 表中只有 1 行可见,因此该列的 DISTINC 应该只返回 1 个产品。
我错过了什么?我没有看到的问题在哪里?谢谢你。
解决方案
推荐阅读
- c++ - std 库等价于 boost::upgrade_lock 和 boost::upgrade_to_unique_lock
- asp.net-mvc - 你调用的对象是空的。发送数据时出现异常哟通过viewmodel查看
- c++ - lambda捕获中的值变成了常量?
- apache-spark - 根据列值加入
- c++ - 如何包含两次具有静态变量定义的标题?
- javascript - 在所有页面中显示搜索查询结果
- cllocationmanager - CLLocationManager 有时会在 iOS 13 上提供错误的坐标
- c++ - 在OOP的构造函数中将字符串输入作为参数
- java - 如何从 json 属性中移动值,向上一级(java)
- bash - 为什么在命令输出和重定向字符之间放置一个空格会导致错误?