我想在DAX中计算与以下内容不同的内容。
我有一个包含列和示例的orders表:
OrderNumber Customer Vendor OrderTaken OrderDelivery OrderBilling Qty Price
1 1 V1 2018/12/01 2019/01/10 2019/01/10 1 1
2 10 V1 2019/01/04 2019/01/07 2019/01/07 1 1
3 100 V2 2019/01/02 2019/01/04 2019/01/06 1 1
4 100 V2 2019/01/02 2019/07/01 2019/07/01 1 1
( 10 V1 2020/01/04 2020/01/07 2020/01/07 1 1日期格式为yyyy/MM/dd
我想计算一下价格和每个供应商从1月1日到1月10日开单的不同客户数量,以及1月10日之前没有开单的订单数量。
我能够计算价格的总和,一个是开单订单,一个是订单,但我需要计算不同客户的数量,即使有一个订单开单,还有一个还没有开单。
对于我所做的总和:
EVALUATE
SUMMARIZECOLUMNS (
'orders'[vendor],
"Billed", CALCULATE (
SUM ( 'Orders'[Price] ),
'orders'[OrderBilling] >= VALUE ( "01/01/2019" ),
'orders'[OrderBilling] <= VALUE ( "10/01/2019" )
),
"NotBilled", CALCULATE (
SUM ( 'ZBW00001'[CANET(-DATION)] ),
'orders'[OrderBilling] > VALUE ( "20190110" ),
'orders'[OrderTaken] <= VALUE ( "20190110" )
)
)我得到的结果是
供应商向NotBilled V1 2 V2 1 1收费
期望的输出是具有两个时期的不同客户的数量:
'orders'[OrderBilling] >= VALUE ( "01/01/2019" ),
'orders'[OrderBilling] <= VALUE ( "10/01/2019" )
and
'orders'[OrderBilling] > VALUE ( "20190110" ),
'orders'[OrderTaken] <= VALUE ( "20190110" )如果我使用与SUM相同的方法,我将得到
Vendor NbcustomerBilled NbCustomerNotBilled
V1 2
V2 1 1而不同用户的数量将是4,这不是事实,应该是3。
期望输出
Vendor NbCustomerDistinct SumSales
V1 2 2 ( Two customers 1 and 10)
V2 1 2 ( Only one customer 100 )我不知道我怎么才能得到它。如果有人能帮我的话。提前感谢
发布于 2020-01-16 19:37:06
好吧,不确定您想要如何计算SumSales,但我猜您可以通过扩展以下代码来了解如何添加该列:
NewTable =
SUMMARIZE(
'orders';
[vendor];
"NbCustomerDistinct"; DISTINCTCOUNT('orders'[Customer])
/*"SumSales = Add calculation to get SumSales here*/
)发布于 2020-01-20 21:33:23
我找到了一种不确定是不是最好的方法,
EVALUATE
VAR InternalTable =
SUMMARIZECOLUMNS(
'orders'[vendor],
"Total",CALCULATE(SUM('Orders'[Price]),
'orders'[OrderBilling] >= VALUE ( "01/01/2019" ),
'orders'[OrderBilling] <= VALUE ( "10/01/2019" ))
+CALCULATE(SUM('Orders'[Price]]),
'orders'[OrderBilling] > VALUE ( "10/01/2019" ),
'orders'[OrderTaken] <= VALUE ("10/01/2019" ))
)
Return
GROUPBY(
InternalTable,
'orders'[vendor],
"Total_Sales",SUMX(CURRENTGROUP(),[Total]),
"Current_Clients",COUNTX(CURRENTGROUP(),[Total])
)https://stackoverflow.com/questions/59759024
复制相似问题