有关依赖关系的事实和昏暗表

问题描述 投票:0回答:1

我尝试在 PowerBI 中与 3 个表建立关系。这是一个粗略的例子

项目详情(事实)

  • 项目编号
  • 项目经理

前任详细信息(暗淡)

  • 项目编号

继任者详细信息(暗淡)

  • 项目编号

我与项目 ID 上的“项目详细信息”和“前身详细信息”具有一对多关系。我还与项目 ID 上的项目详细信息和后续详细信息建立了一对多关系。

在 PowerBI 页面中,我想查看前驱依赖项和后继依赖项的项目经理。我将如何在 PowerBI 中管理这种关系?我目前无法将前驱表和后继表拉入 1 个视觉对象中。

尝试在 PowerBI 中建立关系。

database-design powerbi visualization powerquery entity-relationship
1个回答
0
投票

使用电源查询:

使用“合并查询”作为“新建”创建一个新表,其中选择“前身详细信息”作为第一个表,选择“项目详细信息”作为第二个表,然后将它们加入“项目 ID”:

enter image description here

然后选择项目经理栏:

enter image description here

您应该对继任者详细信息执行相同的操作。

然后创建一个空白查询,在其中组合两个表并添加一列来指定依赖关系类型:

= let
    Predecessors = Table.SelectColumns(#"Merged Query1", {"Project ID", "Project Manager"}),
    PredecessorsWithDependency = Table.AddColumn(Predecessors, "Dependency Type", each "Predecessor"),
    Successors = Table.SelectColumns(#"Merged Query2", {"Project ID", "Project Manager"}),
    SuccessorsWithDependency = Table.AddColumn(Successors, "Dependency Type", each "Successor"),
    CombinedTable = Table.Combine({PredecessorsWithDependency, SuccessorsWithDependency})
in
    CombinedTable

enter image description here

使用DAX:

您可以将两个 CC 添加到每个维度:

Predecessor_ProjectManager = 
LOOKUPVALUE('Project Details'[Project Manager], 'Project Details'[Project ID], 'Predecessor Details'[Project ID])



Successor_ProjectManager = 
LOOKUPVALUE('Project Details'[Project Manager], 'Project Details'[Project ID], 'Successor Details'[Project ID])

然后创建一个计算表来合并结果:

MyTable = 
UNION(
    SELECTCOLUMNS(
        'Predecessor Details',
        "Project ID", 'Predecessor Details'[Project ID],
        "Dependency Type", "Predecessor",
        "Project Manager", 'Predecessor Details'[Predecessor_ProjectManager]
    ),
    SELECTCOLUMNS(
        'Successor Details',
        "Project ID", 'Successor Details'[Project ID],
        "Dependency Type", "Successor",
        "Project Manager", 'Successor Details'[Successor_ProjectManager]
    )
)

enter image description here

从建模角度来看,您可能只需要一个通过桥接表链接到事实表的维度,其中包含项目 ID、经理和依赖列。 事实表和维度将与您的桥接表具有一对多关系。

© www.soinside.com 2019 - 2024. All rights reserved.