在数据流中创建计算表

在 Power BI Premium 订阅中使用数据流时,可以执行存储中计算。 这使你能够对现有数据流执行计算,并返回使你能够专注于报表创建和分析的结果。

Screenshot emphasizing the computed tables in Power BI Premium.

若要执行“存储中计算”,首先必须创建数据流并将数据导入该 Power BI 数据流存储。 拥有包含数据的数据流后,你可以创建计算表,这些表是执行存储中计算的表。

可通过以下两种方式将数据流数据连接到 Power BI:

以下部分介绍如何用数据流数据创建计算表。

如何创建计算表

具有包含表列表的数据流后,就可以在这些表上执行计算。

在 Power BI 服务的数据流创作工具中,选择编辑表。 然后,右键单击要用作计算表基础的表以及要对其执行计算的表。 在快捷菜单上,选择参考

要使表符合作为计算表的条件,必须选择启用加载,如下图所示。 右键单击表以显示此快捷菜单。

Screenshot of the query's shortcut menu with enable load selected.

通过选择启用加载,你将创建一个新表,其源是引用的表。 图标将更改为已计算图标,如下图所示。

Screenshot of the computed table with the computed icon emphasized.

将对已驻留在 Power BI 数据流存储中的数据运行对此新创建的表执行的任何转换。 这意味着不会针对从中导入数据的外部数据源(例如,从中提取数据的 SQL 数据库)运行查询。

示例用例:

可以对计算表执行哪些类型的转换? 在执行存储中计算时,将支持所有通常使用 Power BI 或 M 编辑器中的转换用户界面指定的任何转换。

请看下面的示例。 您有一个 Account 表,其中包含您的 Dynamics 365 订阅中所有客户的原始数据。 您还拥有来自服务中心的 ServiceCalls 原始数据,以及一年中每天从不同帐户执行的支持呼叫的数据。

假设您希望使用来自 ServiceCalls 的数据来扩充此 Account 表。

首先,需要聚合来自 ServiceCalls 的数据,以计算去年为每个帐户进行的支持呼叫次数。

Screenshot of the Group by dialog aggregating the data from the service calls by account ID.

接下来,你将此 Account 表与 ServiceCallsAggregated 表合并,以计算扩充的 Account 表。

Screenshot of the Merge dialog merging the account table with the ServiceCallsAggregated table.

然后,你可以看到在下图中显示为 EnrichedAccount 的结果。

Screenshot showing the results of a computed table in Power BI Premium.

就是这么简单 - 转换是对驻留在 Power BI Premium 订阅中的数据流中的数据完成的,而不是对源数据完成的。

注意事项和限制

请务必注意,如果从 Power BI Premium 容量中删除工作区,则将不再刷新关联的数据流。

在使用在组织的 Azure Data Lake Storage 帐户中专门创建的数据流过程中,仅在链接表和计算表驻留在的同一存储帐户中时,这些表才能正常工作。 详细信息:连接 Azure Data Lake Storage Gen2 以存储数据流

链接表仅适用于在 Power BI 和 Power Apps 中创建的数据流。 最佳做法是,在对本地和云数据联接的数据进行计算时,请创建一个新表来执行此类计算。 与使用现有计算表(例如从两个源查询数据并进行存储中转换的表)相比,这提供了更好的体验。

另请参阅

本文介绍计算表和数据流。 下面是一些可能有用的更多文章:

以下链接提供有关 Power BI 和其他资源中的数据流的其他信息:

有关 Power Query 和计划刷新的详细信息,可阅读以下文章:

有关 Common Data Model 的详细信息,可阅读以下概述文章: