Когда я только начал использовать QlikView, под понятием большие данные понимался большой набор данных в 10 млн. записей. Обработать такой набор можно было легко на 4-ядерном процессоре с 36 Гб оперативной памяти. Сейчас уже 100 млн. строк обрабатываются на 16-ядерных процессорах с 256 Гб оперативки.
Не так давно я делал приложение из 7 млрд. строк, это была только одна транзакционная таблица. Технология Data Discovery легко справится с этой задачей, а для реальной обработки больших данных в QlikView и Qlik Sense нужны другие подходы.
Альтернативный подход к аналитике больших данных я представляю в такой последовательности шагов:
- Пользователь выбирает набор измерений из набор измерений приложения (эти выборки сгруппированы в URL).
- URL обращается к веб-службе, которая клонирует управляемый QVW и передает параметры в паблишер, который перезагружает документ с заданными параметрами.
- Пользователь перенаправляется во вновь созданное приложение QlikView.
Для нормальной работы приложения нужно использовать некоторые хитрости в процессе написания скрипта QlikView, и веб-служба должна быть написана на.NET.
Перемещение данных в URL
Для работы на этом шаге вам нужно найти решение для переноса выбранных измерений в корзину приложения, а затем в веб-службу. Это можно сделать при помощи настройки действия на открытый URL.
Некоторые особенности, которые нужно учесть при таком подходе:
- Ссылка должна быть не более 2083 букв.
- При работе таким способом вы можете легко открыть конфиденциальную информацию компании через открытую ссылку в браузере.
- Ссылки нужно для обращения к серверу, а мы используем их в этом случае альтернативным способом, поэтому это нарушает принятые стандарты работы с вебом.
Все эти ограничения приводят нас к поиску другого подхода
Отправляем данные в веб-службу через POST
Лучшим способом решения этой задачи будет POST. Данные при помощи POST отправляются в виде запроса. Эта информация скрыта от типового пользователя. Есть только одна проблема – QlikView не имеет встроенного объекта для настройки действий POST. Решение очень простое – создадим собственное расширение.
POST: расширение для Qlik
Создав это расширение, вы сможете работать в вашем приложении QlikView как в веб-среде. Итак, создадим специальную кнопку стиля, которая будет отправлять значения через POST в веб.
Здесь предлагаю вам воспользоваться готовым расширением в формате QAR. Весь код хорошо откомментирован, поэтому сложностей здесь возникнуть не должно. Открыть его вы сможете в любом текстовом редакторе.
Расширение позволяет разработчику Qlik настроить кнопку трансформации данных и обновлять их на HTML-странице через POST-метод. Стиль кнопки можно настроить через файл стилей CSS (внутри архива с расширением).
Использование расширение
Скачайте расширение и запустите его установку. После этого расширение отправлено в папку пользователя Qlik. Запустите документ QlikView и откройте настройки (настройки документа, общие). Выберите WebView. Теперь вы можете использовать расширение в своем приложении.
Добавляем расширение
- Для добавления расширения открываем контекстное меню (щелчок правой кнопкой мыши в свободном поле листа документа QlikView) и добавляем новый объект.
2. Из списка выберите объекты Расширение. Переместите кнопку на лист.
3. Теперь кнопка активна на листе.
Настройка расширения
Здесь вы можете настроить условия.
- Нажмите правой кнопкой мыши на расширении и откройте Настройки.
- Здесь вы можете настроить следующие вещи:
- Текст кнопки: Это тот текст, который написан на кнопке.
- URL-ссылка: ссылка, куда отправляются данные в POST https://www.mywebservice.co.uk/webservice/v1/.
- Параметры: Данные передаются как единое значение с именем.
- Включить условие: принимает значение 0/1.
- Представление. Настройки другой части объекта.
- Вот и все. Получится вот такой формат:
Расширение QlikView POST-кнопка
Удачных вам Qlik-разработок
Свежие комментарии