我正在尝试使用DAX执行此操作,无法获得正确的不同计数...
AccountID OrderDate Product SalesAmount DiscountAmount
1023 Nov-14 Product001 $0 $5.00
1045 Nov-14 Product001 $30.00 $10.00
1023 Nov-14 Product002 $1.00 $0
1089 Nov-14 Product001 $0 $5.00
2045 Nov-14 Product001 $50.00 $25.00
1045 Nov-14 Product001 $(30.00) $0
Q1。我如何计算总销售额为0美元的不同客户(答案是2,1045,1089) - 请参阅此处我想忽略1023,因为该帐户的总销售额是不是0美元。
我尝试制作一项措施:
TotalCustomers:=CALCULATE(DISTINCTCOUNT(Table1[AccountID]), 'Table1')
然后补充说:
ZeroCustomers:=CALCULATE([TotalCustomers], FILTER('Table1', [Sum of SalesAmount]<>0))
但是帐户1023被计算在内,而ZeroCutomers
我得到了'3'Q2。如何为总销售额为0美元(答案15美元)的客户添加DiscountAmount
这是对Q1的延伸 - 一旦我弄清楚Q1 - 我可能会想出这个。
我的另一个选择是创建一个已经由AccountID汇总的新表 - 但之后我将无法使用切片器,因为我仍然想要切片,比如说Product和其他Dimensions。
任何帮助将不胜感激!
谢谢!
答案 0 :(得分:0)
我可能已经弄明白了:
<强> Q1 强>
ZeroCustomers:=COUNTROWS (
FILTER (
ADDCOLUMNS (
VALUES ( Table1[AccountID] ),
"TotalSalesAmount", CALCULATE ( SUM ( [SalesAmount] ) )
),
[TotalSalesAmount] = 0
)
)
<强> Q2 强>
ZeroCustomerDiscount:=CALCULATE(SUM([DiscountAmount]),
FILTER (
ADDCOLUMNS (
VALUES ( Table1[AccountID] ),
"TotalSalesAmount", CALCULATE ( SUM ( [SalesAmount] ) )
),
[TotalSalesAmount] = 0
)
)
如果你有更好的方法来完成同样的事情,请发表评论/回复。 希望这有助于其他人!
答案 1 :(得分:0)
怎么样:
ZeroCustomers:=CALCULATE(DISTINCTCOUNT(Table1[AccountID]), ALL(Table1), [Sum of SalesAmount]<>0))
ZeroCustomersDiscount:=CALCULATE(SUM([DiscountAmount]), ALL(Table1), [Sum of SalesAmount]<>0))
我认为由于DAX如何处理过滤器和分组,您之前的尝试无效。我希望我能给你一个更详细的解释,但我还在学习。