Power BI中如何高效关联多字段引用的外部表数据?
Power BI 英雄ID转名称的高效解决方案
你完全不需要创建30个独立表,以下两种方案都能高效解决问题:
方案一:逆透视重构表结构(推荐,符合数据建模规范)
- 打开Power Query编辑器,选中
games表 - 选中
gameID列,点击「转换」选项卡中的「逆透视其他列」 - 此时表会自动转换为三列:
gameID、Attribute(原t1_champ[1-5]id的列名)、Value(对应英雄ID) - 可将
Attribute列重命名为「位置」,比如用替换功能去掉t1_champ和id,得到1-5的位置标识 - 仅需将新表的
Value列与champion_info表的英雄ID列建立单一关系 - 可视化时直接调用英雄名称字段,即可按
gameID和位置展示对应英雄
方案二:DAX计算列快速实现(无需修改表结构)
如果不想调整原表结构,直接在games表中为每个英雄ID列添加计算列:
- 以
t1_champ1id为例,新建计算列的公式:t1_champ1名称 = LOOKUPVALUE(champion_info[英雄名称], champion_info[英雄ID], games[t1_champ1id]) - 复制公式并修改列名,依次生成
t1_champ2名称到t1_champ5名称列 - 这种方法无需调整表关系,直接通过计算列关联名称,适合临时快速可视化需求
两种方案都远优于创建多表关联的繁琐操作,逆透视方案更利于后续扩展分析,DAX计算列则更快捷灵活。
内容的提问来源于stack exchange,提问作者user22792387
相关产品推荐
相关产品推荐

