Определение объема агрегирования
Обычно два фактора в совокупности определяют записи, которые используются для определения значения агрегирования в выражении. При работе в диаграммах эти факторы следующие:
- Значение измерения (в случае агрегирования в выражении диаграммы)
- Выборки
Вместе эти факторы определяют объем агрегирования. Возможны ситуации, когда необходимо проигнорировать в вычислениях выборку и/или измерение. В функциях диаграммы это можно достичь с помощью классификатора
Способ | Описание |
---|---|
Классификатор |
Использование классификатора total в функции агрегирования игнорирует значение измерения. Агрегирование будет выполнено в отношении всех возможных значений поля. После классификатора TOTAL может быть указан список, включающий одно или несколько имен полей в угловых скобках. Эти имена полей должны быть поднабором переменных измерений диаграммы. В этом случае при вычислении будут проигнорированы все переменные измерений диаграммы, кроме перечисленных, то есть одно значение возвращается для каждого сочетания значений полей в перечисленных полях измерений. Поля, которые в текущий момент не являются измерением в диаграмме, могут также включаться в список. Это может быть полезно для измерений группы, в которых поля измерений не фиксированы. Перечисление всех переменных в группе вызывает выполнение функции при изменении уровня детализации. |
Анализ множеств | Использование анализа множеств в агрегировании переопределяет выбор. Агрегирование будет выполнено в отношении всех значений по всем измерениям. |
Классификатор |
Использование классификатора TOTAL и анализа множеств в агрегировании переопределяет выбор и игнорирует измерения. |
Классификатор |
Использование классификатора ALL в агрегировании игнорирует выбор и измерения. Аналогичный результат можно получить с помощью оператора анализа множеств =sum(All Sales) =sum({1} Total Sales) |
Example: Классификатор 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% |
Example: Анализ множеств
В следующем примере показано, как анализ множеств может быть использован для сравнения наборов данных перед выполнением выборок. При условии, что выбран элемент
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% |
Example: Классификатор 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 ' ');