Power BI 如何查询两张表中项目状态发生变更的记录行
Power BI 实现跨表项目状态变更对比操作步骤
方法1:Power Query 图形化操作(更适合新手)
- 首先进入「Power Query 编辑器」,分别修改两个表的Status字段名避免冲突:将
Current表的Status重命名为Current Status,Previous表的Status重命名为Previous Status - 任选一个表作为主表(推荐选
Previous表),点击顶部菜单栏的「合并查询」- 关联键选择两个表的
Project ID字段 - 联接种类根据需求选择:仅需展示两个表共有的项目选「内部联接」,需保留仅在单表存在的项目选「完全外部联接」
- 关联键选择两个表的
- 合并后点击表右上角的展开按钮,仅勾选
Current Status字段完成展开 - 新增筛选步骤:筛选
Previous Status≠Current Status的行,即可得到仅发生状态变更的项目列表,完全符合预期效果
注意:操作前请确认两个表的
Project ID字段数据类型一致(同为文本/数值类型),避免关联失败
方法2:DAX 新建表方法
如果偏好通过公式实现,可直接在数据视图点击「新建表」,输入以下公式:
项目状态变更表 = FILTER( ADDCOLUMNS( DISTINCT('Previous'[Project ID]), "Previous Status", CALCULATE(MAX('Previous'[Status])), "Current Status", CALCULATE(MAX('Current'[Status])) ), [Previous Status] <> [Current Status] && NOT(ISBLANK([Previous Status])) && NOT(ISBLANK([Current Status])) )
公式已自动过滤掉状态无变更、仅在单表存在的项目,直接生成符合要求的结果表。
内容的提问来源于stack exchange,提问作者ScottCee
相关产品推荐
相关产品推荐

