将Excel公式转换为PowerBI的DAX公式以生成行键
将Excel键生成公式转换为PowerBI DAX公式
函数映射对应关系
先明确Excel与DAX的核心函数替换逻辑:
- Excel
LENGTH()→ DAXLEN():返回文本字符串的长度 - Excel
SEARCH()→ DAXSEARCH():查找指定文本在目标字符串中的起始位置(不区分大小写;如需区分大小写用FIND()) - Excel
EXTRACT()→ DAXMID():从字符串的指定位置开始,提取指定长度的文本 - Excel
CONCAT()→ DAX 直接用&运算符连接文本(比CONCATENATE()更灵活,支持多元素连续拼接)
完整DAX计算列公式
在PowerBI中新建计算列,使用以下代码生成Key1:
Key1 = VAR SpacePosition = SEARCH(" ", [Nombre Institución Educativa], 1, 0) // 处理无空格场景,默认返回0避免报错 RETURN IF(LEN([Loc.])=1, "0", "") & [Loc.] & IF(SpacePosition > 0, MID([Nombre Institución Educativa], SpacePosition + 1, 3), "") & RIGHT([DANE 12], 5) & "-" & IF(LEN([Sitio de Entrega])=1, "0", "") & [Sitio de Entrega]
关键细节说明
- 错误处理:用
SEARCH的第4个参数(默认值0)处理Nombre Institución Educativa中没有空格的情况,避免公式返回错误值 - 效率优化:定义
SpacePosition变量,避免重复执行SEARCH计算,提升公式运行效率 - 列名规则:DAX中包含空格的列名必须用
[列名]包裹,确保公式能正确识别目标列
内容的提问来源于stack exchange,提问作者Julian Doncel Morales
相关产品推荐
相关产品推荐

