You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Smart Narrative中对数值舍入并转换为百万级格式?

在Power BI Smart Narrative中实现数值舍入并格式化为M单位的方法

没问题!针对你需要把10,111,238、1,289,652这类大数值转换成10M、1.3M格式的需求,在Smart Narrative里有几种实用的实现方式:

  • 方法一:修改源字段的自定义格式(最简便)
    直接给数据源里的数值字段设置自定义格式,Smart Narrative会自动沿用这个格式:

    1. 找到你用到的数值字段,右键选择「格式」
    2. 在右侧格式面板中切换到「自定义格式」,输入对应的格式代码:
      • 要保留1位小数并显示M:#,##0,,.0"M"
      • 不需要小数直接取整:#,##0,,"M"
    3. 设置完成后,Smart Narrative中引用该字段时,就会自动显示成你想要的10M、1.3M样式啦
  • 方法二:在Smart Narrative中插入DAX表达式(灵活定制)
    如果不想改动原字段的格式,可以直接在组件内用DAX计算并格式化:

    1. 点击Smart Narrative组件右上角的「插入」→「DAX表达式」
    2. 输入类似下面的DAX公式(记得替换成你的表名和字段名):
      FORMAT( SUM('你的数据表'[目标数值字段]), "#,##0,,.0\"M\"" )
      

    这个公式会自动把数值除以100万,四舍五入保留1位小数后加上M单位,完美匹配你的需求

  • 方法三:利用编辑叙事功能调整格式
    如果你已经生成了叙事内容,也可以直接编辑数值的格式:

    1. 点击组件右上角的「编辑叙事」按钮进入编辑界面
    2. 选中需要调整的数值文本,点击右侧的「格式」选项
    3. 在数字格式设置里选择「自定义」,输入和方法一相同的格式代码即可

如果你需要更灵活的单位切换(比如数值小的时候用K,大的时候用B),可以用进阶的DAX逻辑:

VAR TotalValue = SUM('你的数据表'[目标数值字段])
RETURN
    SWITCH(
        TRUE(),
        TotalValue >= 1000000000, FORMAT(TotalValue/1000000000, "#,##0.0\"B\""),
        TotalValue >= 1000000, FORMAT(TotalValue/1000000, "#,##0.0\"M\""),
        TotalValue >= 1000, FORMAT(TotalValue/1000, "#,##0.0\"K\""),
        FORMAT(TotalValue, "#,##0")
    )

这些方法都能帮你实现想要的数值格式化效果,优先推荐方法一,操作起来最省心~

内容的提问来源于stack exchange,提问作者trial1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 16:30:35