Powerbi TOPN DAX函数提供所有项目,而不是前三名员工的姓名
我正在创建一个报告,其中有一个表,其中应显示前3名员工的姓名,并根据其销售金额显示相应的销售金额 当单独使用TOPN时,我以新表的形式获得正确的输出。但它没有销售金额。但是,当TOPN与CALCULATE函数一起使用时,我会得到所有员工的姓名,这是不正确的 工作正常但只有一列的DAX查询:Powerbi TOPN DAX函数提供所有项目,而不是前三名员工的姓名,powerbi,dax,Powerbi,Dax,我正在创建一个报告,其中有一个表,其中应显示前3名员工的姓名,并根据其销售金额显示相应的销售金额 当单独使用TOPN时,我以新表的形式获得正确的输出。但它没有销售金额。但是,当TOPN与CALCULATE函数一起使用时,我会得到所有员工的姓名,这是不正确的 工作正常但只有一列的DAX查询: TOPN(3,values(Sale[Employee Name]),CALCULATE(sum(Sale[Total Excluding Tax]))) DAX Measure不过滤前三行: TopN =
TOPN(3,values(Sale[Employee Name]),CALCULATE(sum(Sale[Total Excluding Tax])))
DAX Measure不过滤前三行:
TopN = CALCULATE(SUM(Sale[Total Excluding Tax]),TOPN(3,values(Sale[Employee Name]),CALCULATE(sum(Sale[Total Excluding Tax]))))
我哪里出错了,请告诉我。两个查询的屏幕截图如下:
由于您的第一个DAX查询正在运行:
TOPN(3,values(Sale[Employee Name]),CALCULATE(sum(Sale[Total Excluding Tax])))
创建一个简单的求和度量值并将其作为另一列添加到TOPN旁边,怎么样
Sum sales = SUM(Sale[Total Excluding Tax])
它应该可以工作,因为您的TOPN计算正确。还是我误解了这个问题?是的,你答对了。但是,如果单独使用TOPN,它会创建一个单独的表,我不想创建不必要的表。另外,我想知道为什么TOPN和calculate不起作用,我明白。我在创建计算表时主要使用TOPN,所以我恐怕不知道如何使用TOPN进行计算。我确实有一个小的解决办法,我以前用过。使用RANKX过滤结果如何?这样:
Top N 3 Total sales only=IF(RANKX(ALL(sales);[Sum X of Total sales])>4;[Sum X of Total sales])
这样你就可以有一个表,显示所有员工,但只对前三名的值求和。使用的SUMX度量值只是所需表和列的SUMX。感谢RankX方法的有效性。当在计算函数中使用TopN函数时,它会计算TopN数字,但不会填充列表。兰克斯负责这项工作。。谢谢你的时间和努力。。