DAX-使用两种计算的RANKX-
我有一个包含供应商交易记录的数据表。每行数据代表一个事务。每个交易记录都包含一个“数量”列和一个“供应商”列 我需要根据交易数量(每个唯一供应商的行数)对这些供应商进行排名,然后根据每个供应商所有交易的“数量”之和对其进行排名。这需要一个排名公式,而不是两个单独的排名。这将有助于打破我排名中的任何联系 我尝试了几十种公式和方法,但似乎都做不好 请参见以下示例: 供应商ABC和EFG各有4笔交易,因此他们将有效地联系在一起,排名1。然而,ABC的数量为30,EFG的数量为25,因此ABC应排名1,EFG应排名2 有人能帮忙吗DAX-使用两种计算的RANKX-,dax,powerpivot,Dax,Powerpivot,我有一个包含供应商交易记录的数据表。每行数据代表一个事务。每个交易记录都包含一个“数量”列和一个“供应商”列 我需要根据交易数量(每个唯一供应商的行数)对这些供应商进行排名,然后根据每个供应商所有交易的“数量”之和对其进行排名。这需要一个排名公式,而不是两个单独的排名。这将有助于打破我排名中的任何联系 我尝试了几十种公式和方法,但似乎都做不好 请参见以下示例: 供应商ABC和EFG各有4笔交易,因此他们将有效地联系在一起,排名1。然而,ABC的数量为30,EFG的数量为25,因此ABC应排名1,
欢迎来到SO。可以创建新的计算列-
Rank =
var SumTable = SUMMARIZE(tbl, tbl[Supplier], "CountTransactions", COUNT(tbl[Transaction Number]), "SumQuantity", SUM(tbl[Quantity]))
var ThisSupplier = tbl[Supplier]
var ThisTransactions = SUMX(FILTER(SumTable, [Supplier] = ThisSupplier), [CountTransactions])
var ThisQuantity = SUMX(FILTER(SumTable, [Supplier] = ThisSupplier), [SumQuantity])
var ThisRank =
FILTER(SumTable,
[CountTransactions] >= ThisTransactions &&
[SumQuantity] >= ThisQuantity)
return
COUNTROWS(ThisRank)
这是最终结果-
我很好奇是否有人发布了替代方案。同时,试一下我的,让我知道它是否像预期的那样工作。工作得很好。非常感谢你。现在我知道我可以在许多其他工具/报告中使用它。非常欢迎您,我很高兴它对您有用。请随意投票/将答案标记为正确答案-有关更多信息,请参阅。