根据计数和存储值的组合计算百分比 - Power BI

Calculate % based on a combination of count and stored values - Power BI

我有一个基本的 table,看起来像这样:

 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

我需要能够找到只联系过一次并且只与 1 个代理交谈过的客户的百分比。因此,从上面的例子来看,在 4 个不同的客户中,只有客户 CCC 属于这一类(1 个呼叫,1 个 AgentInvolved)

所以期望的结果是:1/4 或 25%

如何创建 Power 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 summarizetable 中即时创建的摘要 table 如下所示:

这是另一种方法:

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)
Desired Result =
       VAR summarizetable = 
           SUMMARIZECOLUMNS (
               'table'[AgentsInvolved],
               'table'[DayNo.],
               'table'[Customer],
               "Calls", COUNT ( 'table'[CallID] )
        )
       )
    RETURN
COUNTROWS (
    FILTER ( summarizetable, [Calls] = 1 && 'table'[AgentsInvolved] = 1 && 'table'[DayNo.] = 0 )
) / DISTINCTCOUNT ( 'table'[Customer])