PowerBI 将支持度量值爆炸模式 颠覆将再度来袭

2019-09-23 19:37:40 浏览数 (1)

在2019年3月,微软连续发布了 SSAS 2019 的社区预览版CTP2.3及2.4,SSAS 引擎中加入了新的特性。就这点也可以从 Power BI 的引擎中看到。

这里新增的三个DAX函数将是未来非常重要的主角。

问题背景

在一个企业里一般有很多指标,例如:销售额,利润,利润率,客户数,平均单价,…,动辄达到 100 个度量值,很正常,那么写 100 个度量值也很正常。接着,我们需要按照时间来计算:

至少有7种模式,每种模式里涉及到年,季,月,周四种时间段粒度,就是28种时间计算可能性,而考虑到 100 个业务指标,就需要为每个业务指标都写 28 次时间方面的业务逻辑,最终形成 2800 个业务指标的度量值爆炸现象。

计算逻辑重用

这里涉及一个非常重要的问题就是计算逻辑重用。也就是如何重复利用包括按时间计算的所有逻辑。来支持度量值爆炸,或者说不必爆炸,让度量值维持在原有的水平。

于是微软引入了新的概念(其实这在SSAS曾经的多为模型版本中存在),但表模型(也就是现在PowerBI所使用的建模套路)更加贴近业务的思维方式。

在Excel120的精英培训中,我们揭示过这个本质:将复杂的现实世界抽象,对应成表,并通过软件,ERP,APP,物联网等手段收集数据;用表的关系表示现实业务的关系;基于表来进行计算,得到的洞察价值也就反应了现实业务的问题。这就是表模式的由来,它非常地自然。

然而,PowerBI 的设计除了需要反应现实问题,更重要的是能够用商业智能的模式来对问题进行处理,这就需要一套多维度模型的模式,而表是二维的,PowerBI 大大简化了这套模式,这种简化不仅简化了难度,还削弱了能力;为了弥补计算逻辑复用的缺失,在新版本中,将加入 Calculation Group (可翻译为:计算组或组计算)的概念。

先睹为快

目前这项能力的加入是在引擎层面的,因此没有任何微软的工具可以来编辑或体验,我们需要用到一个第三方的工具,叫:Tabular Editor,如下:

它可以直接最新的引擎直接编写模型,也提供了编写计算组的机会。如下:

当然,在做这些操作之前,需要安装 SQL Server 2019 CTP 2.4,然后我们使用 Tabular Editor 制作好模型并发布。

PowerBI 连接 SSAS 2019

我们来看看 PowerBI 连接 SSAS 2019 使用上的效果。正常情况下,我们有三个指标如下:

接着,我们有两套需要复用的计算逻辑: XTD逻辑:包括YTD,QTD,MTD; PreviousPeriod逻辑:包括PY,PQ,PM;

XTD逻辑又可以和PreviousPeriod逻辑排列组合形成:9种逻辑。这样,对于3个度量值,需要演变成为 27 个度量值,增长9倍。

幸好现在有了组计算的模式,我们可以不用写27个度量值了。 如果重用XTD逻辑,样子是这样的:

如果重用PreiousPeriod逻辑,样子是这样的:

更令人惊叹的是,这两种逻辑的嵌套使用:

当然,这两种逻辑的嵌套使用可以任意排布,它的灵活性足够我们产生想象空间了。这里做一个小视频来展现这个过程:

是不是很震撼。组计算的能力远远不止于此,该特性将随SSAS 2019在今年后半年推出,让我们拭目以待。值得注意的是,这里面所涉及的三个非常重要的DAX函数已经在PowerBI中存在了,那么PowerBI具备这种特性也将是一个非常理所应当的事情。

总结

从 PowerBI 2019的4月更新来看,PowerBI正在不断加强DAX的位置,未来也许是 DAX驱动可视化 的,DAX 除了可以增强模型,如组计算;也增强了可视化的可能性,在此前有大量文章已经做了深入的讨论,就不再展开。让我们一起等待这项计算可以产生颠覆效用的特性的正式发布吧。

——

参考:内行才能看懂的 PowerBI DAX 引擎重大更新来了

sas

0 人点赞