Fixed函数
1.概述
Fixed是什么:fixed是一种可以独立于视图中的内容制定计算的计算方式,简单来说也是“对于每一个维度计算聚合的表达式”。fixed结果不受视图的维度影响,只按照fixed里的维度进行计算。正因为fixed结果不受视图维度影响,就可以利用fixed来实现跨粒度的计算,比如求总计或者求占比。
2.语法介绍
语法如下:
{FIXED [维度1],[维度2]:计算表达式 [度量]}
例子:对于每一个类别,计算销售额的总和。
{FIXED [类别]: Sum([总计])}
例子二:对于每一个类别,计算销售额的平均数
{FIXED [类别]: Avg([总计])}
当然您也可以不指定任何维度,这将计算给定聚合表达式的总计如下:
{FIXED : Sum([总计])}
提示:这里您可以跳过FIXED和冒号直接输入{Sum([总计])}
这将具有和FIXED相同的结果
3.应用场景
1.计算总计
例子:想要计算每个类别销售额的总计。
原始数据:
解决方法:当前数据粒度为类别和子类别,需要求出各类别的总销售额,就需要用fixed函数计算类别总销售额。
(1)创建一个计算字段,用fixed计算类别总计。
(2)将类别总计拖入视图,可以看到下面对于同一类别中的不同子类别,得到相同的值(类别总计一列)。例如,纸张、装订机等不同办公用品,对应的类别总计金额相同。
类似地,对于总计级别,创建新的字段并将其添加到视图中。
可以看到,对于所有记录,总合计一列的值相同。
SUM()求和 和 FIXED 的计算的区别在于,SUM计算将根据视图中的维度进行计算,而 FIXED函数将根据 fixed中指定的维度和度量进行计算,不受视图维度的影响。
2. 计算百分占比关系
假如想通过知道某一子类别销售额占类别销售额的百分比,这时可以在计算中使用FIXED。
(1)创建一个名为占比的字段。
(2)把创建好的字段拖入表格中。此时,新建的字段占比显示每一项子类别销售额占各类别销售额的占比情况。
4. Fixed优先级
从下图可知,在不提高维度数据筛选和维度筛选器控件的筛选优先级时,fixed筛选优先级高于数据筛选和筛选器控件筛选,也就是说fixed的结果不受数据筛选和筛选器控件的影响。
例如,当我们现在只想看到纸张、电话、桌子的销售情况时,通过筛选在子类别里面保留对应选项,可以看出LOD值不随子类别的改变而改变。
如果希望fixed受到筛选器的筛选,则需要提高维度筛选器控件和维度数据筛选的优先级。
筛选器控件-优先筛选:
数据筛选-上下文筛选:
以上内容对您是否有帮助?