如何在Power BI中通过Power Query或DAX实现两表笛卡尔积合并
实现资源表与日历表的全量匹配(笛卡尔积)
方法一:Power Query 实现
有两种直观的操作方式:
交叉合并查询
- 打开Power Query编辑器,确保日历表(
Calendar)和资源表(Resource)已加载 - 选中任意一个表,点击顶部
开始选项卡的合并查询,选择合并查询作为新查询 - 在弹出的合并窗口中,选择另一个表,不要选择任何匹配列,连接类型选择
交叉连接(所有行对所有行) - 点击确定后,展开合并后的列,即可生成每个资源对应所有日期的新表
- 打开Power Query编辑器,确保日历表(
添加自定义列展开
- 在Power Query编辑器中打开资源表
- 点击
添加列选项卡的自定义列,输入公式:= Calendar(这里Calendar是你的日历表名称) - 点击确定后,展开新增的自定义列,选择展开所有日期列,完成后即可得到目标表
方法二:DAX 实现
直接在Power BI的建模选项卡中新建表,输入以下DAX公式:
资源日期全表 = CROSSJOIN('Calendar', 'Resource')
CROSSJOIN函数会返回两个表的笛卡尔积结果,自动生成每个资源名称对应所有日期的条目。
内容的提问来源于stack exchange,提问作者Hemant
相关产品推荐
相关产品推荐

