Advertisement

PowerBI到底是不是ETL工具

阅读量:

20

我很难过怎么翻译,I’m fine

熟悉PowerBI的都知道,它不止是一个BI工具,它更是一套BI解决方案,包含了BI的各个过程,以下是它和传统的SQL Server 报表进行比较,可以看到PowerBI算是集微软众多产品的特长于一身,特别是现在PowerBI又和Power Apps、Power Automate等其它产品进行了集成,又向BI生态迈出一大步。

类别 SQL Server Power BI
数据 加载 SSIS Power BI Query Editor
数据 模型 SSAS (SSDT) Power BI Query Editor / Power BI
指标 SSAS (SSDT) DAX
报表 SSRS Power BI
SharePoint PowerBI Server

PowerBI功能这么多,肯定是要使用的,比如一些没有IT支持的项目,分析师就可以使用PowerBI中PQ功能进行简单的ETL操作,事实上在我初次接触PowerBI时,我也时常用它来做它来做一些ETL操作,这确实很方便。在这之前我都是用Python来清洗数据,之后再导入到数据库中或者导出成CSV文件继而让PowerBI使用。

可是,随着做的项目越来越多,项目越来越大,反而越来越不建议使用PowerBI来进行数据清洗了,因为这些清洗后的干净数据只存在于PowerBI文件中,并没有在数据仓库中,下一次若要使用这些数据做其他分析,还要再清洗一遍。

当然,这还不是最为严重的问题,最为严重的问题是,基于某一数据我们做了很多小的分析报告,当有一天想要把这些报告统一起来到一个文件时,可能会发现先前所谓的干净数据只是相对于当前文件而言的。举个简单的例子,

||
||
||

报表名
测试A
测试B
测试C
测试D

其实,上面这个例子,情况还算是比较好解决的,因为所有报表使用的都是一个来源,只是清洗成了不同的样子;还有可能这些报表数据只是格式相同,但来源不同的库,就像这样。

||
||

表名
A
B
C

特别是如果这些数据又做用来维度表使用时,那简直是一个灾难。

通常企业级BI数据流程架构如下,PoewerBI只做数据呈现,随着PowerBI数据集,部分项目也会在PowerBI中进行数据建模,从而达到前后端分离的目的。不管是哪一种,都不会在PowerBI中进行大量的数据清洗操作,都是需要使用数仓中干净的数据。

今天的内容可能有些枯燥,加上文笔有限,如果没有在项目中踩过类似的坑,可能很难理解,不过还是要再次强调下,企业级项目中不推荐在PowerBI中进行大量的数据清洗操作,PowerBI连接的就应该是最干净的数据。

全部评论 (0)

还没有任何评论哟~