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

Power BI DAX实现按12个月周期过滤tbl_Homeless数据集

解决tbl_Homeless表的12个月周期过滤问题

方法1:修改[# Homeless]度量值

直接在现有度量值中嵌入筛选逻辑,确保仅计算符合条件的记录:

# Homeless = 
CALCULATE(
    -- 替换成你原有的[# Homeless]度量值表达式
    COUNT(tbl_Homeless[ClientID]),
    -- 筛选条件1:仅保留每个ClientID的最大Month≥12的记录
    FILTER(
        ALL(tbl_Homeless[ClientID], tbl_Homeless[Month]),
        CALCULATE(MAX(tbl_Homeless[Month]), ALLEXCEPT(tbl_Homeless, tbl_Homeless[ClientID])) >= 12
    ),
    -- 筛选条件2:明确排除ClientID=44(可选,因为条件1已能过滤,但按需求保留)
    tbl_Homeless[ClientID] <> 44
)

逻辑说明:通过ALLEXCEPT计算每个ClientID对应的最大居住周期(Month),仅保留周期≥12的客户数据,同时直接排除指定ClientID。

方法2:创建符合条件的计算表

如果需要生成独立的过滤后数据集,可创建DAX计算表:

Filtered_Homeless = 
VAR ValidClients = 
    SELECTCOLUMNS(
        FILTER(
            SUMMARIZE(tbl_Homeless, tbl_Homeless[ClientID]),
            CALCULATE(MAX(tbl_Homeless[Month])) >= 12 && tbl_Homeless[ClientID] <> 44
        ),
        "ValidClientID", tbl_Homeless[ClientID]
    )
RETURN
    FILTER(tbl_Homeless, tbl_Homeless[ClientID] IN ValidClients)

逻辑说明:先通过SUMMARIZE和FILTER筛选出符合周期要求的有效ClientID,再从原表中提取这些客户的所有记录,生成独立的过滤表。

方法3:表级筛选器(无需DAX)

如果不想修改度量值或创建计算表,可直接给tbl_Homeless表添加筛选:

  • 进入Power BI数据视图,选中tbl_Homeless表
  • 打开右侧「筛选器」面板,添加两个筛选条件:
    1. 选择ClientID,设置为「不等于」44
    2. 选择Month,点击「高级筛选」,设置为「最大值」≥12

内容的提问来源于stack exchange,提问作者Hell-1931

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 15:36:19