如何在Power BI中使用DAX提取整数的首位数字?
用DAX提取整数的首位数字
给你两种直接可用的DAX方案,套用到你的数据里就能得到目标结果:
方法一:字符串转换法
逻辑直白,新手好理解:
首位数字 = INT(LEFT(TEXT('你的表名'[integers], "0"), 1))
- 步骤拆解:
TEXT('你的表名'[integers], "0"):把整数列转成文本格式,避免位数丢失LEFT(..., 1):提取文本的第一个字符(也就是原整数的首位数字)INT(...):把提取到的文本字符转回整数类型
方法二:数学计算法
纯数值运算实现,不用转字符串:
首位数字 = INT('你的表名'[integers] / 10^INT(LOG10('你的表名'[integers])))
- 步骤拆解:
LOG10('你的表名'[integers]):计算整数的对数,结果的整数部分是该数的位数减1(比如8位数的结果是7.x)10^INT(...):得到对应位数的10的幂(比如8位数就是10^7=10000000)- 原数除以这个幂再取整,即可得到首位数字
特殊情况处理
如果整数列包含负数,只需先取绝对值,以数学方法为例:
首位数字 = INT(ABS('你的表名'[integers]) / 10^INT(LOG10(ABS('你的表名'[integers]))))
把公式里的你的表名替换成Power BI中实际的表格名称就行。
内容的提问来源于stack exchange,提问作者Victor Barreto
相关产品推荐
相关产品推荐

