如何在 Power BI 中合并两列

How to combine two columns in Power BI

我不知道合并列是否正确,但我有以下问题想与您一起解决,您可以给我一个更好的方向,如下所示:

我有两个 excel sheet 用作 Power BI 中报表的数据源,其中一个 sheet 具有以下数据:

SHEET 1:

而另一个 excel sheet 具有此数据:

SHEET 2:

在同一份报告中我想表示两个 sheet 的信息,正如您所熟知的,在 Power BI 中每个 excel sheet 将其表示为 table,但是在添加Location sheet 1的过滤器时并没有给我带来C区的值,我理解是因为我是按Location列过滤的sheet 1.

我想要做的是有一个全局列 Location 作为过滤器,在其中找到值 Area A, Area B, Area C, 并在执行过滤器时将它们动态应用于在 sheet 1 和 sheet 2.

我看不出有两个 Location 过滤器有什么意义,唯一的区别是一个比另一个有更多的值。

我不知道是把两列结合起来还是建立多对多的关系才是正确的,希望你能指导我做出最好的决定。

您应该在 Power Query 中创建一个位置维度 table,它结合了 Sheet1 和 Sheet2 的值。假设您现有的 table 被命名为“Sheet1”和“Sheet2”,此 Power Query 将构建维度:

let
    Source = Sheet1,
    #"Appended Query" = Table.Combine({Source, Sheet2}),
    #"Removed Other Columns" = Table.SelectColumns(#"Appended Query",{"Location "}),
    #"Removed Duplicates" = Table.Distinct(#"Removed Other Columns")
in
    #"Removed Duplicates"

更新:(创建上述查询的步骤)

  1. 右键单击您现有的 Sheet1 查询和 select Reference。这将创建一个引用 Sheet1 查询的最终结果的新查询。如果修改了 Sheet1 查询,这个新查询也会得到这些更改。
  2. 然后单击 主页 > 追加查询
  3. 在下拉列表中,select 您对 Sheet2 的查询并单击 确定
  4. 右键单击 位置 列和 select 删除其他列
  5. 再次右键单击 位置 列并 select 删除重复项
  6. 如果您的数据有任何空白值,您还应该使用 位置 列上的下拉菜单过滤掉这些值。
  7. 您还应该将查询名称更改为 Locations

然后在 Locations[Location] 和 Sheet1[Location] 之间以及 Locations[Location] 和 Sheet2[Location] 之间创建关系。

更新:(创建关系的步骤)

  1. 从 Power BI 屏幕(不是 Power Query!),select 建模 > 管理关系
  2. 单击 新建... 按钮
  3. 在顶部下拉列表中,select Sheet1
  4. 的 table
  5. 在第二个下拉列表中,select table for Locations
  6. 您应该看到每个 table 的 位置 列 selected。还要确保 Cardinality 设置为“Many to one”,Cross filter direction 应该是“Single”并且复选框 selected 激活此关系。然后点击确定 然后对工作表 2 和位置重复上述步骤。

在您的报告中,使用 Locations[Location] 列,而不是 Sheet1[Location] 或 Sheet2[Location]。