这回我们介绍另一个函数的使用,percentage,是一个求百分比的函数
percentage ( 数字型表达式 [ at 表达式 { , 表达式 } ] [ <for 选项> ] [ prefilter ] ) percentage ( 数字型表达式 [ <for 选项> ] [ prefilter ] )<for 选项> ::= for 表达式 { , 表达式 }|for report|auto 返回选定数据项占合计值的百分比。“<for 选项>”定义函数的作用域。“at”选项定义聚合级别,只能在关系数据源上下文中使用。 此函数出现在“百分比计算(按年)”交互式示样报表中。
对于数量来说,每一个单元格都是根据产品系列和订购方法进行汇总的;
for产品系列的时候,分子是当前单元格,分母是根据产品系列进行汇总;
for订购方法的时候,分子是当前单元格,分母是根据产品系列进行汇总;
for产品&订购的时候,分子式当前单元格,分母是根据产品系列和订购方法进行汇总的。
附SQL:
select distinct "T0"."C0" "订购方法类型key", "T0"."C1" "产品系列key", "T0"."C2" "数量", (first_value("T0"."C2") over(partition by "T0"."C0", "T0"."C1") * 1.0e0) / nullif(sum("T0"."C3") over(partition by "T0"."C1"), 0) "for产品系列", (first_value("T0"."C2") over(partition by "T0"."C0", "T0"."C1") * 1.0e0) / nullif(sum("T0"."C3") over(partition by "T0"."C0"), 0) "for订购方法", (first_value("T0"."C2") over(partition by "T0"."C0", "T0"."C1") * 1.0e0) / nullif(first_value("T0"."C3") over(partition by "T0"."C1", "T0"."C0"), 0) "for产品_订购" from ( select "T0"."C0" "C0", "T0"."C1" "C1", "T0"."C2" "C2", first_value("T0"."C2") over(partition by "T0"."C0", "T0"."C1") "C3" from ( select "SLS_ORDER_METHOD_DIM"."ORDER_METHOD_SC" "C0", "coguda11"."PRODUCT_LINE_SC" "C1", sum("SLS_SALES_FACT"."QUANTITY") "C2" from "GOSALESDW"."SLS_ORDER_METHOD_DIM" "SLS_ORDER_METHOD_DIM",