DAX 第九篇:文本函数
Posted ljhdo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DAX 第九篇:文本函数相关的知识,希望对你有一定的参考价值。
DAX中用于处理文本的函数,和其他语言很相似。
一,文本连接
文本连接也可以使用操作符 & 来实现,也可以使用函数CONCATENATE来实现:
CONCATENATE(<text1>, <text2>)
把整个表中的所有行,使用分隔符拼接为一个字符串,返回值是一个字符串,不常用:
CONCATENATEX(<table>, <expression>, [delimiter])
按照分隔符,对多个字符串进行连接,返回一个字符串:
COMBINEVALUES(<delimiter>, <expression>, <expression>[, <expression>]…)
例如,对DimDate表中每一行,把字段MonthName和CalendarYear以分隔符","组合在一起:
DISTINCT(SELECTCOLUMNS(DimDate, "Month", COMBINEVALUES(",", [MonthName], [CalendarYear])))
二,文本比较
比较两个文本是否相同,返回True或False
EXACT(<text1>,<text2>)
三,文本查找
FIND函数是大小写敏感的,用于从within_text中查找find_text,如果存在该文本,返回第一次匹配的字符串首字符的位置;如果没有查找到,那么返回NotFoundValue指定的值,或者BLANK()。
FIND(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])
FIND函数不支持通配符,SEARCH函数支持通配符查找,但是SEARCH不区分大小写,但是区分重音。
SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])
四,格式化文本
FIXED 用于把数字舍入到指定的小数位数,并把结果转换为文本返回,如果把no_commas设置为1,在结果中不显式逗号;如果设置为0,或者忽略,在结果中显式逗号。
FIXED(<number>, <decimals>, <no_commas>)
FORMAT函数用于格式化文本,用于把日期和数值类型显式为特定格式的文本:
FORMAT(<value>, <format_string>)
五,截取子串
从文本指定的开始位置和结束位置处截取子串
LEFT(<text>, <num_chars>) RIGHT(<text>, <num_chars>) MID(<text>, <start_num>, <num_chars>)
六,替换字符串
把old_text中从start_num开始的num_chars个字符替换为new_text:
REPLACE(<old_text>, <start_num>, <num_chars>, <new_text>)
从文本中把old_text替换为new_text,替换的次数由参数instance_num决定:
SUBSTITUTE(<text>, <old_text>, <new_text>, <instance_num>)
七,其他字符串函数
- LOWER(<text>) :转换为小写
- UPPER (<text>) :转换位大写
- TRIM(<text>) :移除文本两端的空格
- REPT(<text>, <num_times>):把文本重复num_times次
- CODE(text) :把文本的首字符转换位ASCII编码
- UNICHAR(number):把数字转换为Unicode
- LEN(<text>):文本的长度
- VALUE(<text>):把文本格式的数字转换位数值类型
参考文档:
以上是关于DAX 第九篇:文本函数的主要内容,如果未能解决你的问题,请参考以下文章