Power BI 数据建模


在本章中,你将了解 Power BI 中的数据建模。

使用数据建模和导航


数据建模是使用关系在 BI 工具中连接多个数据源的功能之一。关系定义了数据源如何相互连接,你可以在多个数据源上创建有趣的数据可视化。

借助建模功能,你可以在现有表上构建自定义计算,并且这些列可以直接呈现到 Power BI 可视化中。这允许企业定义新的指​​标并为这些指标执行自定义计算。

Modeling Feature

在上图中,你可以看到一个通用数据模型,它显示了两个表之间的关系。两个表都使用列名“Id”连接。

同样,在 Power BI 中,设置两个对象之间的关系。要设置关系,你必须在公共列之间拖动一条线。你还可以在 Power BI 的数据模型中查看“关系”。

要在 Power BI 中创建数据模型,你需要在 Power BI 新报表选项中添加所有数据源。要添加数据源,请转到获取数据选项。然后,选择要连接的数据源并单击“连接”按钮。

Data Model in Power BI

添加数据源后,它会显示在右侧栏上。在下图中,我们使用了 2 个 xls 文件来导入数据 - 客户和产品。

Add Data Source

在屏幕左侧的 Power BI 中,你有以下三个选项卡:

  • Report
  • Data
  • 关系
Power BI Screen

当你导航到“报告”选项卡时,你可以看到为数据可视化选择的仪表板和图表。你可以根据需要选择不同的图表类型。在我们的示例中,我们从可用的可视化中选择了一个表格类型。

Report Tab

当你转到数据选项卡时,你可以根据数据源中定义的关系查看所有数据。

Data Tab

在关系选项卡中,你可以查看数据源之间的关系。向 Power BI 可视化添加多个数据源时,该工具会自动尝试检测列之间的关系。当你导航到关系选项卡时,你可以查看关系。你还可以使用创建关系选项在列之间创建关系。

Relationship Tab

你还可以在数据可视化中添加和删除关系。要删除关系,你必须右键单击并选择“删除”选项。要创建新的“关系”,你只需拖放要在数据源之间链接的字段。

Relationships

你还可以使用关系视图隐藏报表中的特定列。要隐藏列,请右键单击列名称并选择“隐藏在报表视图中”选项。

Relationship View

创建计算列


可以通过组合现有数据的两个或多个元素在 Power BI 中创建计算列。你还可以对现有列应用计算以定义新指标或组合两列以创建一个新列。

你甚至可以创建一个计算列来建立表之间的关系,它也可以用于设置两个表之间的关系。

要创建新的计算列,请导航到屏幕左侧的数据视图选项卡,然后单击建模。

New Calculated Column

当你导航到建模选项卡时,你可以在屏幕顶部看到一个新列选项。这也会打开公式栏,你可以在其中输入 DAX 公式来执行计算。 DAX-数据分析表达式是一种强大的语言,也用于 Excel 中执行计算。你还可以通过更改编辑栏中的列文本来重命名列。

Modeling Tab

在下面的示例中,让我们创建一个新列:产品代码 (Product_C),它来自 Prod_Id 列的最后三个字符。然后,写出如下公式:

Product_C = RIGHT( Sheet1[Prod_Id],3)

Create New Column

还提供了一长串公式,可用于创建计算列。你必须输入要在计算中使用的公式的第一个字符,如以下屏幕截图所示。

Creating Calculated Columns

创建计算表


你还可以在 Power BI 的数据建模中创建新的计算表。要创建新表,请导航到屏幕左侧的 Data View 选项卡,然后转到屏幕顶部的 Modeling 选项。

Modeling Option

DAX 表达式用于创建新表。你必须在等号和 DAX 公式的左侧输入新表的名称才能执行计算以在右侧形成该表。计算完成后,新表将出现在模型的“字段”窗格中。

在下面的示例中,让我们定义一个新表 - Table_CustC,它返回一个单列表,其中包含另一个表的列中的唯一值。

Table_CustC

在 Power BI 屏幕的“字段”部分下添加了一个新表,如以下屏幕截图所示。根据你的要求创建计算列和计算表后,你可以使用 Power BI 的“报告”选项卡中的字段。

要添加这些对象,你必须选择一个复选框,如果可能,系统会自动检测到关系。如果没有,那么你可以拖动要连接的列。

Select Checkbox

要查看报告,请导航到“报告”选项卡,你可以在报告视图中看到“计算列”和新“计算表”中的字段。

Calculated Columns

管理基于时间的数据


Power BI 默认允许钻取基于时间的数据。当你在分析中添加日期字段并在数据可视化上启用钻取时,它会将你带到基于时间的数据的下一个级别。

让我们考虑一下我们在 Power BI 可视化中添加了基于时间的表。我们在报告中添加了收入和年份列。

Revenue Column

Year Column

我们可以使用顶部的选项在可视化中启用钻取功能。一旦我们启用钻取功能并单击图表中的条形或线条,它就会向下钻取到时间层次结构的下一个级别。 例子: 年→季度→月。

我们还可以使用 Go to the next level in the hierarchy 选项来执行钻取。

Hierarchy Option