Синтетические измерения с производительностью, лучшей чем у Valuelists

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

В прошлом, я считал этот подход чрезвычайно полезным и часто использовал его. Тем не менее, я недавно работал на клиента с большим набором данных, сделал некоторые настройки производительности и нашел подход к созданию синтетического измерения, который резко повышает производительность по сравнению с использованием valuelists и valueloops.

Вместо того чтобы использовать valueList или valueloop с расчетным размером, вы можете создать поле в своей модели данных с двойными значениями, которые соответствуют меткам и номеру строки значения поля. Их можно разместить в таблице, которая не подключена к модели данных. Этот метод может использоваться вместо расчетных измерений в графиках.

Я создал пример, используя набор демо-данных для банковской отрасли. Моя задача заключается в том, чтобы создать таблицу KPI с 4 метриками: Кредиты, средневзвешенная ставка, средневзвешенный рейтинг рисков, депозиты. Я создал отдельные документы, где я создал диаграмму дважды: один раз с помощью valueloop, а второй раз с помощью двойного измерения.

Тест 1: ValueLoop

Рис.1

Данная таблица содержит следующие атрибуты:

Измерение: =valueloop(1,4)

Выражение1: =Pick(ValueLoop(1,4),‘Loans’,‘WAR’,‘WARR’,‘Deposits’)

Выражение2: =Pick(ValueLoop(1,4),money(sum([Loan Principal Balance])),num(sum([Loan Current Interest Rate]*[Loan Principal Balance])/sum([Loan Principal Balance]),’#.##’),num(sum([Loan Risk Rating]*[Loan Principal Balance])/sum([Loan Principal Balance]),’#.##’),money(sum([Deposit Balance])))

Измерение в данном примере спрятано. Я предпочитаю этот подход прежде всего, потому что он позволяет создавать линейные элементы с такими же метками. Это полезно при создании списка КПЭ с субметриками, например:

Кредиты X,XXX
Взвешенные X.XX
Депозиты X,XXX
Взвешенные X.XX

Тест 2: Двойное измерение

Рис.2

Данная таблица содержит следующие атрибуты:

Измерение: %DualTest

Выражение: =Pick(%DualTest,money(sum([Loan Principal Balance])),num(sum([Loan Current Interest Rate]*[Loan Principal Balance])/sum([Loan Principal Balance]),’#.##’),num(sum([Loan Risk Rating]*[Loan Principal Balance])/sum([Loan Principal Balance]),’#.##’),money(sum([Deposit Balance])))

Поле % DualTest создано по следующему сценарию:

[%DualDimTest]:

Load dual(‘Loans’,1) as %DualTest

AutoGenerate(1);

Load dual(‘WAR’,2) as %DualTest

AutoGenerate(1);

Load dual(‘WARR’,3) as %DualTest

AutoGenerate(1);

Load dual(‘Deposits’,4) as %DualTest

AutoGenerate(1);

Мы используем двойную функцию в выражениях загрузки, одновременно назначая текстовое и числовое значение в поле % DualTest. Это позволяет нам представить его в виде текста в измерении диаграммы, при этом ссылаясь на числовое значение в выражении диаграммы.

Результаты Теста

Чтобы проверить каждый график, я сохранил каждый документ на чистом листе. Тогда, я полностью закрыл программу QlikView и вновь открыл документ. Оттуда, я перешел на лист, содержащий диаграмму, и проверил Calc Time в Sheet Properties > Objects. Я повторил эти шаги 5 раз для каждой схемы. Вот результаты, в миллисекундах:

ValueList Dual Dim
Попытка 1 203 78
Попытка 2 234 47
Попытка 3 219 63
Попытка 4 249 63
Попытка 5 234 63
Среднее 227.8 62.8

График valueloop формируется почти в 4 раза медленнее, чем график с использованием двойного размера. 1-й тест имеет дополнительное выражение, так что я также испробовал диаграмму без дополнительного выражения, чтобы добавить метки. Это уменьшило средний показатель до ~ 200 мс, что гораздо хуже, чем дуальный подход к измерению.

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

-Speros

 

Найти решение у бизнес-партнера QlikTech (QlikView) в России.

Форум разработчиков QlikView и Qlik Sense. Получите ответы на все вопросы по QlikView и Qlik Sense!

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

64 queries in 0,228 seconds
Website nonton bokep jepang