创建通用PowerBI模型以在多个客户端站点进行部署和填充

时间:2017-05-16 13:53:45

标签: ssis ssas powerbi

我有一个行业特定的(思考:房地产,建筑)通用模型,我想建立它作为咨询每个客户的起点。据推测,这个模型也需要为每个客户端进行一些自定义,现在我假设它不会被合并回原始基础模型。每个客户都将以不同的方式存储他们的数据版本(ERP,SQL,Excel,CSV等)

我的问题与&我应该在哪里构建这个模型,以及如何填充它。是否应该在PowerBI桌面中构建模型,然后使用PowerQuery加载数据追加查询?或者,如果模型是在SQL Server中构建的,并且更传统的ETL脚本首先填充它,然后导入到PowerBI中?

1 个答案:

答案 0 :(得分:2)

使用Power BI Desktop执行ETL,或在SQL Server中执行ETL,然后将最终数据导入Power BI Desktop之间的选择归结为3个因素:

  1. 可移植性即可。将Power BI Desktop用于ETL意味着您的整个解决方案都在Power BI Desktop中 - 您不需要任何其他工具来部署您的解决方案。如果您不能保证每个客户端都具有相同版本的SQL Server和相同的ETL工具,那么我不建议在这些外部工具上构建依赖关系。 例外:如果您的客户将是构建ETL的客户端,那么您可能希望将客户端编写的ETL保留在Power BI Desktop解决方案之外 - 您可能不关心他们使用的数据库/ ETL解决方案,只要最终结果符合您的规格
  2. 处理能力(或ETL的密集程度)。如果ETL是高度密集的并且需要运行服务器的所有功能,那么SQL Server /传统ETL可能会更好。 Power BI Desktop中的任何ETL都必须在安装Power BI Desktop的位置运行。如果那是一台规格较低的计算机,那么密集的ETL将比使用传统的基于服务器的ETL工具慢得多。
  3. 可维护性即可。如果您要继续维护ETL,那么坚持使用您熟悉的工具(如Power Query)是比为每个客户端使用不同的外部ETL工具更好的计划。但是,如果您的客户端要维护ETL,那么他们可能更喜欢以与其维护的其他ETL相同的方式构建ETL。
  4. 我想,鉴于您与多个客户合作,这种便携性几乎胜过其他所有客户。您对客户的需求越少越好。

    此决定中的重要性在于您的数据大小,因为无论如何(如您在问题中指定的那样),所有数据都将导入到Power BI Desktop中。

    如果你 要走外部数据库/ ETL解决方案的路径,那么自然的下一步就是探索直接查询模式或与多维数据集的实时连接(而不是导入数据) )。专业人士这个问题的缺点是你决定要考虑的另一个因素。但是,由于您正在为客户构建解决方案,这可能是您不希望依赖的另一种工具。

    总的来说,根据您的情况(为客户构建解决方案),我建议使用Power BI Desktop。

    对于正在阅读此内容解决方案的其他人来说,建议不一定相同(并且取决于适用于他们的情况)。