Сумма строк в сводных таблицах

В приложении QlikView можно выбрать итоги прямой таблицы: простую сумму строк и вычисляемые итоги по выражению. В сводной таблице в приложении QlikView это выбрать нельзя. Итоги сводной таблицы всегда вычисляются как итоги по выражению.

Обычно этот вариант удовлетворителен, поскольку редко бывают случаи, когда итог суммы строк действителен при различии двух.

Предупреждение: Следует крайне осторожно использовать суммы строк агрегирования типов, отличных от чистых сумм.

Отметив эту проблему, теперь рассмотрим пример, где итог суммы строк, тем не менее, является верным результатом.

Пример:  

В школьном конкурсе участвуют три команды учащихся, которые набирают очки за отметки по трем предметам. Команда может выбрать самую высокую отметку в группе по отдельному предмету, а затем сложить три лучших отметки для получения итога. Следующие данные прочитаны из скрипта:

В прямой таблице с элементом Class в качестве измерения и Max(Score) в качестве выражения получается следующая сумма строк:

Если прямая таблица была преобразована в сводную таблицу, которая всегда вычисляется как итоговое выражение вместо суммы строк, возникнет вопрос:

В данном случае итог 12 — это то, что ожидается, а 5 не походит для наших целей. В данном случае функцияAggr может быть использована в выражении, а не в измерении.

Исходное выражение заключено в функцию Aggr с использованием измерения окружающей диаграммы также в качестве измерения в функции Aggr. Теперь этот пакет используется в качестве аргумента для агрегирования Sum. Теперь в таблице отобразится ожидаемое итоговое значение:

Уникальность функции расширенного агрегирования состоит в том, что для отдельных строк оцениваются только отдельные значения. Очевидно, это обусловлено тем, что измерение имеет только одно возможное значение в каждой строке данных. Поскольку внутренние измерение и выражение такие же, как и для окружающей диаграммы, каждое значение будет таким же, как результат без заключения в элемент Sum и в функции расширенного агрегирования.

Однако для итога строк функция расширенного агрегирования возвратит три значения, каждое из которых соответствует полю измерения. Они в свою очередь суммируются агрегированием Sum. Хотя формально результат все еще является итогом по выражению, он соответствует сумме строк.