Size: a a a

2021 May 03

dp

dbdbdb pssp in Qlik BI chat
да действительно я же могу прост разницу взять networkdays() и networkdays+свои даты из переменной в виде holydays, спасибо
источник

dp

dbdbdb pssp in Qlik BI chat
Хотя это не поможет если выходной попайдется на субботу или воскресенье.
источник

dp

dbdbdb pssp in Qlik BI chat
очень сильно не хватает в networkdays(), lastworkday() и firstworkday(), маску за что считать рабочими буднями, и относительно чего чтобы минусовались holydays, приходится городить дикие костыли с подсчетами суббот например
источник

IB

Igor Burobin in Qlik BI chat
способ решения в лоб 1) Делаем таблицу в которой все возможные даты из переменной vDays. Например с помощью цикла для i для запроса LOAD SubField('$(vDays)',',',$(i)). Там с кавычками надо будет еще разобратся. 2) Делаем INTERVALMATCH между таблицей из пункта 1 и таблицей которая с StartDate и EndDate 3) вычисляем COUNT записей в результирующей таблице
источник

dp

dbdbdb pssp in Qlik BI chat
собственно как я и делаю в процессе, но  я уже представляю как это будет не оптимально.
источник

IB

Igor Burobin in Qlik BI chat
Есть решения еще более стремные)
источник

IB

Igor Burobin in Qlik BI chat
например можно динамически в цикле создать выражения с if-ами и его в запрос подставить
источник

IB

Igor Burobin in Qlik BI chat
будет чуть более оптимально если не так много дат, но не так красиво
источник

dp

dbdbdb pssp in Qlik BI chat
можете показать ? не схватил вашу мысль
источник

IB

Igor Burobin in Qlik BI chat
да, секунду набросаю
источник

IB

Igor Burobin in Qlik BI chat
источник

IB

Igor Burobin in Qlik BI chat
Типа такого
источник

IB

Igor Burobin in Qlik BI chat
LET vDate = '01.01.2021,02.01.2021,03.01.2021,04.01.2021,05.01.2021';


// Формируем фразу для поля
LET FieldSelectPhrase = '0';

for i = 1 to SubStringCount('$(vDate)',',')
 
 LET FieldSelectPhrase = '$(FieldSelectPhrase)' & '+ if(' & num(SubField('$(vDate)',',',$(i))) & ' >= StartDate AND ' & num(SubField('$(vDate)',',',$(i))) & ' <= EndDate, 1, 0)';
 
next i;

// Выполняем LOAD запрос
LOAD
 StartDate,
 EndDate,
 $(FieldSelectPhrase) AS IsDateBetween;
источник

IB

Igor Burobin in Qlik BI chat
$(FieldSelectPhrase) - динамически формируется до LOAD запроса и во время исполнения запроса там просто будет куча выражений типа if(попадает дата1,1,0) + if(попадает дата2,1,0)  + if(попадает дата3,1,0) ....
источник

dp

dbdbdb pssp in Qlik BI chat
Понял, если честно по мне вполне лаконичное решение :D
источник

IB

Igor Burobin in Qlik BI chat
ok)
источник

dp

dbdbdb pssp in Qlik BI chat
Спасибо, это даже в голову мне приходило, на будущее надо запомнить, через интервал матч прекрасно сработало, но не нравится что всю таблицу приходится перезагружать. А в целом круто было бы если бы просто добавили маску в networkdays,firstworkday и lastworkday )))
источник
2021 May 04

ЕС

Евгений Стучалкин... in Qlik BI chat
всем привет!
источник

ЕС

Евгений Стучалкин... in Qlik BI chat
А подскажите, кто как решает вопрос с длинными названиями мер?
источник

ЕС

Евгений Стучалкин... in Qlik BI chat
видимо только через сокращения слов)
источник