固定维度表达式

<< Click to Display Table of Contents >>

当前位置:  附录 > 计算列和计算函数 > 基础函数 > 多粒度表达式函数 

固定维度表达式

复制链接

此表达式使用指定的维度计算值,而不引用组件中的任何其他维度。

语法:Fixed ([dim1[,dim2]...]::aggregate-expression])

例如: Fixed(col['procuct']::Sum(col['sales']))

说明:Fixed 的执行顺序在页面过滤之前,数据集过滤之后。即:如果希望 Fixed 的数据随着过滤条件改变而发生改变,需要将过滤放到数据集上。

示例:

如下表,如果想要计算爱尔兰咖啡的销售额占整个咖啡销售额的百分比,则可以使用fixed详细级别表达式。

calculation_lod7

操作步骤如下:

1)新建计算列“产品种类销售额”,计算出每个产品种类的销售额。在编辑器中输入LOD表达式:fixed(col['产品种类']:: sum(col['销售额']))。

2)新建计算列“销售额占比”,用每个产品名称的销售额总和除以每个产品种类的销售额总和。在编辑器中输入表达式:sum(col['销售额'])/sum(col['产品种类销售额'])。

3)将建立的表达式“产品种类销售额”和“销售额占比”添加绑定到表格中,就可以轻松地看到每个产品名称在每个产品种类下的占比情况,爱尔兰咖啡的销售额占整个咖啡销售额的29%,效果如图。

calculation_lod8

同理,我们延伸一下,每个“市场级别”-“产品种类”-“产品名称”的销售额,也可以通过多粒度表达式计算出来。例如:Fixed(col['市场级别'], col['产品种类'], col['产品名称']::Sum (col['销售额'])),可以清晰的看到我们按照维度一步一步的把计算粒度扩展,往更细粒度的角度查看销售额贡献的百分比。