DAX/PowerBI系列 - 参数表(Parameter Table)
DAX/PowerBI系列 - 参数表(Parameter Table)
难度: ★☆☆☆☆(1星)
适用范围: ★★★★☆(4星)
概况:
这个模式比较简单灵活,而且很实用。所用的DAX语句也比较简单。
但它的变化形式很多和扩展应用范围很广。后文介绍的动态分组(Dynamic Segmentation)也是其中一种。
主要是通过筛选器(Slicer)选择不一样的参数时,DAX语句根据所选的值反映相关的选择值进行计算。
注:参数表,通常可以不放到Data warehouse里面,可以在Excel,或者PowerBI里面,用户可以随时对参数进行修改。
----------------------------------------------------------------------------------------------
先看最后PowerBI效果:

应用场景:
以下是几个应用场景:
what-if分析 商品打8折,打9折销售额,盈利都有什么变化 算法选择或度量选择 根据选择,返回同一个度量不一样的算法结果。 Top N
以销售为例:
要求:对SalesAmuont放缩,表示为x1, x1,000, x1000,000等等。
先显示效果:

数据模型:

Sacle表不与其他表相连,DAX只需要拿到所选的值对原有度量进行放缩即可。
Sales Amount :=
IF (
HASONEVALUE ( Scale[Scale] ),
SUM ( Sales[SalesAmount] ) / VALUES ( Scale[Scale] ),
SUM ( Sales[SalesAmount] )
)
要点:
- 通常一个参数表只选择一个值,通过VALUES函数(或MIN/MAX)得到所选的值。
显示结果参照上面动图或者如下:
左边x1,右边x1000
|
|
|
扩展1:多参数表
下面显示两个参数 - 折扣数和起订量 - 对折扣后的销售额的影响。
效果:

数据模型:

DiscountedSalesAmount 的计算
DiscountedSalesAmount :=
IF (
HASONEVALUE ( Discounts[DiscountValue] ) && HASONEVALUE ( MinQuantity[MinQuantity] ), --折扣和起订量都选了
CALCULATE (
[SalesAmount] * ( 1 – VALUES ( Discounts[DiscountValue] ) ),
Sales[Quantity] >= VALUES ( MinQuantity[MinQuantity] )
)
+ CALCULATE (
[SalesAmount],
Sales[Quantity] < VALUES ( MinQuantity[MinQuantity] )
),
IF (
NOT ( ISFILTERED ( Discounts[Discount] ) )
&& NOT ( ISFILTERED ( MinQuantity[MinQuantity] ) ),
[SalesAmount], --都没选
IF (
HASONEVALUE ( Discounts[Discount] ) --只选了discount的一个值
&& NOT ( ISFILTERED ( MinQuantity[MinQuantity] ) ) ,
CALCULATE ( [SalesAmount] * ( 1 – VALUES ( Discounts[DiscountValue] ) ) ),
BLANK ()
)
)
)
PowerBI效果显示如下:

