如何用DAX添加列提取另一列首字母?无法使用转换数据
DAX提取首字母并添加列的解决方案
方案1:直接添加计算列(推荐)
如果要在现有表中新增一列提取TEXT列的首字母,直接创建计算列即可,无需复杂逻辑:
LEFT = LEFT('Table'[TEXT], 1)
这个公式会逐行读取TEXT列内容,提取第一个字符,完全匹配你给出的示例效果。
方案2:用ADDCOLUMNS创建新表
如果需要生成包含新列的独立表(而非修改原表),使用ADDCOLUMNS函数:
带首字母的新表 = ADDCOLUMNS( 'Table', // 指定基础表 "LEFT", LEFT('Table'[TEXT], 1) // 定义新增列的名称和计算逻辑 )
执行后会生成一个包含原表所有列,外加LEFT首字母列的新表。
关于你之前代码的问题
你之前写的是度量值,这类公式的作用是返回单个聚合值(比如统计、合并多个值),而ADDCOLUMNS是返回表的函数,把表函数放在度量值里会触发"标量错误"——因为度量值要求返回单个值,不能返回表。你的需求是逐行生成列,所以不需要用那套聚合逻辑,直接用上面两种简单方案即可。
内容的提问来源于stack exchange,提问作者Giulia
相关产品推荐
相关产品推荐

