我将向您展示如何使用 Power BI DAX 字符串函数以及示例。Microsoft Power BI DAX 提供了各种字符串函数,如 LEN、LEFT、RIGHT、LOWER、UPPER、MID、SUBSTITUTE、FORMAT、CONCATENATE、CONCATENATEX、REPT、UNICHAR、VALUES 等。
为了演示这些 Power BI DAX 字符串函数,我们将使用下面显示的数据。正如您所见,此表中共有 15 条记录。

Power BI DAX 字符串函数
以下一系列示例向您展示了 DAX 字符串函数的列表。
DAX LEN 函数
DAX LEN 函数返回给定字符串的长度。此 Power BI DAX LEN 的语法是
LEN(string)
为了在 Power BI 中演示这些 DAX 字符串函数,我们必须使用计算列。要创建列,请单击“主页”选项卡或“模型”选项卡下的“新建列”选项。

正如您从下面的屏幕截图中看到的,我们将默认列名重命名为 LEN。下面的语句查找“部门名称”列中字符字符串的长度。
LEN = LEN(EmployeeSales[Department Name])
让我将此 DAX LEN 列添加到我们之前创建的表中。请参考“创建 Power BI 表”一文,了解创建表所涉及的步骤。

DAX LEFT 函数
DAX LEFT 函数返回字符串中从左侧开始到指定索引位置的字符。DAX LEFT 函数的语法是
LEFT(string, position)
下面的语句返回“部门名称”列中从左侧开始的 8 个字符。
LEFT = LEFT(EmployeeSales[Department Name], 8)

DAX RIGHT 函数
DAX RIGHT 函数返回字符串中从右侧开始到指定索引位置的字符。DAX RIGHT 函数的语法是
RIGHT(string, position)
它返回“部门名称”列中从右侧开始的 6 个字符。
RIGHT = RIGHT(EmployeeSales[Department Name], 6)

Power BI DAX LOWER 函数
DAX LOWER 函数将给定的字符字符串转换为小写。DAX LOWER 函数的语法是
LOWER(string)
下面的 DAX LOWER 函数将“部门名称”列转换为小写。
LOWER = LOWER(EmployeeSales[Department Name])

DAX UPPER 函数
Power BI DAX UPPER 函数将给定字符串转换为大写。DAX UPPER 函数的语法是
UPPER(string)
下面的 DAX UPPER 函数将“部门名称”列字符串转换为大写。
UPPER = UPPER(EmployeeSales[Department Name])

DAX MID 函数
Power BI DAX MID 函数从原始字符串中返回一个子字符串。DAX MID 函数的语法是
MID(string, starting_position, length)
此 DAX MID 函数接受三个参数
- 起始位置 – 子字符串从此位置开始
- 长度 – 子字符串的总长度。
它从“部门名称”列中返回一个子字符串。子字符串从位置 4 开始,在字符串长度达到 7 时结束。
MID = MID(EmployeeSales[Department Name], 4, 7)

Power BI DAX REPT 函数
Power BI DAX REPT 函数会根据用户指定的次数重复一个字符串。DAX REPT 函数的语法是
REPT(string, no_of_times)
它将“姓氏”列中的数据重复 2 次。
REPT = REPT(EmployeeSales[LastName], 2)

DAX SUBSTITUTE 函数
Power BI DAX SUBSTITUTE 函数将字符串替换为用户指定的值或子字符串。此 DAX SUBSTITUTE 函数的语法是
SUBSTITUTE(string, old_string, new_string)
它在“部门名称”列值中将“Software”一词替换为“Web”。
SUBSTITUTE = SUBSTITUTE(EmployeeSales[Department Name], "Software", "Web")

DAX UNICHAR 函数
Power BI DAX UNICHAR 函数返回给定 ASCII 值的 Unicode 字符。DAX UNICHAR 函数的语法是
UNICHAR(number)
它返回年度收入除以 2 的 Unicode 字符。
UNICHAR = UNICHAR(EmployeeSales[Yearly Income] / 2)

Power BI DAX EXACT 函数
DAX EXACT 函数比较两个字符串,如果它们完全相等则返回 true;否则返回 false。此 DAX EXACT 函数的语法是
EXACT(string1, string2)
下面的 DAX EXACT 语句将“部门名称”与“部门名称”的左侧 18 个字符进行比较。
EXACT = EXACT(EmployeeSales[Department Name], LEFT(EmployeeSales[Department Name], 18))

DAX CONCATENATE 函数
Power BI DAX CONCATENATE 函数可用于连接两个字符串。此 DAX CONCATENATE 函数的语法是
CONCATENATE(string1, string2)
下面的 DAX CONCATENATE 函数连接名字和姓氏。
CONCAT = CONCATENATE(EmployeeSales[FirstName], EmployeeSales[LastName])

Power BI DAX CONCATENATEX 函数
DAX CONCATENATEX 函数用于使用指定的定界符连接列中的所有行。此 DAX CONCATENATEX 函数的语法是
CONCATENATEX(tableName, ColumnName, Delimiter)
下面的语句使用逗号定界符连接“姓氏”列中的所有行。
CONCATENATEX = CONCATENATEX(EmployeeSales, EmployeeSales[LastName], ",")

DAX FIXED 函数
Power BI DAX FIXED 函数可用于将给定数字四舍五入到指定的小数位数,并以文本数据类型返回。DAX FIXED 函数的语法是
FIXED(number, decimals, comma)
下面的 DAX FIXED 函数将销售小数四舍五入到一位小数,并且不允许使用逗号。
FIXED = FIXED(EmployeeSales[Sales], 1, 1)

DAX BLANK 函数
Power BI DAX BLANK 函数可用于返回空白。您还可以使用它来检查行是否包含空白。此 DAX BLANK 函数的语法是
BLANK()
下面的 If 语句检查在将“销售额”除以“服务等级”时是否存在空白,如果为 true,则将 Blank 替换为 100。否则,它将返回结果。
BLACNK = IF(DIVIDE(EmployeeSales[Sales], EmployeeSales[Service Grade]) = BLANK(),
100, DIVIDE(EmployeeSales[Sales], EmployeeSales[Service Grade]))

从下面的屏幕截图中,您可以看到结果。

Power BI DAX UNICODE 函数
DAX UNICODE 函数返回字符串中第一个字符的 ASCII 值。此 DAX UNICODE 函数的语法是
UNICODE(string)
它返回“姓氏”列中第一个字符的 ASCII 值。
CODE = UNICODE(EmployeeSales[LastName])

Power BI DAX COMBINEVALUES 函数
DAX COMBINEVALUES 函数使用指定的定界符组合两个或多个字符串。此 DAX COMBINEVALUES 函数的语法是
COMBINEVALUES(Delimiter, string1, string2,..)
下面的语句使用逗号定界符组合“名字”、“姓氏”和“教育”列。
CONCATENATEX = CONCATENATEX(EmployeeSales, EmployeeSales[LastName], ",")

Power BI DAX FORMAT 函数
DAX FORMAT 函数将数字和日期格式化为预定义的格式。DAX FORMAT 函数的语法是
FORMAT(expression, format_type)
下面的 DAX FORMAT 函数将销售额格式化为货币类型。
FORMAT = FORMAT(EmployeeSales[Sales], "Currency")

Power BI DAX VALUE 函数
DAX VALUE 函数将字符串数字转换为数字。DAX VALUE 函数的语法是
VALUE(string)
下面的语句将 Fixed 函数结果中的字符串数字转换为数字。
VALUE = VALUE(EmployeeSales[FIXED])
