定义聚合范围
通常,结合两个因子可以确定用于定义表达式中聚合值的记录。当在图表中使用时,这些因子为:
- 维度值(图表表达式中的聚合)
- 选择项
总之,这些因子可定义聚合的范围。
聚合方法
您可能会遇到希望计算忽略选择项、维度或同时忽略这二者的情况。在图表函数中,为此可以使用 TOTAL 限定符、集合分析或两者的组合。
TOTAL限定符
在聚合函数内使用合计限定符忽略维度值。将对所有可能的字段值执行聚合。
TOTAL 限定符后可能紧跟着一系列由尖括号括起来的一个或多个字段名。这些字段名应该是图表维度变量的子集。此时,计算会忽略所有图表维度变量,但会计算已列出的变量,即列出的维度字段内字段值的各组合均会返回一个值。此外,当前并非为图表内维度的字段也可能会包括在列表之中。这对于组维度可能极为有用,其中未固定维度字段。在组中列出全部变量会导致函数在钻取级变化时生效。
集合分析
在聚合内使用集合分析将覆盖选择项。将对在维度之间拆分的所有值执行聚合。
TOTAL 限定符和集合分析
在聚合内使用 TOTAL 识别符和集合分析将覆盖选择项并忽略维度。
ALL 限定符
在聚合内使用 ALL 限定符将忽略选择项和维度。通过 {1} 设置分析语句和 TOTAL 限定符可以获得同等效果。
=sum(All Sales)
=sum({1} Total Sales)
示例
示例: TOTAL 限定符
以下示例显示了如何使用 TOTAL 计算相对共享。假定已选择 Q2,使用 TOTAL 计算全部值的总和,同时忽略维度。
Year | Quarter | Sum(Amount) | Sum(TOTAL Amount) | Sum(Amount)/Sum(TOTAL Amount) |
---|---|---|---|---|
- | - | 3000 | 3000 | 100% |
2012 | Q2 | 1700 | 3000 | 56,7% |
2013 | Q2 | 1300 | 3000 | 43,3% |
示例: 集合分析
以下示例显示了如何在做出任何选择之前使用集合分析比较不同数据集。假定已选择 Q2,使用集合定义 {1} 的集合分析计算全部值的总和,同时忽略所有选择项,但按维度拆分。
Year | Quarter | Sum(Amount) | Sum({1} Amount) | Sum(Amount)/Sum({1} Amount) |
---|---|---|---|---|
- | - | 3000 | 10800 | 27,8% |
2012 | Q1 | 0 | 1100 | 0% |
2012 | Q3 | 0 | 1400 | 0% |
2012 | Q4 | 0 | 1800 | 0% |
2012 | Q2 | 1700 | 1700 | 100% |
2013 | Q1 | 0 | 1000 | 0% |
2013 | Q3 | 0 | 1100 | 0% |
2013 | Q4 | 0 | 1400 | 0% |
2013 | Q2 | 1300 | 1300 | 100% |
示例: TOTAL 限定符和集合分析
以下示例显示了如何在所有维度之间做出任何选择之前组合集合分析和 TOTAL 限定符来比较不同数据集。假定已选择 Q2,使用集合定义 {1] 的集合分析和 TOTAL 限定符计算全部值的总和,同时忽略所有选择项,并忽略维度。
Year | Quarter | Sum(Amount) | Sum({1} TOTAL Amount) | Sum(Amount)/Sum({1} TOTAL Amount) |
---|---|---|---|---|
- | - | 3000 | 10800 | 27,8% |
2012 | Q2 | 1700 | 10800 | 15,7% |
2013 | Q2 | 1300 | 10800 | 12% |
示例中所使用的数据:
AggregationScope:
LOAD * inline [
Year Quarter Amount
2012 Q1 1100
2012 Q2 1700
2012 Q3 1400
2012 Q4 1800
2013 Q1 1000
2013 Q2 1300
2013 Q3 1100
2013 Q4 1400] (delimiter is ' ');