【WEBI专题】解决在交叉表中计算占比、偏差、率的问题
要求如图
说明:
维:区域 、分公司、事业部、销售产品组
度量:销售金额
要求:
统计如图表格数据;
销售占比计算公式:产品组的销售金额 /对应事业部的销售数量,即 列5 / 列4;
销售偏差计算公式:(事业部产品组销售占比 -域总的销售占比 )/区域总的销售占比;
区域总销售占比=sum(销售产品组销售金额)/sum(区域销售金额)
出现的问题:
1、在统计销售产品组的销售占比的时候,存在上下文的问题;
2、销售偏差比较麻烦。
解决办法:
1、销售占比,直接用聚合函数 Percentage();参考帮助
2、销售偏差,要用到上下文的概念,请参考webi自带帮助文件
=If(IsNull(Percentage([销售金额];Row));0;Percentage([销售金额];Row)/(Sum([销售金额] In([销售产品组]) In ([区域]))/Sum([销售金额] In ([区域]))) )
重要的事偏差的分母部分:销售产品组的销售总额与 区域总销售额的比=
(Sum([销售金额] In([销售产品组]) In ([区域]))/Sum([销售金额] In ([区域]))) )
3、小tap,算出来的数据如果有为零的情况下,要求显示为空,负值显示为红色
!在数字格式 里进行设置,自定义格式:为零 处 打个空格,负值的地方在格式表示后加 [red]
百分比
说明
返回一个数值与另一个数值的比率
函数组
聚合
语法
number Percentage([measure];[BREAK];[ROW|COL])
输入
[度量] |
报表中的任何度量 |
解释表拆分(可选) |
|
计算方向(可选) |
输出
当前计算上下文中的度量值与缺省嵌入上下文中的度量值的比率。
示例
下表中的“百分比”列包含公式 Percentage ([销售收入])
Year |
销售收入 |
百分比 |
2001 |
1000 |
10 |
2002 |
5000 |
50 |
2003 |
4000 |
40 |
总和: |
1000 |
100 |
默认情况下,嵌入上下文是表中的度量总计。您可以使用可选的 BREAK 参数,让该函数考虑表中的拆分。在此情况下,缺省的嵌入上下文变为表节。
下表中“百分比”列包含公式 Percentage ([Sales Revenue]; BREAK)
Year |
Quarter |
销售收入 |
百分比 |
2001 |
第 1 季度 |
1000 |
10 |
|
第 2 季度 |
2000 |
20 |
|
第 3 季度 |
5000 |
50 |
|
第 4 季度 |
2000 |
20 |
2001 |
总和: |
10000 |
100 |
Year |
Quarter |
销售收入 |
百分比 |
2002 |
第 1 季度 |
2000 |
20 |
|
第 2 季度 |
2000 |
20 |
|
第 3 季度 |
5000 |
50 |
|
第 4 季度 |
1000 |
10 |
2002 |
总和: |
10000 |
100 |
可以跨列或跨行使用 Percentage 函数;可以使用可选的 ROW|COL 参数明确指定这种用法。例如,以下交叉表中的“百分比”列包含公式 Percentage ([Sales Revenue];ROW)。
|
第 1 季度 |
百分比 |
第 2 季度 |
百分比 |
第 3 季度 |
百分比 |
第 4 季度 |
百分比 |
2001 |
1000 |
10 |
2000 |
20 |
5000 |
50 |
2000 |
20 |
2002 |
2000 |
20 |
1000 |
10 |
4000 |
40 |
2000 |
20 |