Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: Hugo от 10 октября 2018, 09:22:01

Название: Обновление приложений по условиям фильтра.
Отправлено: Hugo от 10 октября 2018, 09:22:01
Не могу в Sense реализовать использование в коде загрузки файлов по значениям выбранных фильтров...
Неужели невозможно?
Название: Re: Re: Автоматическая загрузка данных по расписанию
Отправлено: admin от 10 октября 2018, 01:31:57
Цитата: Hugo от 10 октября  2018, 09:22:01  
Возможно я поторопился - не могу в Sense реализовать использование в коде загрузки значений выбранных фильтров...
Неужели невозможно?
Да, через переменную. Задача - сформировать переменную и использовать ее в скрипте.
я использую отдельный массив для набора условий по одному измерению, и через расширение устанавливаю значение переменной.
Затем по кнопке (расширение) обновляемся и работаем.
Название: Re: Re: Автоматическая загрузка данных по расписанию
Отправлено: Hugo от 10 октября 2018, 01:35:07
Как в Sense задать значение переменной изменением фильтров? Именно значение, а не актуальное выбранное поле, что сейчас имею я. Может я просто синтаксис не нащупал...
Название: Re: Обновление приложений по условиям фильтра.
Отправлено: admin от 10 октября 2018, 02:00:31
Формирование приложений по условиям фильтра возможно с использованием технологии On-demand App.
Я использую упрощенный вариант (On-demand App еще не было)

Формируем островок данных для выборки.
Расширением выводим значения на кнопки, пользователь набирает себе набор групп для анализа.
Нажимает на кнопку (расширение) для установки значения переменной.
Нажимает на кнопку (расширение) для обновления.
В скрипте переменная подставляется в условии загрузки.

Но у меня задача только для одного поля.
Название: Re: Обновление приложений по условиям фильтра.
Отправлено: Hugo от 10 октября 2018, 02:57:04
Цитата: admin от 10 октября  2018, 02:00:31  
Нажимает на кнопку (расширение) для установки значения переменной.
- не подскажете какое именно расширение? С тем которое так и называется "variable" как-то не получается.
Название: Re: Обновление приложений по условиям фильтра.
Отправлено: admin от 10 октября 2018, 03:13:06
Sheet navigation + Action
но сейчас есть поинтереснее вариант, tcmenu.
Не проверял, но заявленная функция есть.

В принципе, всю последовательность действий в нем можно сделать (если все рабочее).
Название: Re: Обновление приложений по условиям фильтра.
Отправлено: Hugo от 10 октября 2018, 04:48:34
Спасибо, получилось сделать используя sense-navigation.
Значение переменной vTestFileName задаю
=MinString([Поле1])&'-'&MinString([Поле2])
Может подскажете приём как правильнее преобразовать в строку?
А в скрипте использую так:
load * , '$(vTestFileName)' as tmp
это только чтоб оценить что переменную можно использовать (смотрю данные в полученной таблице), на практике грузить файл ведь не мне нужно :)
Название: Re: Обновление приложений по условиям фильтра.
Отправлено: admin от 11 октября 2018, 07:53:14
=Replace('"'&concat(DISTINCT _ВыборГруппы,'","')&'"',chr(34),chr(39))

Цитироватьна практике грузить файл ведь не мне нужно
ох, не зарекайся  :)
Название: Re: Обновление приложений по условиям фильтра.
Отправлено: admin от 11 октября 2018, 08:12:55
Цитата: Hugo от 10 октября  2018, 04:48:34  
Спасибо, получилось сделать используя sense-navigation.
Кстати, очередное обновление доступно (https://github.com/stefanwalther/sense-navigation)
Существенно обновление, не спешите его ставить в рабочие проекты.
Название: Re: Обновление приложений по условиям фильтра.
Отправлено: Hugo от 11 октября 2018, 09:47:11
Спасибо, работает.
Теперь тут есть два варианта - мой выбирает только по одному значению поля из выбранных (т.с. подстраховка), Ваш подтягивает все, и можно даже без замен символов:

='Полный путь/'
&
concat(DISTINCT [Год],'_')
&
'-'
&
concat(DISTINCT [Месяц],'_')
&
'.xls'

Единственнно что заметил - у меня например месяцы в поле в виде текста, и они в эту строку собираются сортированные, а не в порядке поступления (т.е. "янв" всегда последний...)
Строка получается вида
"Полный путь/2017_2018-фев_янв.xls"
Т.е. месяцы удобнее использовать всюду числами, с ведущим нулём - если предполагается такого вида использование.

Название: Re: Обновление приложений по условиям фильтра.
Отправлено: admin от 11 октября 2018, 10:00:02
ОК, ну здесь главное - идея рабочая  :)