Power BI DAX 字符串函数

我将向您展示如何使用 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 字符串函数,我们必须使用计算列。要创建列,请单击“主页”选项卡或“模型”选项卡下的“新建列”选项。

DAX String Functions 2

正如您从下面的屏幕截图中看到的,我们将默认列名重命名为 LEN。下面的语句查找“部门名称”列中字符字符串的长度。

LEN = LEN(EmployeeSales[Department Name])

让我将此 DAX LEN 列添加到我们之前创建的表中。请参考“创建 Power BI 表”一文,了解创建表所涉及的步骤。

DAX LEN Function

DAX LEFT 函数

DAX LEFT 函数返回字符串中从左侧开始到指定索引位置的字符。DAX LEFT 函数的语法是

LEFT(string, position)

下面的语句返回“部门名称”列中从左侧开始的 8 个字符。

LEFT = LEFT(EmployeeSales[Department Name], 8)
DAX String left Function

DAX RIGHT 函数

DAX RIGHT 函数返回字符串中从右侧开始到指定索引位置的字符。DAX RIGHT 函数的语法是

RIGHT(string, position)

它返回“部门名称”列中从右侧开始的 6 个字符。

RIGHT = RIGHT(EmployeeSales[Department Name], 6)
DAX String right Function

Power BI DAX LOWER 函数

DAX LOWER 函数将给定的字符字符串转换为小写。DAX LOWER 函数的语法是

LOWER(string)

下面的 DAX LOWER 函数将“部门名称”列转换为小写。

LOWER = LOWER(EmployeeSales[Department Name])
DAX String LOWER Function

DAX UPPER 函数

Power BI DAX UPPER 函数将给定字符串转换为大写。DAX UPPER 函数的语法是

UPPER(string)

下面的 DAX UPPER 函数将“部门名称”列字符串转换为大写。

UPPER = UPPER(EmployeeSales[Department Name])
DAX String UPPER Function

DAX MID 函数

Power BI DAX MID 函数从原始字符串中返回一个子字符串。DAX MID 函数的语法是

MID(string, starting_position, length)

此 DAX MID 函数接受三个参数

  • 起始位置 – 子字符串从此位置开始
  • 长度 – 子字符串的总长度。

它从“部门名称”列中返回一个子字符串。子字符串从位置 4 开始,在字符串长度达到 7 时结束。

MID = MID(EmployeeSales[Department Name], 4, 7)
DAX MID Function

Power BI DAX REPT 函数

Power BI DAX REPT 函数会根据用户指定的次数重复一个字符串。DAX REPT 函数的语法是

REPT(string, no_of_times)

它将“姓氏”列中的数据重复 2 次。

REPT = REPT(EmployeeSales[LastName], 2)
DAX REPT Function to repeat string

DAX SUBSTITUTE 函数

Power BI DAX SUBSTITUTE 函数将字符串替换为用户指定的值或子字符串。此 DAX SUBSTITUTE 函数的语法是

SUBSTITUTE(string, old_string, new_string)

它在“部门名称”列值中将“Software”一词替换为“Web”。

SUBSTITUTE = SUBSTITUTE(EmployeeSales[Department Name], "Software", "Web")
DAX String SUBSTITUTE Function

DAX UNICHAR 函数

Power BI DAX UNICHAR 函数返回给定 ASCII 值的 Unicode 字符。DAX UNICHAR 函数的语法是

UNICHAR(number)

它返回年度收入除以 2 的 Unicode 字符。

UNICHAR = UNICHAR(EmployeeSales[Yearly Income] / 2)
DAX UNICHAR Function

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 EXACT Function

DAX CONCATENATE 函数

Power BI DAX CONCATENATE 函数可用于连接两个字符串。此 DAX CONCATENATE 函数的语法是

CONCATENATE(string1, string2)

下面的 DAX CONCATENATE 函数连接名字和姓氏。

CONCAT = CONCATENATE(EmployeeSales[FirstName], EmployeeSales[LastName])
DAX String CONCATENATE Function

Power BI DAX CONCATENATEX 函数

DAX CONCATENATEX 函数用于使用指定的定界符连接列中的所有行。此 DAX CONCATENATEX 函数的语法是

CONCATENATEX(tableName, ColumnName, Delimiter)

下面的语句使用逗号定界符连接“姓氏”列中的所有行。

CONCATENATEX = CONCATENATEX(EmployeeSales, EmployeeSales[LastName], ",")
DAX CONCATENATEX Function

DAX FIXED 函数

Power BI DAX FIXED 函数可用于将给定数字四舍五入到指定的小数位数,并以文本数据类型返回。DAX FIXED 函数的语法是

FIXED(number, decimals, comma)

下面的 DAX FIXED 函数将销售小数四舍五入到一位小数,并且不允许使用逗号。

FIXED = FIXED(EmployeeSales[Sales], 1, 1)
DAX FIXED Function

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]))
DAX String BLANK Function

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

DAX BLANK Function

Power BI DAX UNICODE 函数

DAX UNICODE 函数返回字符串中第一个字符的 ASCII 值。此 DAX UNICODE 函数的语法是

UNICODE(string)

它返回“姓氏”列中第一个字符的 ASCII 值。

CODE = UNICODE(EmployeeSales[LastName])
DAX UNICODE Function

Power BI DAX COMBINEVALUES 函数

DAX COMBINEVALUES 函数使用指定的定界符组合两个或多个字符串。此 DAX COMBINEVALUES 函数的语法是

COMBINEVALUES(Delimiter, string1, string2,..)

下面的语句使用逗号定界符组合“名字”、“姓氏”和“教育”列。

CONCATENATEX = CONCATENATEX(EmployeeSales, EmployeeSales[LastName], ",")
DAX combinevalues Function

Power BI DAX FORMAT 函数

DAX FORMAT 函数将数字和日期格式化为预定义的格式。DAX FORMAT 函数的语法是

FORMAT(expression, format_type)

下面的 DAX FORMAT 函数将销售额格式化为货币类型。

FORMAT = FORMAT(EmployeeSales[Sales], "Currency")
DAX String FORMAT Function

Power BI DAX VALUE 函数

DAX VALUE 函数将字符串数字转换为数字。DAX VALUE 函数的语法是

VALUE(string)

下面的语句将 Fixed 函数结果中的字符串数字转换为数字。

VALUE = VALUE(EmployeeSales[FIXED])
DAX VALUE Function