新手上路必备的 DAX 函数(下)
各位读者大家好~今天为大家带来的是新手上路必备的DAX函数下篇。
上篇链接☞ 新手上路必备的DAX函数 (上)
让我们整理好思路继续学习吧!
三 、统计函数
统计函数是最常用的函数,同时也是最复杂的函数,为数据分析提供非常强力的工具。同时,在使用统计函数时,必须考虑到数据模型,表之间关系,数据重复等因素,一般都会搭配过滤函数实现数据的提取和分析。
1:求和函数
SUM(<列名>)
和
SUMX(<Table>,<expression>)
函数是两兄弟,SUM()函数在单个数据列上运行,没有行的概念;而SUMX()可以通过表达式来计算复杂的求和。例如:
总销售额SUMX = SUMX(销售表,销售表[数量] *销售表[单位价格])
2:计数函数
计算函数分为:COUNTX和COUNTAX,COUNTX只统计数值,忽略空值(blank),date,逻辑值或文本值;COUNTAX函数统计非空值(blank),包含数值,date,逻辑值或文本值。
COUNTX(<table>,<expression>)
COUNTAX(<table>,<expression>)
3:唯一值计数
统计列的唯一值计数,参数是表列,允许是任意数据类型,当找不到任何数据行时,返回BLANK,否则,统计唯一值的数量。
DISTINCTCOUNT(<column>)
4:分组聚合函数
DAX 中功能最强大的函数,对相互关联的Table按照特定的字段,分组聚合,由于分组列是唯一的,通过SUMMARIZE函数,可以获得多列的唯一值。
SUMMARIZE(<table>,<groupBy_columnName>[, <groupBy_columnName>]…[, <name>,<expression>]…)
示例:
对数据表 “交易明细” ,按照字段 ‘日历’[年] 和 ‘业态’[业态分类]分组,计算 SUM(‘交易明细’[交易金额])和 SUM(‘交易明细’[交易件数]) 。
SUMMARIZE(“交易明细”
, ‘日历’[年]
, 业态[业态分类]
, "销售额", SUM(“交易明细”[交易金额])
, "销售件数", SUM“交易明细”[交易件数])
)
分组聚合函数,能够利用关系,引用相关表的字段,也就是说,SUMMARIZE函数能够对有关系的表执行连接(Join)运算,计算笛卡尔乘积,对Join的结果集执行分组聚合。
分组聚合函数常用于创建新表。
四 、文本函数
1 : 格式函数
按照指定的格式把值转换成文本
FORMAT(<value>,<format_string>)
2 : 空值
在DAX中,空值(Blank)和数据库的NULL值是相同的,通过函数ISBLANK(value)判断当前的字段值是否是空值。
BLANK( )
ISBLANK(<value>)
3 : 查找函数
在一段文本中查找字符串时,从左向右读取文本,查找函数返回第一次匹配的字符的序号,序号从1开始,依次递增。SEARCH函数不区分大小写,而FIND函数区分大小写。
FIND(<find_text>,<within_text>[, [<start_num>]
[, <NotFoundValue>]])
SEARCH(<find_text>,<within_text>[, [<start_num>]
[, <NotFoundValue>]])
参数 NotFoundValue 是可选的,当查找不到匹配的子串时,返回该参数的值,一般设置为0,-1或BLANK()。
4 : 拼接函数
把表中的数据按照指定的分隔符拼接成字符串
CONCATENATEX(<table>,
<expression>,[delimiter])
五 、逻辑函数
1:逻辑判断函数
最常用的IF,使用方法和Excel相同。
IF(logical_test>,<value_if_true>,<value_if_false>)
2:布尔值函数
TRUE( )
FALSE( )
通常用于表示数据库的bit类型的值。
3 : 错误函数
如果表达式返回错误,返回value_if_error;如果表达式不返回错误,返回表达式的值。
IFERROR(expression, value_if_error)
错误函数等价于:
IFERROR(A,B) := IF(ISERROR(A), B, A)
常用的函数基本上就是这些,如何正确的理解表间关系与指标逻辑,是正确使用DAX函数的关键。
希望大家能够在PowerBI的学习路上少走弯路,精益求精!
下期再见!
- PowerPivot工坊原创文章,转载请注明出处!
Power Pivot工坊
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)