Filter 基于计数和存储值的组合计算百分比-幂BI

Filter 基于计数和存储值的组合计算百分比-幂BI,filter,powerbi,dax,measure,Filter,Powerbi,Dax,Measure,我有一个基本表,如下所示: DayNo. Customer AgentsInvolved CallID 0 AAA 1 1858 0 AAA 3 1859 2 AAA 1 1860 0 BBB 2 1862 0 CCC 1

我有一个基本表,如下所示:

 DayNo. Customer    AgentsInvolved  CallID
   0      AAA              1        1858
   0      AAA              3        1859
   2      AAA              1        1860
   0      BBB              2        1862
   0      CCC              1        1863
   0      DDD              3        1864
   9      DDD              1        1865
   9      DDD              4        1866
我需要能够找到只联系过一次,并且只与一名代理通话的%客户。因此,从上述示例中,在4个不同的客户中,只有客户CCC属于这一类别(1个电话,1个代理参与)

因此,期望的结果是:1/4或25%

如何创建功率BI度量来进行此计算?

尝试此度量:

Desired Result =
VAR summarizetable =
    SUMMARIZECOLUMNS (
        'table'[Customer],
        "Calls", COUNT ( 'table'[CallID] ),
        "Agents", SUM ( 'table'[AgentsInvolved] ),
        "Day", SUM ( 'table'[DayNo.] )
    )
RETURN
    COUNTROWS (
        FILTER ( summarizetable, [Calls] = 1 && [Agents] = 1 && [Day] = 0 )
    )
        / COUNTROWS ( summarizetable )
VAR summaryTable
中动态创建的汇总表如下所示:

 DayNo. Customer    AgentsInvolved  CallID
   0      AAA              1        1858
   0      AAA              3        1859
   2      AAA              1        1860
   0      BBB              2        1862
   0      CCC              1        1863
   0      DDD              3        1864
   9      DDD              1        1865
   9      DDD              4        1866

这里有另一种方法:

Measure = 
SUMX(
    VALUES(Table2[Customer]),
    CALCULATE(
        IF(
            DISTINCTCOUNT(Table2[CallID]) = 1 &&
              SUM(Table2[AgentsInvolved]) = 1,
            1,
            0
        ),
    Table2[DayNo.] = 0
    )
) /
DISTINCTCOUNT(Table2[Customer])
如果还要排除分母中的0天行,请将最后一行替换为

CALCULATE(DISTINCTCOUNT(Table2[Customer]), Table2[DayNo.] = 0)

太好了,这是99%。如何筛选SummaryTable以仅包含DayNo.=0?@MarcoVos很好的解决方案!事实上,你是对的,Marco,很抱歉造成了混乱。当扩展到超过300000行和超过100000个独立客户时,这实际上对我来说是不正确的。似乎有2000个独特的客户