DAXPowerBI系列-参数表(ParameterTable)
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],powerbi官方电脑版下载
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:
下载链接: 密码: kiuk
Top N(⼤客户分析)和 Period Table分析⽐较重要,会单独的后续⽂章介绍。
⽂末有彩蛋!!!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论