Cognos函数(七) - percentage的使用

这回我们介绍另一个函数的使用,percentage,是一个求百分比的函数

1.基本报表

Cognos函数(七) - percentage的使用_第1张图片

Cognos函数(七) - percentage的使用_第2张图片

2. percentage 概述

percentage ( 数字型表达式 [ at 表达式  { , 表达式 } ] [ <for 选项> ] [ prefilter ] )
percentage (  数字型表达式 [ <for 选项> ] [ prefilter ] )<for 选项> ::= for 表达式 { , 表达式 }|for report|auto
返回选定数据项占合计值的百分比。“<for 选项>”定义函数的作用域。“at”选项定义聚合级别,只能在关系数据源上下文中使用。
此函数出现在“百分比计算(按年)”交互式示样报表中。

3. 新建数据项

3.1  for产品系列

Cognos函数(七) - percentage的使用_第3张图片

3.2 for订购方法

Cognos函数(七) - percentage的使用_第4张图片

3.3 for产品&订购

Cognos函数(七) - percentage的使用_第5张图片

4. 运行

Cognos函数(七) - percentage的使用_第6张图片

Cognos函数(七) - percentage的使用_第7张图片

对于数量来说,每一个单元格都是根据产品系列和订购方法进行汇总的;

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",


好了,这样就可以了,稍后,研究下这个first_value事干嘛的,真没用过。

你可能感兴趣的:(函数,Cognos,percentage,ReportStudio)