PowerBI Quickstart

Kopei article

PowerBI Quickstart Guide

截止2022年末市面上主流的BI产品有PowerBI, Tableau和国产帆软的FineBI. 由于Tableau逐渐退出中国,本文主要介绍一下PowerBI的基础功能。

数据导入方式

PowerBI支持从130+不同数据源直接导入数据,主要导入数据的方式分为:

  • Direct import 直接导入
  • DirectQuery 直接查询
  • Live Connection 在线连接

这三种数据连接方式主要区别于:

  • direct import 是将数据直接导进PowerBI desktop端的SSAS(SQL Server Analysis Services)的向量内存中,既然要存入内存那么对客户端的内存有一些要求,当然SSAS提供了一些内存存储压缩的算法来减少内存占用量。缺点是数据不是实时更新的。
  • DirectQuery 顾名思义是直接在另一端的数据库上做查询, 这样性能的压力来到了数据库端。PowerBI目前支持主流的数据库,做查询前PowerBI desktop会将查询解释成对应的数据库语言到目标数据库执行,所以这里的语言转化或者叫做翻译是限制DirectQuery能力的瓶颈点。
  • Live Connection只支持类SSAS的远程数据库,所有的能力和限制取决于远端SSAS的能力。

如下表可以用来决策什么时候用什么方式的数据连接,有时候我们可能需要一个综合的解决方案。

数据转化策略

PowerBI使用Power Query Editor来处理数据清洗和转换,底层使用的是M语言。在真正运行处理逻辑时,PowerQuery有个Applied Steps功能可以用来调整处理逻辑的顺序或者反悔某些操作如删除。

Power Query Editor在增加列的时候有一个自动根据所填例子形成新增列的功能,就是在新增一列时填入这列一行想转化成的数据,powerBI会自动完成剩余列的数据填充。

条件列,向下填充,逆透视,合并查询和追加查询

conditional column就是在某列上经过if条件过滤后的生成一个新的列,比如某些列为空则生成新的列。
fill down向下填充就是把为空的值按最上面的非空值填充。
split column把一个列按一定规则拆成两个列。
unpivot逆透视是把原列头作为新的表的行值,而原来列的值将会被相应转成对应的行。
merge queries类似SQL的join, 分为内联,左联,右联,外联等。

数据建模

PowerBI有强大的数据建模能力,可以自动识别表的关系,处理多对多管理和角色扮演维表role-play table.

Role-play table

角色扮演维表是一张维表(比如时间维度表)对事实表有多个作用,同时一张表就可以扮演多个角色从而减少数据冗余。举个例子,一张销售事实表可有多个时间维度,如订单时间,交付时间,维护时间等。PowerBI需要使用非激活的关系和DAX度量来处理Role-play, 具体需要用到USERELATIONSHIP函数。

  • Post title:PowerBI Quickstart
  • Post author:Kopei
  • Create time:2022-10-02 00:00:00
  • Post link:https://kopei.github.io/2022/10/01/BI-2022-10-04-PowerBI-Quickstart/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
 Comments