使用1 / countif进行DAX计算

时间:2017-12-12 19:28:58

标签: excel excel-formula powerpivot dax

我是DAX和Power Pivot的新手,所以我希望我的问题尽可能清楚。

我正在尝试在查询编辑器中将Excel公式复制为DAX。我实际上是一个公式,它将1除以订单数量的计数函数。

例如,如果某人按订单001购买了商品,则count功能将“计算”该订单中的商品数量=1/(COUNTIF($B$2:$B$6000,B2))。在这种情况下,公式将 1/1 。但是如果一个人按顺序002计算两个项目,公式将=1/(COUNTIF($B$2:$B$6000,B3)),它会找到 2个订单002出现的事件。因此,公式将为1/2= 0.5。因此,每个项目代表订单的一半。对于同一订单购买的商品数量相同。

我需要的是将该公式放入DAX,但我不知道如何在查询编辑器中引用单元格。我想这个解决方案不是强制性的,而是使用我还没有想过的表达式,所以我将非常感谢您的知识和解决方案。

感谢您的帮助!

Sample with formula

1 个答案:

答案 0 :(得分:1)

您没有像DAX那样引用单个单元格。您可以使用列和过滤器。

假设您的表名为Sales,要使用DAX执行此操作,您可以按如下方式创建计算列:

Fraction = 1 / 
     CALCULATE(
         COUNT(Sales[Order]), 
         Sales[Order] = EARLIER(Sales[Order])
      ))

这会计算订单ID与当前行匹配的订单数。 (EARLIER函数允许您访问每行的行上下文。)