Powerbi 如何创建基于id过滤代码的power bi度量
我有一个表,它有多个相同的代码,每个代码可以有不同的id,如下所示Powerbi 如何创建基于id过滤代码的power bi度量,powerbi,dax,measure,Powerbi,Dax,Measure,我有一个表,它有多个相同的代码,每个代码可以有不同的id,如下所示 Code | ID 45 | 2 45 | 5 45 | 8 45 | 7 21 | 1 21 | 9 我想对没有和ID为2或8的代码进行计数。然而,例如,因为45的代码和id为2或8,我想忽略该代码,只给我21的代码,这将是一个1计数 我试过了 Unsuccessful = CALCULATE(DISTINCTCOUNT('Table'[code]), FILTER('Table', NOT('Tab
Code | ID
45 | 2
45 | 5
45 | 8
45 | 7
21 | 1
21 | 9
我想对没有和ID为2或8的代码进行计数。然而,例如,因为45的代码和id为2或8,我想忽略该代码,只给我21的代码,这将是一个1计数
我试过了
Unsuccessful = CALCULATE(DISTINCTCOUNT('Table'[code]), FILTER('Table', NOT('Table'[ID] in {2,8})))
但是上面给出了2的计数,当我希望它是1时。如果已经有2个或8个代码存在,我如何忽略该代码?您的代码几乎是正确的:
Unsuccessful = CALCULATE(DISTINCTCOUNT('Tables'[code]),FILTER('Tables', NOT(CALCULATETABLE(VALUES('Tables'[Code]), ('Tables'[ID] in {2,8})))))
内部部分返回我们要排除的代码
CALCULATETABLE(VALUES('Tables'[Code]), ('Tables'[ID] in {2,8})
首先考虑内部部分。CALCULATETABLE(根据第二个参数中的过滤器从第一个参数为我们生成表)。VALUES('Table'[Code])->从列中生成了不同的值列表,因为沿袭它记住了源代码(更多信息:此处)。这部分返回我们找到的ID为2或8的代码(在本例中代码=45)
当我们有一个要排除的代码列表时,一切都很简单。我们只是把过滤器放在里面。FILTER的第一个参数是我们的基表,第二个参数是FILTER自身。在这里,我们将表作为一个过滤器,由于沿袭,引擎“知道”数据之间的关系
我尝试了您的问题,增加了数据量,结果与您的预期一致,如果有帮助,请接受:) 这是原始数据的表格 我应用此度量来计算包含2或8的不同期望值:
Measure 2 = CALCULATE(DISTINCTCOUNT(Sheet1[Code]),FILTER(Sheet1,Sheet1[ID] = 2 || Sheet1[ID] = 8))
记分卡结果
我现在尝试了,但它仍然给了我相同的2计数。我将您的样本数据复制到我的测试模型中,得到了预期的结果。您如何使用此度量?@scott此DAX公式运行良好,请再次交叉检查您的DAX。用户msta42a你能解释一下这个公式吗?请检查我更新的答案