DAX 表达式(Data Analysis Expressions)
-
DAX表达式的结果应用在数据透视表中
-
DAX表达式的结果作用于整列或者表中所有行
-
还需注意以下几点:
a. 表名用“''”引用。
b. 字段名(列名)用“[]”引用。
c. 要注意函数表达式中参数的数据类型,尤其是要将“表”与“数值”正确区分。
d. 与Excel公式相同,除了直接在编辑器的公式区域输入公式外还可以通过单击公式编辑栏前的“fx”图标启动“插入函数”对话框,在对话框中选择需要的函数使用。
e. 表达式中的函数名不分大小写,比如“ALL”函数也可以记作“all”。
常用表达式及用法
winodds = SWITCH([赢单率],0.25,"L",0.15,"L",0.5,"M",0.75,"H")
SWITCH(表达式, 值1, 结果1, ..., [Else])
根据表达式的值返回不同结果。
有无拖欠款 = RELATED('商机相关企业信息'[有无拖欠还款情况])
RELATED(ColumnName)
从其他表返回相关值。
高赢单率低风险商机金额总值 = CALCULATE(SUM('商机记录'[商机金额(M)]),FILTER('商机记录',[winodds]="H"),FILTER('商机记录',[有无拖欠款]="无"))
CALCULATE(表达式, [筛选器1], ...)
在筛选器修改的上下文中对表表达式进行求值。
SUM(ColumnName)
对某个列中的所有数值求和。
FILTER(表, FilterExpression)
返回已筛选的表。
DAX表达式扩展(基准比)
ALL:(所有的),起忽略作用,忽略指定参数的筛选能力和汇总能力
ALL([TableNameorcolumnName],[ColumnName1]...
返回表中的所有行或列中的所有值,同时忽略可能已应用的任何筛选器.
ALLSELECTED:忽略字段名的汇总能力,但不能忽略筛选能力
ALLSELECTED([TableNameOrColumnName],[ColumnName1]...
返回表中的所有行或列中的所有值,同时忽略可能已应用在查询内的任何筛选器,但保留来自外部的筛选器
(Example)计算各产品与总平均值的差距
所有产品销售总平均值 = 所有产品销售总额 / 所有产品销售总计数
所有产品销售总额 = CALCULATE(SUM('商机记录'[金额($M)]),ALL('产品'[产品]))
所有产品销售总计数 = CALCULATE(DISTINCTCOUNT('商机记录'[产品编号]),ALL('产品'[产品]))
DISTINCTCOUNT(ColumnName)
对列中不同的值的数量进行计数。
* 使用产品编号计数是因为产品编号是唯一不重复字段
所有产品销售总平均值 = [所有产品销售总额]/[所有产品销售总计数]
各产品与总平均值的差距 = [销售金额合计]/[所有产品销售总平均值]
标签:...,Power,商机,所有,BI,产品销售,筛选,DAY,表达式
From: https://www.cnblogs.com/thankcat/p/16930602.html