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

Power BI中如何从两个同结构表的三列创建筛选新表

DAX实现SALES与RETURNS表合并生成新表

基础合并方案(无额外筛选)

如果仅需要将两个结构一致的表直接合并,使用UNION函数即可,它会自动对齐列结构并去除重复行:

合并表 = 
UNION(
    SALES,
    RETURNS
)

若不需要去重,替换为UNIONALL即可。

带非空筛选的合并方案(匹配原单表筛选逻辑)

如果需要保留原需求中“筛选非空列”的逻辑,可先分别对两个表做过滤处理,再合并:

合并筛选表 = 
UNION(
    // 处理SALES表:筛选非空行并指定列
    CALCULATETABLE(
        SELECTCOLUMNS(
            SALES,
            "交易日期", SALES[交易日期],
            "产品ID", SALES[产品ID],
            "金额", SALES[金额]
        ),
        // 筛选条件:所有列非空,可按需调整
        NOT ISBLANK(SALES[交易日期]) && NOT ISBLANK(SALES[产品ID]) && NOT ISBLANK(SALES[金额])
    ),
    // 处理RETURNS表:逻辑与SALES一致
    CALCULATETABLE(
        SELECTCOLUMNS(
            RETURNS,
            "交易日期", RETURNS[交易日期],
            "产品ID", RETURNS[产品ID],
            "金额", RETURNS[金额]
        ),
        NOT ISBLANK(RETURNS[交易日期]) && NOT ISBLANK(RETURNS[产品ID]) && NOT ISBLANK(RETURNS[金额])
    )
)

关键说明

  • SELECTCOLUMNS用于明确指定输出列的名称和对应字段,确保两个表的输出结构完全一致,避免合并时出现列不匹配的错误
  • CALCULATETABLE配合筛选条件实现行级过滤,可根据实际需求修改筛选逻辑(比如只过滤某一列非空)
  • UNION会自动合并两个表的结果并去除重复行,若需要保留所有重复记录,使用UNIONALL替代

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:00:56