我有一个商店出售的单位清单。每行描述日期,订单号,单位数和类别(本例中为A和B)。
如何在数据透视表中使用DAX指标,了解每天A类和B类的订单数量是多少?我曾尝试过以多种方式使用CALCULATE,但我无法找到正确的方法......
在此链接中,我将向您展示示例表1
的屏幕截图数据透视表应显示:
25/05/2016 3 (orders 100, 104 and 105 have units from categories A and B)
26/05/2016 1 (order 200 has units from categories A and B)
由于
答案 0 :(得分:1)
创建一个计算不同OrderNo的度量。只需创建您的数据透视表并使用该度量。您可以为度量使用两个表达式。
Excel 2010:
=COUNTROWS(DISTINCT(TableName[OrderNo]))
Excel 2013 +
=DISTINCTCOUNT(TableName[OrderNo])
使用模型中创建的度量创建数据透视表。将Date
字段拖放到行,将Category
字段拖放到列,将创建的度量拖放到Values
。
你会得到这样的东西:
忽略放置在数据透视表中的标签,我的操作系统语言设置为西班牙语。
更新:根据您的评论,您需要具有A类和B类的不同OrderNo。
使用以下表达式:
=CALCULATE (
COUNTA (TablaName[OrderNo]),
CALCULATETABLE ( VALUES ( TablaName[OrderNo] ), TablaName[Category] = "A" ),
TablaName[Category] = "B"
)
我在考虑使用Excel 2010不支持的交叉功能,但这是获得预期结果的一般方法。
这是从它生成的数据透视表。
希望这就是您所寻找的,如果有帮助请告诉我。
答案 1 :(得分:0)
使用以下公式创建计算列:
= if( CALCULATE(DISTINCTCOUNT(mytable的[类别]),过滤器(所有(MYTABLE),MYTABLE [日期] = EARLIER(mytable的[日期])及;&安培; MYTABLE [OrderNo] = EARLIER(mytable的[OrderNo])),或(MYTABLE [类别] =" A",MYTABLE [类别] =" B&#34)) = 2,真(),假()) 较早的函数比较具有相同日期和orderNo的行。 额外或过滤器仅考虑类别A和B.
这将在类别为A和B的订单上返回true / false。 因为你不能进行常规计数,因为你有多行 为了订购。你需要一个distinctcount。
新措施:
= CALCULATE(DISTINCTCOUNT(mytable的[OrderNo]),MYTABLE [CalcColumn01] =真())