要把玩上面的PowerBI请戳:
在线:Parameter-Table-Multi: https://app.powerbi.com/view?r=eyJrIjoiNDdkNjgwYjctZjBhNy00OThiLWJlMjctN2EyMDdiMzI2YWQzIiwidCI6ImQxYWY4NDdiLTJjZTEtNDRjYi1iYjUwLWQ1ODAyYmI0M2M4YiIsImMiOjEwfQ%3D%3D
下载链接: https://pan.baidu.com/s/1eR2R6Pc 密码: kiuk
Top N(大客户分析) 和 Period Table分析比较重要,会单独的后续文章介绍。
文末有彩蛋!!!
DAX/PowerBI系列 - 参数表(Parameter Table)的更多相关文章
- DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N)
DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N) 难度: ★☆☆☆☆(1星) 适用范围: ★★★☆☆(3星) 概况:此文为DAX/PowerBI系 ...
- (玩起来)DAX/PowerBI系列 - 参数表(Parameter Table) - 多时间段数值对比
盆友们,边看文章边玩,请耐心等待PowerBI load出来~~~~ (7.8秒钟) DAX/PowerBI系列 - 参数表(Parameter Table) - 多时间段数值对比 难度: ★☆☆☆☆ ...
- DAX/PowerBI系列 - 参数表(Parameter Table) 度量值模板
DAX/PowerBI系列 - 参数表(Parameter Table) 度量值模板 难度: ★★☆☆☆(2星) 适用范围: ★★★☆☆(3星) 概况: 当你有多个度量值都需要计算YTD,MoM,而又 ...
- DAX/PowerBI系列 - 关于时间系列 - 时间相关数值比较 - 用非自带函数
DAX/PowerBI系列 - 关于时间系列 - 时间相关数值比较 - 用非自带函数 文末有彩蛋,解决蛋疼问题 难度: ★★☆☆☆(2星) 适用范围: ★★★☆☆(3星) 概况: 基于时间的汇总可能是 ...
- DAX/PowerBI系列 - 库存总价值(Inventory Value)
DAX/PowerBI系列 - 库存总价值(Inventory Value) 欢迎交流与骚扰 难度: ★★☆☆☆(2星) 适用: ★★☆☆☆(2星) 概况: 有多少货(库存)当然重要(对于运营人员), ...
- DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension)
跟大家的交流是我的动力. :) DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension) 难度: ★☆☆☆☆(1星) 适用范围: ★ ...
- DAX/PowerBI系列 - 父子层级(Parent-Child Hierarchy)
DAX/PowerBI系列 - 父子层级(Parent-Child Hierarchy)参考文章见最后 难度: ◆◆◇◇◇(2星) 应用场景: 其实很多时候对数据汇总都会有层级关系的问题,不过说的不是 ...
- DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate TIME Dimension)
DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate TIME Dimension) 难度: ★☆☆☆☆(1星) 适用范围: ★★★★★(5星) 这个时间系列想 ...
- DAX/PowerBI系列 - 累计总计(Cumulative Total)
DAX/PowerBI系列 - 累计总计(Cumulative Total) 2017/07/23 更新:B列公式(见最后) 难度: ★★☆☆☆(2星) 适用: ★★☆☆☆(2星) 概况: 这个模式普 ...
随机推荐
- IOS拒绝Adobe的六大理由
苹果与Adobe的关系由来已久.事实上,Adobe的创始人还在他们众所周知的小车库里时,我们就碰过面了.苹果是他们的第一个大客户.我们将他们的Postscript语言应用于当时最新的Laserwrit ...
- 小试 Ninja
Ninja 是最近冒出来的一个 build system,它很像 make,然而效率更高,对大项目支持更好.当然我用 Ninja 和效率无关(我又没有那种有几百个中间目标的 C++ 项目要 build ...
- Bootstrap入门(二十三)JS插件1:模态框
Bootstrap入门(二十三)JS插件1:模态框 1.静态实例 2.动态实例 3.模态框的尺寸和效果 4.包含表单的模态框 模态框经过了优化,更加灵活,以弹出对话框的形式出现,具有最小和最实用的功能 ...
- HoloLens开发手记 - 开始使用Vuforia Getting started with Vuforia
Vuforia在6.1版本的Unity SDK里实现了对HoloLens的支持. 查看 Developing for Windows 10 in Unity 这篇文章来了解如何配置Unity和Visu ...
- hessian原理解析一(客户端分析)
hessian 是一款开源的二进制远程通讯协议,使用简单方法提供了RMI功能,主要用于面向对象的消息通信. 优点:跨平台.多语言支持.使用简单 缺点:传递复杂对象性能会下降,不适合安全性高的应用 一 ...
- HDU5505
GT and numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- 【G】开源的分布式部署解决方案 - 预告篇
为什么想到要做分布式部署解决方案? 当项目越做越大以后,你会发现部署变成一件极其头疼的事情.当然头疼的绝不仅仅在部署一个环节,比如新服务器环境搭建当中就许多坑要踩.各种重复性的工作,包括但不仅限于增加 ...
- Hadoop权威指南:HDFS-写入数据
Hadoop权威指南:HDFS-写入数据 FileSystem类有一系列的新建文件的方法.最简单的方法是给准备建的文件指定一个Path对象,然后返回一个用于写入数据的输出流: public FSDat ...
- [转载]【虚拟化系列】VMware vSphere 5.1 虚拟机管理
转载自:http://mabofeng.blog.51cto.com/2661587/1019497 在上一博文中我们安装了强大的VMware vCenter管理中心,通过VMware vSphere ...
- db2_errroecode
sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 +09 ...
