Определение объема агрегирования
Обычно два фактора в совокупности определяют записи, которые используются для определения значения агрегирования в выражении. При работе в визуализациях эти факторы следующие:
- Значение измерения (в случае агрегирования в выражении диаграммы)
- Выборки
Вместе эти факторы определяют объем агрегирования. Возможны ситуации, когда необходимо проигнорировать в вычислениях выборку и/или измерение. В функциях диаграммы этого можно достичь с помощью классификатора TOTAL, анализа множеств или их комбинации. Подведем итоги:
-
Чтобы проигнорировать группировку измерений или настроить ее: используйте классификатор TOTAL.
-
Чтобы проигнорировать или настроить выборку: используйте анализ множеств
| Способ | Описание |
|---|---|
| Классификатор TOTAL |
Использование классификатора total в функции агрегирования игнорирует значение измерения. Классификатор Total можно использовать внутри агрегирования, чтобы переопределить область агрегирования, игнорируя значения измерений. Вместо этого агрегирование будет выполнено в отношении всех возможных значений поля.
После префикса TOTAL может быть указан список, включающий одно или несколько имен полей в угловых скобках. Пример: Sum(TOTAL <Quarter> {<Year={2013}, Quarter={'Q2'}>} Amount) Эти имена полей должны быть поднабором измерений диаграммы. В этом случае при вычислении будут проигнорированы все измерения диаграммы, кроме перечисленных, то есть одно значение возвращается для каждого сочетания значений полей в перечисленных полях измерений. Поля, которые в текущий момент не являются измерением в диаграмме, могут также включаться в список. Это может быть полезно для измерений группы, в которых поля измерений не фиксированы. Перечисление всех измерений в группе приводит к тому, что функция предоставляет последовательные результаты агрегирования при изменении уровня детализации. Пример добавления исключений в угловых скобках см. здесь: Пример: классификатор 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 и анализ множеств (классификатор {1})
В следующем примере показано, как анализ множеств и классификатор 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% |
Пример: классификатор TOTAL и анализ множеств (сравнение данных с эталонным значением)
В следующем примере показано, как можно использовать анализ множеств и классификатор TOTAL для создания ссылочных столбцов в таблице, чтобы легко сравнивать метрики на уровне строк. Чтобы данные было проще понять и использовать, мы обозначили столбцы с мерами.
Данные за второй квартал 2013 года используются в качестве эталона для сравнения со всеми остальными значениями в таблице.
Выполните следующие действия.
-
Добавьте на лист таблицу.
-
Добавьте следующие поля как измерения:
-
Year
-
Quarter
-
-
Добавьте следующую меру:
Sum(Amount) -
В свойствах только что добавленной меры задайте следующую метку: Total Sales.
-
Добавьте следующую меру:
Sum(TOTAL {<Year={2013}, Quarter={'Q2'}>} Amount) -
В свойствах только что добавленной меры задайте следующую метку: Reference Quarter (2013-Q2) Total Sales
-
Добавьте следующую меру:
round((sum(Amount) / sum(total {<Year={2013}, Quarter={'Q2'}>} Amount))*100,'0.01') & '%' -
В свойствах только что добавленной меры задайте следующую метку: Rounded Quotient - Total Sales Compared to Reference Quarter (2013-Q2)
Если не применено никаких выборок, таблица должна выглядеть следующим образом:
| Year | Quarter | Total Sales | Reference Quarter (2013-Q2) Total Sales | Rounded Quotient - Total Sales Compared to Reference Quarter (2013-Q2) |
|---|---|---|---|---|
| 2012 | Q1 | 1100 | 1300 | 84.62% |
| 2012 | Q2 | 1700 | 1300 | 130.77% |
| 2012 | Q3 | 1400 | 1300 | 107.69% |
| 2012 | Q4 | 1800 | 1300 | 138.46% |
| 2013 | Q1 | 1000 | 1300 | 76.92% |
| 2013 | Q2 | 1300 | 1300 | 100.00% |
| 2013 | Q3 | 1100 | 1300 | 84.62% |
| 2013 | Q4 | 1400 | 1300 | 107.69% |
Пример: классификатор TOTAL с исключением и анализ множеств
В следующем примере показано, как использовать классификатор TOTAL, но в угловых скобках указано исключение из этого классификатора. В примерах выражений также используется анализ множеств.
Выполните следующие действия.
-
Добавьте на лист таблицу.
-
Добавьте следующие поля как измерения:
-
Year
-
Quarter
-
-
Добавьте следующую меру:
Sum(Amount) -
В свойствах только что добавленной меры задайте следующую метку: Total Sales.
-
Добавьте следующую меру:
Sum(TOTAL <Quarter> {<Year={2013}, Quarter={'Q2'}>} Amount) -
В свойствах только что добавленной меры задайте следующую метку: Reference Quarter (2013-Q2) Total Sales
| Year | Quarter | Total Sales | Reference Quarter (2013-Q2) Total Sales |
|---|---|---|---|
| 2012 | Q1 | 1100 | 0 |
| 2012 | Q2 | 1700 | 1300 |
| 2012 | Q3 | 1400 | 0 |
| 2012 | Q4 | 1800 | 0 |
| 2013 | Q1 | 1000 | 0 |
| 2013 | Q2 | 1300 | 1300 |
| 2013 | Q3 | 1100 | 0 |
| 2013 | Q4 | 1400 | 0 |
Выражение для ссылочного столбца интерпретируется следующим образом:
-
Выражение множества {<Year={2013}, Quarter={'Q2'}>} ограничивает входные данные записями за Year 2013 и Quarter Q2.
-
Классификатор TOTAL гарантирует, что все измерения в таблице будут проигнорированы. Однако при использовании спецификатора <Quarter> делается исключение для измерения Quarter.
Данные, используемые на этой странице
Данные, используемые в примерах:
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 ' ');