首页 文章

创建DAX对等度量

提问于
浏览
1

场景:

我们是一家保险经纪公司 . 我们的事实表是索赔指标当前表 . 此表具有多个声明sid-s的唯一行,因此,countrows(声明当前)给出了唯一声明数的正确计数 . 现在,这个表也有clientid和industrysid . 客户与行业之间的关系是,1个行业可以拥有多个客户,1个客户只能属于1个行业 .

现在,让我们考虑一个名为claimlagdays的事实,它以claimid的粒度出现在表中 .

现在,一个要求是,我们需要找出“同行”总和(claimlagdays) . 对于特定客户,这基本上计算为:

客户行业的总和(claimlagdays)被过滤(减去)总和(claimlagdays)为该特定客户 . 我们称之为措施A.

与上面类似,我们需要计算“对等”声明计数,这是针对此特定客户端被过滤(减去)声明计数的客户行业的声明计数 . 我们称这个措施为B.

在最后的计算中,我们需要将A除以B,以得到“对等”平均滞后天数 .

所以基本上,这里的困难部分是:找到正在过滤的特定客户端的行业,然后将此过滤器应用于事实表(声明度量标准当前)以查找总索赔计数/其他度量标准仅这个行业 . 当然,从这个行业数据中减去客户数字以获得“同行”衡量标准 . 必须对每一行执行此操作,保持可以在切片器中应用的任何其他过滤器(日期/业务单位等)完好无损 .

还有一些需要考虑的其他过滤器静态,这些过滤器存在于其他表中,例如“索赔类型”(=赔偿/医疗)和索赔状态(=已关闭) .

我的解决方案:

对于措施B.

我尝试创建一个计算列,如下所示:

Claim Count_WC_MO_Industry=COUNTROWS(FILTER(FILTER('Claim Metrics Current',RELATED('Claim WC'[WC Claim Type])="Medical" && RELATED('Coverage'[Coverage Code])="WC" && RELATED('Claim Status'[Status Code])="CL"),EARLIER('Claim Metrics Current'[IndustrySID])='Claim Metrics Current'[IndustrySID]))

然后我创建了这个措施

Claim Count - WC MO Peer:=CALCULATE(SUM([Claim Count_WC_MO_Industry])/[Claim - Count])- [Claim - Count WC MO]

{我做了一个总和因为,表格模型不直接允许我使用计算列作为度量,没有任何聚合 . 而且,这没有任何意义,因为表格模型不会理解要采取哪一行}

上述措施的第二部分显然是特定客户的索赔计数,具有上述过滤器 .

我的解决方案有问题:

这些数字都是错误的 . 我没有得到客户明智或年度分离的行业数量或同行数量 . 我只得到了衡量标准中所有行业数量的总和 .

我怀疑这是因为正在进行的总和 . 但是,我真的没有选择,是的,因为我不能使用计算列作为没有聚合的度量...

如果您认为此处提供的信息不充分,并且您希望我提供一些数据(假人),请告诉我 . 我很乐意帮忙 .

1 回答

  • 0

    因此,假设您通过前端过滤特定客户端,听起来就像您想要的那样

    ClientLagDays :=
    CALCULATE (
        SUM ( 'Claim Metrics Current'[Lag Days] ),
        Static Filters Here
    )
    

    只是适当客户滞后天数的基本衡量标准,包括静态过滤器 .

    IndustryLagDays :=
    CALCULATE (
        [ClientLagDays],
        ALL ( 'Claim Metrics Current'[Client] ),
        VALUES ( 'Claim Metrics Current'[IndustrySID] )
    )
    

    这将删除客户端上的过滤器,但保留Industry上的过滤器以获得整个行业的延迟天数 .

    PeerLagDays:=[IndustryLagDays]-[ClientLagDays]
    

    直截了当 .

    然后重复索赔计数,然后将 [PeerLagDays] / [PeerClaimCount] 用于 [Average Peer Lag Days] .

相关问题