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

如何在Power BI中结合月份切片器计算重叠4个月滚动窗口达标员工?

Power BI 动态4个月窗口周均工时达标员工解决方案

前提准备:完善日期表

首先确保模型中有日期表(需标记为日期表),至少包含以下列:

  • Date:完整日期
  • Year:年份(如2024)
  • MonthNumber:月份数字(1-12)
  • MonthName:月份名称(如"1月")
  • YearMonth:年月组合(如"2024-01",用于排序)

步骤1:创建动态4个月窗口计算表

新建计算表,生成用户所选日期范围内所有重叠的4个月窗口:

4个月窗口表 = 
VAR SelectedMonths = 
    SUMMARIZE(
        '日期表',
        '日期表'[Year],
        '日期表'[MonthNumber],
        '日期表'[MonthName],
        '日期表'[YearMonth]
    )
VAR WindowStarts = 
    FILTER(
        SelectedMonths,
        COUNTROWS(
            FILTER(
                SelectedMonths,
                [Year] = EARLIER([Year]) && [MonthNumber] >= EARLIER([MonthNumber]) && [MonthNumber] <= EARLIER([MonthNumber]) + 3
                || [Year] = EARLIER([Year]) + 1 && [MonthNumber] <= EARLIER([MonthNumber]) + 3 - 12
            )
        ) = 4
    )
RETURN
GENERATE(
    WindowStarts,
    VAR StartYear = [Year]
    VAR StartMonth = [MonthNumber]
    VAR EndMonth = StartMonth + 3
    VAR EndYear = IF(EndMonth > 12, StartYear + 1, StartYear)
    VAR AdjustedEndMonth = IF(EndMonth > 12, EndMonth - 12, EndMonth)
    VAR EndMonthName = LOOKUPVALUE('日期表'[MonthName], '日期表'[Year], EndYear, '日期表'[MonthNumber], AdjustedEndMonth)
    RETURN
    ROW(
        "窗口起始年月", [YearMonth],
        "窗口范围", [MonthName] & "–" & EndMonthName,
        "窗口结束年份", EndYear,
        "窗口结束月份", AdjustedEndMonth
    )
)

步骤2:创建达标员工度量值

新建两个度量值,分别计算窗口内总工时和达标状态:

窗口内总工时 = 
CALCULATE(
    SUM('考勤汇总表'[WorkHours]),
    FILTER(
        '考勤汇总表',
        YEAR('考勤汇总表'[Date]) >= MIN('4个月窗口表'[Year]) &&
        MONTH('考勤汇总表'[Date]) >= MIN('4个月窗口表'[MonthNumber]) &&
        YEAR('考勤汇总表'[Date]) <= MAX('4个月窗口表'[窗口结束年份]) &&
        MONTH('考勤汇总表'[Date]) <= MAX('4个月窗口表'[窗口结束月份])
    )
)

周均工时达标 = 
IF(
    [窗口内总工时] > 48 * 16, // 48小时/周 × 16周
    "是",
    "否"
)

步骤3:构建可视化组件

  1. 月份切片器:用日期表的YearMonth或MonthName(搭配年份筛选)创建切片器,供用户选择日期范围。
  2. 结果表格:添加以下字段到表格:
    • 4个月窗口表[窗口范围]
    • 考勤汇总表[EmployeeID]
    • 度量值窗口内总工时
    • 度量值周均工时达标
  3. 表格筛选:设置周均工时达标为"是",仅显示符合条件的记录。

关键逻辑说明

  • 计算表4个月窗口表会根据用户选择的月份自动生成所有连续4个月窗口,仅保留能凑齐完整4个月的起始月份。
  • 度量值通过窗口表的起止年月精准筛选考勤数据,计算员工在对应窗口的总工时,再判断是否满足周均>48小时的条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 02:23:15