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

PowerBI当前周数据筛选问题:制作多行列卡片统计本周打包量

PowerBI 当前周数据筛选解决方案

问题原因

直接类比今日筛选的逻辑行不通,因为周是一个日期范围,不是单个日期,不能用简单的等于判断,得判断日期是否落在当前周的区间内。


方案1:日期表添加计算列(和你今日筛选逻辑一致的思路)

在你的Date表中新建计算列,判断日期是否属于当前周:

GetCurrentWeek = 
IF(
    WEEKNUM('Date'[Date], 2) = WEEKNUM(TODAY(), 2) && 
    YEAR('Date'[Date]) = YEAR(TODAY()),
    "Yes",
    "No"
)
  • 参数说明:WEEKNUM的第二个参数2代表周一为周起始,如果你的仓库周起始是周日,改成1即可。
  • 加YEAR判断是为了避免跨年时,去年的同周数日期被误判为当前周。

如果需要更标准的ISO周(周一为起始,每年最多53周,符合国际标准),可以用ISOWEEKNUM替代:

GetCurrentWeek_ISO = 
IF(
    ISOWEEKNUM('Date'[Date]) = ISOWEEKNUM(TODAY()) && 
    YEAR('Date'[Date]) = YEAR(TODAY()),
    "Yes",
    "No"
)

建好列后,在筛选器中选择GetCurrentWeek = "Yes",就能只显示当前周的数据。


方案2:直接用度量值计算当前周总量(更轻量化)

不需要在日期表加计算列,直接写度量值统计当前周的打包总量,适合卡片可视化:

当前周打包总量 = 
VAR CurrentWeekStart = TODAY() - WEEKDAY(TODAY(), 2) + 1 // 计算本周一日期
VAR CurrentWeekEnd = CurrentWeekStart + 6 // 计算本周日日期
RETURN
CALCULATE(
    SUM('打包数据'[数量]), // 替换成你实际的打包数量字段(CLL/PLL/KG的总量或单独统计)
    'Date'[Date] >= CurrentWeekStart && 'Date'[Date] <= CurrentWeekEnd
)

如果需要分别统计CLL、PLL、KG的周总量,复制度量值修改SUM的字段即可,比如:

当前周CLL总量 = 
VAR CurrentWeekStart = TODAY() - WEEKDAY(TODAY(), 2) + 1
VAR CurrentWeekEnd = CurrentWeekStart + 6
RETURN
CALCULATE(
    SUM('打包数据'[CLL数量]),
    'Date'[Date] >= CurrentWeekStart && 'Date'[Date] <= CurrentWeekEnd
)

注意事项

  1. 确保你的Date表已经被标记为日期表(PowerBI菜单栏「建模」>「标记为日期表」),时间智能函数会更稳定。
  2. 如果你的数据中有未来日期,记得在度量值或筛选中排除,避免统计未发生的打包数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 01:53:10