Power BI - 数据建模

在本章中,您将了解Power BI中的数据建模.

使用数据建模和导航

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

使用建模功能,您可以在现有表上构建自定义计算,这些列可以直接呈现到Power BI可视化中.这允许企业定义新指标并为这些指标执行自定义计算.

建模功能

在上图中,您可以看到一个公共数据模型,它显示了两个表之间的关系.两个表都使用列名"Id"连接.

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

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

Power BI中的数据模型

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

添加数据源

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

  • 报告

  • 数据

  • 关系

Power BI Screen

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


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

数据选项卡

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

关系选项卡

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

Relationships

您还可以使用"关系"视图隐藏报表中的特定列.要隐藏列,请右键单击列名称,然后选择"隐藏在报表视图中"选项.

关系视图

创建计算列

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

您甚至可以创建计算列以在表之间建立关系它还可用于设置两个表之间的关系.

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

新计算列

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

Modeling Tab

在下面的示例中,让我们创建一个新列:Product Code(Product_C),它派生自Prod_Id列的最后三个字符.然后,写下面的公式 :

Product_C = RIGHT(Sheet1 [Prod_Id],3)


创建新列

A还提供了一长列公式,您可以使用它们来创建计算列.您必须输入要在计算中使用的公式的第一个字符,如以下屏幕截图所示.

正在创建计算列

创建计算表

您还可以在Power BI中的数据建模中创建新的计算表.要创建新表,请导航到屏幕左侧的"数据视图"选项卡,然后转到屏幕顶部的"建模"选项.

建模选项

DAX表达式用于创建新表.您必须在等号和DAX公式的左侧输入新表的名称,以执行计算以在右侧形成该表.计算完成后,新表将显示在模型的"字段"窗格中.

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

Table_CustC

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

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

选择复选框

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

计算列

管理基于时间的数据

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

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

收入列


年份列

我们可以在可视化中启用钻取功能顶部的选项.启用钻取功能并单击图表中的条形图或线条后,它将向下钻取到下一级别的时间层次结构. 示例:年 → 宿舍 → 几个月.

我们也可以使用层次结构选项中的Go进入下一级别来执行钻取.

层次结构选项