1. ISFILTERED
返回 TRUE 或 FALSE,取决于作为参数的列是否被直接筛选,也就是说,参数列已经被放在行、列、切片器或筛选器上,并且正在对当前计值区域进行筛选。
当使用表作为参数时,只要表中的任意一列被直接筛选,ISFILTERED 返回 TRUE
[CategoryFilter] := ISFILTERED ( 'Product Category'[Category])
[ColorFilter] := ISFILTERED ( Product[ColorName] )
image.png
image.png
总计的这种特征,即不应用来自行和列的筛选器,
- 针对总计显示不同值
2)理解计值的cell是否在透视表内还是位于总计行
2. ISINSCOPE
当<ColumnName>位于[筛选上下文]中,且被用于层级结构时,返回 true。
image.png
用法1)识别总计行
AveSales_adjust =
IF ( ISINSCOPE( 'Sale'[Color] ), AVERAGE( Sale[SalesAmount] ), BLANK () )
image.png
用法2)求类别内部的占比
https://www.jianshu.com/p/9d2bf272aefb
image.png
占比 层级 =
SWITCH (
TRUE (),
ISINSCOPE ( '产品'[产品名称] ), DIVIDE ( [销售额], CALCULATE ( [销售额], ALLSELECTED ( '产品'[产品名称] ) ) ),
ISINSCOPE ( '产品'[产品类别] ), DIVIDE ( [销售额], CALCULATE ( [销售额], ALLSELECTED ( '产品'[产品类别] ) ) ),
DIVIDE ( [销售额], CALCULATE ( [销售额], ALLSELECTED ( '产品'[产品名称] ) ) )
)
用法3)求类别内的排名
SalesRankInscope =
IF (
ISINSCOPE ( Sale[Product] ),
//在同一产品类别内部
RANKX (
CALCULATETABLE ( VALUES ( Sale[Color] ), ALLSELECTED ( Sale[Color] ) ),
//读取产品类别内部所有颜色
[Sales]
)
)