DAX Studio自动生成度量值
需求:
-
求既含商业险又含交强险的车架号不重复计数
-
求只含商业险车架号不重复计数,不含交强险
-
求只含交强险车架号不重复计数,不含商业险
表格:
车架号 | 保险类别 |
---|---|
1001 | 商业险 |
1001 | 交强险 |
1002 | 商业险 |
1003 | 交强险 |
1003 | 商业险 |
1004 | 交强险 |
1004 | 商业险 |
1005 | 交强险 |
步骤如下:
第一步:同车架号的不同险种合并
合并函数使用CONCATENATEX,创建度量值:
商业&交强=CONCATENATEX(VALUES(测试表[保险类别],[保险类别],",")
第二步:生成表的表达式
打开外部工具->DAX Studio-> Query Builder,将测试表表中的车架号,商业&交强 度量值移至Query Builder编辑框中,点击Update,生成:
EVALUATE
SUMMARIZECOLUMNS(
'测试表'[车架号],
"商业&交强", [商业&交强]
)
ORDERBY
提取关键度量值:
SUMMARIZECOLUMNS( '测试表'[车架号], "商业&交强", [商业&交强] )
第三步:以车架号分组的车架号险种表结果展示
选中代码,点击Run,在Results页面显示结果
第四步:创建商业交强险度量值
在Power BI desktop中使用CALCULATE+DISTINCTCOUNT+ FILTER
,以第三步的中间表作为表筛选器,使用FILTER筛选险种,DISTINCTCOUNT
进行非重复计数,如图:
商业交强险=CALCULATE(
DISTINCTCOUNT('测试表'[车架号]),
FILTER(SUMMARIZECOLUMNS(
测试表'[车架号]',
"商业&交强",CONCATENATEX(VALUES('测试表'[保险类别]),[保险类别],",")//[商业&交强]
),
[商业&交强]-"商业险,交强险"
)
)
第五步:创建商业险度量值和交强险度量值
复制第四步的商业交强险度量值,只修改列参数,得到商业险度量值 和交强险度量值
商业险=CALCULATE(
DISTINCTCOUNT('测试表'[车架号]),
FILTER(SUMMARIZECOLUMNS(
'测试表'[车架号],
"商业&交强",CONCATENATEX(VALUES('测试表'[保险类别]),[保险类别],",")//[商业&交强]
),
[商业&交强]="商业险"
)
)
交强险 = CALCULATE(
DISTINCTCOUNT('测试表'[车架号]),
FILTER(SUMMARIZECOLUMNS(
'测试表'[车架号],
"商业&交强",CONCATENATEX(VALUES('测试表'[保险类别]),[保险类别],",")
),
[商业&交强]="交强险"
)
)
第六步:使用矩阵,度量值行上显示
将商业交强险度量值,商业险度量值,交强险度量值置于矩阵的值中,打开在行上显示,得到需求结果,如图:
通过以上步骤,可以看到我们使用DAX Studio可以以可视化的形式,自动生成关键度量值。
好的,今天的讲解就到这里。本期内容相对容易。如果在学习过程中需要帮助,欢迎查看作者简介沟通,精彩内容,敬请期待。