DAX表达式
DAX表达式:Power Pivot的特有函数集
1. DAX表达式的结果应用在数据透视表中
2. DAX表达式的结果作用于整列或者表中所有行
3. 还需注意以下几点:
a. 表名用“''”引用。
b. 字段名(列名)用“[]”引用。
c. 要注意函数表达式中参数的数据类型,尤其是要将“表”与“数值”正确区分。
d. 与Excel公式相同,除了直接在编辑器的公式区域输入公式外还可以通过单击公式编辑栏前
的“fx”图标启动“插入函数”对话框,在对话框中选择需要的函数使用。
e. 表达式中的函数名不分大小写,比如“ALL”函数也可以记作“all”。
相关参考网站:
https://msdn.microsoft.com/zh-cn/library/ee634365(v=sql.105).aspx
https://msdn.microsoft.com/zh-cn/library/vs/alm/hh272053
DAX表达式练习
问题:用数据透视表求出每名销售人员手中高赢单率低风险商机金额占总商机金额的百分比
(高赢单率:赢单率=0.75 / 低风险:有无拖欠还款情况=“无”)
制作步骤:
1. 关联商机记录与商机相关企业信息表
2. 使用switch函数将赢单率中的数值描述替换为文字描述(0.15=>低、0.25=>低、0.5=>中、
0.75=>高)
switch(表达式,值1,结果1,值2,结果2...其他情况结果)
- Winods = SWITCH('商机记录'[赢单率],0.15,"L",0.25,"L",0.5,"M",0.75,"H","-")
3. 使用related函数将商机相关企业信息表中的有无拖欠还款情况字段内容合并到商机记录表
中来
related(合并字段)
- 有无拖欠情况 = related('商机相关企业信息'[有无拖欠还款情况])
4. 使用calculate与filter函数的嵌套函数创建高赢单率低风险商机金额加总值
filter(表,筛选条件)
calculate(计算规则,条件1,条件2...)
- 高赢单率低风险商机金额加总值 = CALCULATE(sum('商机记录'[商机金额(M)]),FILTER('商机记录','商机记录'[Winods]="H"),FILTER('商机记录','商机记录'[有无拖欠情况]="无"))
- 商机金额合计 = SUM('商机记录'[商机金额(M)])
5. 用高赢单率低风险商机金额加总值/商机金额加总值求出高赢单率低风险金额百分比
- 高赢单率低风险金额百分比 = '度量表'[高赢单率低风险商机金额加总值]/'度量表'[商机金额合计]
6. 创建行标签为销售人员,值为高赢单率低风险商机金额百分比的数据透视表

本文通过DAX表达式进行数据处理,包括使用SWITCH函数转换赢单率的文字描述,用RELATED函数整合商机相关企业信息,以及利用CALCULATE与FILTER嵌套计算高赢单率低风险商机的金额总和及其占比,从而实现更深入的汇总分析。

7409

被折叠的 条评论
为什么被折叠?



