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
相关产品推荐
相关产品推荐

