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

如何在Power BI中通过公式扩展硬编码表格并按指定规则生成行值?

在Power BI中扩展按5%递减的表格方法

这里提供两种常用实现方式,可根据操作习惯选择:

方法一:使用DAX创建计算表

假设你手动创建的初始表名为初始表,包含序号和百分比值两列,可通过DAX公式生成扩展后的表格:

  1. 点击建模选项卡 → 新建表
  2. 输入以下DAX代码(可按需调整目标总行数):
扩展表 = 
VAR 目标总行数 = 15 // 替换为你需要的总行数
VAR 初始数据 = SELECTCOLUMNS(初始表, "序号", [序号], "百分比值", [百分比值])
VAR 后续行数据 = 
    ADDCOLUMNS(
        SEQUENCE(目标总行数 - COUNTROWS(初始表), COUNTROWS(初始表)+1, 1),
        "百分比值", 
        LOOKUPVALUE(初始表[百分比值], 初始表[序号], [Value]-1) * 0.95
    )
RETURN
    UNION(初始数据, 后续行数据)
  1. 生成后,可将百分比值列格式设置为百分比,保留两位小数。

方法二:使用Power Query编辑器生成

若偏好可视化操作,Power Query的方式更灵活:

  1. 点击数据选项卡 → 找到你的初始表,点击编辑查询进入Power Query编辑器
  2. 点击转换选项卡 → 添加列 → 索引列,选择从0开始
  3. 点击主页选项卡 → 高级编辑器,替换原有代码为以下内容(可调整停止条件[当前值] > 0.001,即值小于0.1%时停止生成):
let
    源 = 初始表,
    添加索引 = Table.AddIndexColumn(源, "索引", 0, 1, Int64.Type),
    初始值列表 = List.FirstN(添加索引[百分比值], 2),
    生成递减值 = List.Generate(
        () => [当前值 = 初始值列表{1}, 当前索引 = 2],
        each [当前值] > 0.001, // 可自行修改停止条件
        each [当前值 = [当前值] * 0.95, 当前索引 = [当前索引] + 1],
        each [当前值]
    ),
    合并所有值 = 初始值列表 & 生成递减值,
    转换为表格 = Table.FromList(合并所有值, Splitter.SplitByNothing(), {"百分比值"}),
    添加序号列 = Table.AddIndexColumn(转换为表格, "序号", 1, 1, Int64.Type)
in
    添加序号列
  1. 点击关闭并应用,即可在数据模型中得到扩展后的表格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 08:35:24