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星) 概况: 这个模式普 ...
随机推荐
- libcurl模拟登录CSDN并自动评论资源以获取积分
软件及源码下载:(http://pan.baidu.com/s/1jGE52pK) 涉及到的知识点: C++多线程编程 libcurl的使用(包括发送http请求.发送cookie给服务器.保存coo ...
- 棒!使用.NET Core构建3D游戏引擎
原文地址:https://mellinoe.wordpress.com/2017/01/18/net-core-game-engine/ 作者:ERIC MELLINO 翻译:杨晓东(Savorboa ...
- TypeScript教程1
Boolean类型aser:和as3一样 var isDone: boolean = false; 复制代码 Number类型aser:as3经常用int和uint,以后只用number就可以啦 va ...
- Unity3d Hololens MR开发入门
一.Hololens概述 Hololens有以下特性 1.空间映射借助微软特殊定制的全息处理单元(HPU),HoloLens 实现了对周边环境的快速扫描和空间匹配.这保证了 HoloLens能够准确地 ...
- 《JAVASCRIPT高级程序设计》错误处理与调试
一.错误处理 错误处理在程序设计中的重要性是毋庸置疑的,任何有影响力的web应用程序都需要一套完善的错误处理机制.良好的错误机制可以让用户得到提醒,知道发生了什么事. 1.try-catch语句 tr ...
- 蓝桥网试题 java 基础练习 十六进制转十进制
---------------------------------------------------------------------------------------- 貌似用int类型不会超 ...
- 游戏音频技术备忘 (三) 集成Wwise到Unreal Engine
当前受众较广的商业游戏引擎有 Unreal Engine.Unity.cocos2d-x等,在音频领域的第三方中间件则有Wwise.FMOD.Criware等,言多且烦,我们首先集成Wwise到 Un ...
- Android注解学习(1)
对于注解这个概念刚开始不是很理解,翻阅了其他人博客,参考实现的例子开始理解与运用.以前刚开始的写android项目时,一般找定义控件并初始化控件都是调用findviewbyId,然而当一个布局页面(类 ...
- 使用Dom解析器,操作XML里面的信息
import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;impo ...
- Jquery 文字上下滚动效果示例代码
<!doctype html> <html> <head> <meta charset="utf-8"> ...
