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

PowerBI需求:实现按地点筛选、仅含当月发料条目的上月发料量列

解决PowerBI中按地点、物料展示当月发料及上月对应数量的问题

核心思路

利用度量值+日期维度表实现动态筛选,确保仅显示当月有发料记录的条目,并自动匹配对应地点、物料的上月发料量,避免生成无效空行。

步骤1:创建并关联日期维度表

PowerBI中依赖连续的日期维度才能准确计算上月数据,先构建日期表:

  1. 进入「建模」选项卡,点击「新建表」,输入:
    DateTable = CALENDAR(DATE(2020, 1, 1), TODAY())
    
  2. 为日期表添加年月字段(方便筛选月份):
    年月 = FORMAT(DateTable[Date], "YYYYMM")
    
  3. 在「数据」视图中,将DateTable[Date]与你的发料事实表(假设表名为MaterialIssue)中的发料日期字段建立一对多关系。

步骤2:创建度量值

当月发料总量(可直接复用现有逻辑)

当月发料总量 = SUM(MaterialIssue[发料数量])

上月发料总量(核心度量值)

上月发料总量 = 
CALCULATE(
    SUM(MaterialIssue[发料数量]),
    -- 将日期上下文切换到上月
    DATEADD(DateTable[Date], -1, MONTH),
    -- 保留当前行的物料、地点筛选上下文
    VALUES(MaterialIssue[物料编码]),
    VALUES(MaterialIssue[地点])
)
  • 该度量值会自动继承视觉对象中的地点、物料筛选,只计算当前条目对应上月的发料量;若上月无记录,会返回空白(如需显示0,可改为COALESCE(SUM(MaterialIssue[发料数量]), 0))。

步骤3:配置表格视觉对象

  1. 向表格中添加字段:DateTable[年月]、MaterialIssue[地点]、MaterialIssue[物料编码],再添加上述两个度量值。
  2. 在「筛选器」面板中,对当月发料总量设置筛选条件:大于0,确保仅保留当月有发料记录的条目,不会出现无发料的空行。

为什么之前的方案无效?

  • 虚拟表格是全局计算的,无法响应视觉对象中的动态筛选(比如地点、月份),导致筛选不精准;
  • 直接罗列全部物料会引入大量无发料记录的无效行,而通过度量值+视觉对象筛选,只会保留当月有数据的条目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 16:00:29