<< Click to Display Table of Contents >> 多粒度表达式增强复制链接 |
语法:Fixed|Include|Exclude([dim1[,dim2]...]::aggregate-expression])
增强的形式有以下四种:
•aggregate-expression可以是直接引用的单独的聚合表达式
例如 Fixed(col['procuct']::col['A']) col['A']为Sum(col['sales'])
•aggregate-expression可以是聚合表达式中包含细节表达式
例如 Fixed(col['MARKET'],col['MARKET_SIZE']::sum(col['sales'] +1))
•aggregate-expression可以是聚合表达式再进行后期计算
例如 Fixed(col['MARKET'],col['MARKET_SIZE']::sum(col['sales']) +1)
•aggregate-expression可以是条件分支包含的聚合表达式
例如 Fixed(col['MARKET'],col['MARKET_SIZE']::if sum(col['sales'])>50000 then 'Y' else 'N' end)
➢示例:
如何查看省份下的市场平均利润和省份所属市场平均利润达标的情况?我们可以设定所有产品的平均利润为目标,分别计算按市场和产品的平均利润大于总的平均利润的个数和按省份市场和产品的平均利润大于总的平均利润的个数。
操作步骤如下:
1)新建计算列“平均利润”,avg(col['利润'])。
2)新建计算列“总的平均利润”,exclude(col['省份'],col['市场分布'],col['产品名称']:: col['平均利润']),绑定到文本1,报告脚本添加 param["a"]=parseInt(文本1.data);。
3)新建计算列“按市场和产品平均利润大于总的平均利润”,fixed(col['市场分布'],col['产品名称']::if avg(col['利润'])>param["a"] then 1 else 0 end)。
4)新建计算列“按省份市场和产品平均利润大于总的平均利润”,include(col['市场分布'],col['产品名称']::if avg(col['利润'])>param['a'] then 1 else 0 end)。
5)将“省份”、“按市场和产品平均利润大于总的平均利润”、“按省份市场和产品平均利润大于总的平均利润”绑定到图表中可以得到按省份的市场达标个数和省级市场达标个数的图表,如图所示。