我正在尝试从未完成的服务请求的总体运行总数中确定不同的客户ID数。
我的表包含以下列:RequestID,CustomerID,OpenDate,ResolvedDate
一个CustomerID可以有多个服务请求。
当前,我已经创建了两个传入请求和已解决请求的运行总计,然后将这两个值相减以获得运行总计“未完成的服务请求”。
Running Total Service Requests:=
CALCULATE (
COUNTA( Requests[RequestID] ),
FILTER (
ALL ( 'Date'[Date] ),
'Date'[Date] <= MAX ( 'Date'[Date] )
)
)
Running Total Resolved Requests:=
CALCULATE (
COUNTA( Requests[ResolveDate] ),
FILTER (
ALL ( 'Date'[Date] ),
'Date'[Date] <= MAX ( 'Date'[Date] )
)
)
Running Total Unresolved:=[Running Total Service Requests]-[Running Total Resolved Requests]
是否有更好的方法?在此“运行总计”的基础上,如何根据之前的测量结果返回唯一客户ID的运行总计?也就是说,在我所有未完成的服务请求中,它包含多少个不同的客户?
答案 0 :(得分:0)
您可以创建一列:
Running Customer Service Requests = CALCULATE(COUNTROWS(Requests),FILTER(EquityMarkets,Requests[CustomerID] = EARLIER(Requests[CustomerID]) && 'Date'[Date] <= MAX ( 'Date'[Date] )))
这将计算每个客户的所有未结请求。您可以为“已解决”做同样的事情。
第二种选择是创建一个带有CustomerID的额外表并在那里进行计数,然后您需要执行Groupby。
CustomerTable= GROUPBY(Requests;Requests[CustomerID], "OpenRequests",COUNTX(CURRENTGROUP(),'Date'[Date] <= MAX ( 'Date'[Date] )))