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

PowerBI中提取两个静态字符串行之间的数据行

在PowerBI中提取两个静态行之间的数据

下面提供两种常用的实现方式,根据你的需求选择:

方法一:用DAX计算列筛选

  1. 假设你的两个静态行内容分别是"起始标记"和"结束标记"(替换成你实际的静态字符串),先创建两个变量获取它们的索引值:
    StartIndex = CALCULATE(MAX('你的表名'[Index]), '你的表名'[values] = "起始标记")
    EndIndex = CALCULATE(MAX('你的表名'[Index]), '你的表名'[values] = "结束标记")
    
  2. 添加一个计算列,标记出处于两个静态行之间的行:
    目标行标记 = IF('你的表名'[Index] > [StartIndex] && '你的表名'[Index] < [EndIndex], TRUE(), FALSE())
    
  3. 在报表视图中,用这个目标行标记列筛选出值为TRUE的行,就是你需要的中间数据。

方法二:用Power Query预处理数据

这种方式适合在数据加载阶段就完成提取,后续直接使用处理后的表:

  1. 进入Power Query编辑器,加载你的原始表。
  2. 找到两个静态行的位置(如果原表没有索引列,可先添加添加列→索引列):
    let
        源 = 你的数据源,
        开始位置 = List.PositionOf(源[values], "起始标记"),
        结束位置 = List.PositionOf(源[values], "结束标记"),
        提取中间行 = Table.Range(源, 开始位置 + 1, 结束位置 - 开始位置 - 1)
    in
        提取中间行
    
  3. 替换代码中的"起始标记"和"结束标记"为你实际的静态字符串,确认逻辑无误后,点击关闭并应用,处理后的表就会加载到PowerBI中。

注意事项

  • 如果数据集中可能出现多个相同的静态标记,可调整函数:比如用List.PositionOf(List.Reverse(源[values]), "结束标记")取最后一个结束标记的位置,或者用List.PositionOf(源[values], "起始标记", Occurrence.First)指定取第一个起始标记。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 16:24:58