Содержание урока по Qlik Sense
Фишки по коду и выражениям (script & expression)
Количество выбранных элементов в измерении
GetSelectedCount([Товар Название])
Количество возможных элементов в измерении
GetPossibleCount([Товар Название])
Получить количество полей из таблицы модели
=Count({1<$Table={'Таблица Фактов'}>} $Field)
Переменная “Условие-проверка”, что приложение Qlik перегрузилось сегодня
vAppReload =match(today(0),today(2))
Получить в скрипте текст, заключенный между символами
Текст между символами:
=TextBetween('lkj dsf 554 [Текст в квадратных скобках]','[',']')
Как менять значения переменной по кругу при нажатии на кнопку
Как менять значения переменной по кругу:
=pick(match($(пПеременная),1,2,3,4,5,6),2,3,4,5,6,1)
Сравнение поля с конкретным временем
Time(Left([Время обработки],8))>MakeTime(18,30,00)
Время обновления файла
Let vFileDateTimeModified = FileTime('C:\QS_QVD\Чеки.qvd');
Выход из скрипта по условию
Exit Script when a=1;
Значение по умолчанию для конструкции Pick(Match())
Pick & Match – значение по-умолчанию, если не найдено условие
Pick(Match(lower([Флаг]),'true','false')+1,'Не определено','Да','Нет') As [Какой-то аналитический признак]
Проверка поля на пустоту в скрипте Qlik Sense
Проверка поля на пустоту (вместо not IsNull and <>”)
Len(Trim([Поле справочника]))=0
Использование Match при наличии пустых значений в поле
Наткнулся, что в Match не учитывает пустые значения (null). Т.е. условие в скрипте
UPPER([Ассортимент]) <> 'ВЕЛОСИПЕДЫ'
не эквивалентно условию
Match(UPPER([Ассортимент]),'ВЕЛОСИПЕДЫ')=0
Решилось:
RangeSum(0,Match(UPPER([Ассортимент]),'ВЕЛОСИПЕДЫ'))=0;
Аналогично в WildMatch
Сбросить фильтры по всем полям какой-то конкретной таблицы
Если Вам при расчете показателя необходимо сбросить фильтры по всем полям какой-то таблицы, то необходимо в приложении создать переменную пСброситьВыборкиПолейТаблицы:
$(=CONCAT({1<$Table = {'$1'}>} DISTINCT '['& $Field &']=', ',') )
Далее в выражении нужно записать следующую формулу (Выражение в таблице для расчета показателя ‘Текущий остаток’):
sum({<$(пСброситьВыборкиПолейТаблицы(Календарь))>} [Текущий остаток])
Tips & Tricks по работе с визуализацией
Редактирование таблицы в Qlik Sense с большим количеством столбцов
В Qlik Sense все изменения производимые в столбцах мгновенно начинают отображаться в таблице (автоматическое применение изменений). Когда столбцов много, то любой update в колонках замедляет разработку фактически в несколько раз. Чтобы этого избежать, можно в условии вычисления всей таблицы поставить ноль, внести изменения и потом условие изменения убрать. Т.е. фактически отрубить автоматический расчет таблицы вручную.