Size: a a a

2019 November 28

ЕС

Евгений Стучалкин... in Qlik BI chat
Andrew
Товарищи, а какой самый простой и элегантный способ посчитать продажи по году, предшествующему выбранному в фильтре?
В фильтре у меня Year = 2019. Если пишу так, то работает:
sum({<[Year] = {'2018'}>} [Продажи])
На что надо заменить "2018', чтоб он выводил продажи по фильтру минус один? Я теряюсь в синтаксисе
{<[Year]={$(=Max(Year)-1)}>}
источник

A

Andrew in Qlik BI chat
Евгений Стучалкин
{<[Year]={$(=Max(Year)-1)}>}
А если я в фильтре поставлю 2018 год (чтобы 2017 был предыдущим)? Он же макс будет всё равно выдавать 2019
источник

DS

Daniil Semenov in Qlik BI chat
Если выбрано всегда одно значение, то можно и без max
источник

DS

Daniil Semenov in Qlik BI chat
а так max будет брать значения из текущей выборки, так что покажет то, что выбрано
источник

A

Andrew in Qlik BI chat
всё, макс убрал! спасибо огромное
источник

A

ASM in Qlik BI chat
Sergey Nazarkin
Предложенная вами схема значительно более ресурсозатратна, что как следствие, на больших объемах не подходит.
Пока остановился на left keep + Exist.
Вот интересно есть ли смысл добавлять Exist при использовании left keep?
Я бы сказал смотря как много  нужно сопоставить. Keep отработает только в рамках таблицы. Exist в рамках поля во всех таблицах. Но думаю вы и так это знаете)
источник

SN

Sergey Nazarkin in Qlik BI chat
ASM
Я бы сказал смотря как много  нужно сопоставить. Keep отработает только в рамках таблицы. Exist в рамках поля во всех таблицах. Но думаю вы и так это знаете)
Это понятно, тут скорее вопрос что выполняется раньше.
В теории сначала отбираются данные по условию where, а потом left join/keep.
Но как оно на само деле, неизвестно.
Где-то на просторах интернета прочитал что keep в клике значительно быстрее join...
источник

A

ASM in Qlik BI chat
Sergey Nazarkin
Это понятно, тут скорее вопрос что выполняется раньше.
В теории сначала отбираются данные по условию where, а потом left join/keep.
Но как оно на само деле, неизвестно.
Где-то на просторах интернета прочитал что keep в клике значительно быстрее join...
Тоже читал, что keep быстрее
источник

SN

Sergey Nazarkin in Qlik BI chat
Вот и не понятно, если keep усилить exist, будет ли это быстрее или в этом нет никакого смысла?
источник

A

ASM in Qlik BI chat
Если честно, я не совсем понимаю его необходимость. В exist будет какое-то дополнительное условие отбора, которое не отрабатывает по Keep? Или есть надежда сразу уменьшить объем данных за его счёт?
источник

SN

Sergey Nazarkin in Qlik BI chat
В моем случае нет.
источник

SN

Sergey Nazarkin in Qlik BI chat
Sergey Nazarkin
Добрый день.
Кто-нибудь замерял скорость работы Left Join, Left Keep и Exist? Что быстрее?
Задача выдащить свежие данные по идентификатору.
Решал так:
load
class_name,
max(created_at) as created_at
resident table
group by class_name;

left join
load
class_name,
created_at,
...
resident table;

Но такое решение очень долгое.
//в таблице с данными 400 млн. записей
Сначала делал так. Сейчас join заменил на keep
источник

A

ASM in Qlik BI chat
Sergey Nazarkin
Сначала делал так. Сейчас join заменил на keep
Думаю добавлять exist при keep логики нет. Фактически можно будет сказать что keep не будет отрабатывать. Keep битовая операция читает все, потом отсекает лишнее. Exist отсекает построчно. Если их совместить, то Кипу уже бун нечего отсекать.
источник

A

ASM in Qlik BI chat
Но это мое мнение, могу ошибаться. Если попробуете разные варианты, поделитесь потом
источник

ZS

Zhenya Skrebanov in Qlik BI chat
Что-то я совсем старею, кто-то использовал конструкии в стиле MappingTable: mapping load A,B from file.qvd (qvd); Map A using MappingTable; ??
источник

ZS

Zhenya Skrebanov in Qlik BI chat
Вопрос в логике работы Map, Mapping Select. Расскажите, кто чего знает?
источник

DS

Daniil Semenov in Qlik BI chat
Дык ApplyMap же. Или задача другая?)
источник

DS

Daniil Semenov in Qlik BI chat
А, увидел
источник

DS

Daniil Semenov in Qlik BI chat
Zhenya Skrebanov
Что-то я совсем старею, кто-то использовал конструкии в стиле MappingTable: mapping load A,B from file.qvd (qvd); Map A using MappingTable; ??
А что в итоге не работает?
источник

DS

Daniil Semenov in Qlik BI chat
Mapping select и mapping load - грузят таблицу сопоставления.
Map ... using - указывает какие поля с каким справочником сопоставлять сопоставлять
источник