Power BI和SQL Server索引

时间:2019-08-16 12:28:36

标签: sql-server indexing powerbi

我进行了一些研究,而没有获得有关我的问题的有价值的信息。

我正在从事一个数据仓库项目,而我的客户的要求是使用power bi pro进行数据可视化。

对我来说不清楚的是,在获取Power Bi数据模型中的数据时,是否可以从SQL Server中开发的索引结构中受益。

预先感谢您对此主题的建议/提示。

2 个答案:

答案 0 :(得分:1)

这在某种程度上取决于您是否正在使用实时连接。

在数据源是视图,查询或存储过程的导入模式下使用PowerBI时,现有索引可能会加快数据加载速度。

连接到上述源时,它们还将在实时模式下使用,并且可能直接连接到多个表时使用。

正如评论所言,如果您将整个表以导入方式导入PowerBI,那么现有索引将不会使您受益,并且PBI使用的内部SSAS实例完全不一样。

一个警告是,列存储索引可用于处理与网关有关的某些数据大小限制,如下所述:https://community.powerbi.com/t5/Power-Query/Using-SQL-Server-with-Nonclustered-Columnstore-Index/td-p/563787,但这与您的问题没有直接关系。

答案 1 :(得分:1)

索引有助于提高服务器端的检索速度。它将有多大帮助的答案取决于您的具体情况。如果您在Power BI查询编辑器中进行大量数据转换和混搭,则索引仅在有步骤从SQL Server中选择行的地方提供帮助。它对在Power BI端进行处理的步骤(例如与Excel文件中的数据合并或添加自定义列或某些形式的替换值)无济于事。但是,由于您提到的是数据仓库而不是简单的数据库,因此我假设您几乎没有在Power BI端进行任何转换,而是依靠服务器端进行了繁重的工作。在这种情况下,索引如果能够策略性地完成的话,无疑将有助于加快处理速度

导入模式和连接实时模式之间存在一些差异。

导入模式:

数据导入可用于任何数据源类型,它可以合并来自不同源的数据。当前Power BI服务限制已发布的文件大小为1 GB。

使用导入时,数据存储在Power BI文件/服务中。因此,无需在数据源侧设置权限(负载的服务帐户就足够了),您可以公开共享数据或与组织外部的人共享数据。另一方面,所有数据都存储在Power BI上。支持实现完整的DAX表达式和完整的Power Query转换。

连接实时模式:

存在实时连接的更多限制。并非适用于所有数据源。可以here看到当前列表,它无法合并来自多个来源的数据。

您还仅限于所选的一个数据源/数据库。您无法再合并来自多个数据源的数据。如果连接到SQL数据库,则仍可以在该数据库的对象以及度量和计算列之间创建逻辑关系。连接到SQL Server Analysis Services时,您只能使用报表布局,甚至不能创建计算列,而只能创建当前度量。使用实时连接时,用户必须有权访问基础数据源。这意味着您不能在组织外部或公开共享。而且,不支持实现完整的DAX表达式,仅支持报表级别度量,以了解有关报表级别度量的更多信息,观看Patrick的精彩视频,并且不支持Power Query转换。

您可以了解更多信息:directquery-live-connection-or-import-data-tough-decision

相关问题