Фишки по коду и выражениям (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 в колонках замедляет разработку фактически в несколько раз. Чтобы этого избежать, можно в условии вычисления всей таблицы поставить ноль, внести изменения и потом условие изменения убрать. Т.е. фактически отрубить автоматический расчет таблицы вручную.

4.9 15 голосов
Рейтинг статьи

Подписаться
Уведомление о
guest
0 комментариев
Встроенная Обратная Связь
Просмотр всех комментариев
0
Оставьте, пожалуйста, комментарий!x