Size: a a a

2020 May 06

V

Vittore in Qlik BI chat
источник

DS

Daniil Semenov in Qlik BI chat
Если кому интересно будет. В коммьюнити откопал - конвертер ARGB->RGB. Напомню, что Sankey chart argb не воспринимает и, соответственно, colormix в привычном виде не работает.
источник

A

ASM in Qlik BI chat
Alexander Polorotov
Куда-нибудь пихать)
Это да.. только не представляю куда этот JSON пихать))
источник

AZ

Alex Zhr in Qlik BI chat
Vittore
Добрый день, как сравнить оборот с 2017 годом?

if([Оборот] < оборот за текущую дату - 1 год, Red())

на скриншотах разные измерения, =Date(MonthName(if(year([Дата])=2018, [Дата])),'MM.YYYY') — работаю с этим
Попробуйте в измерении оставить обычный месяц год, а в мере использовать анализ множеств
источник

DS

Daniil Semenov in Qlik BI chat
в переменные засунуть не получилось. Пришлось как есть выражение в поле с цветом засовывать. Получилось что-то типа того.
источник

DS

Daniil Semenov in Qlik BI chat
Вот болванка. 'Expression' меняем на своё выражение, цвета тоже на свои и всё работает

 'RGB(' &
 floor((255-num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',2)
)) * (1-(num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',1)
)/255)) + num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',2)
)) & ',' &
 floor((255-num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',3)
)) * (1-(num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',1)
)/255)) + num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',3)
)) & ',' &
 floor((255-num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',4)
)) * (1-(num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',1)
)/255)) + num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',4)
)) & ')'
источник

IL

Ilyas Luguev in Qlik BI chat
Евгений Стучалкин
я думал вы утилиту восстановления файлов будете применять)
Евгений, спасибо большое. Всё восстановили
источник

ZS

Zhenya Skrebanov in Qlik BI chat
Daniil Semenov
Вот болванка. 'Expression' меняем на своё выражение, цвета тоже на свои и всё работает

 'RGB(' &
 floor((255-num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',2)
)) * (1-(num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',1)
)/255)) + num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',2)
)) & ',' &
 floor((255-num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',3)
)) * (1-(num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',1)
)/255)) + num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',3)
)) & ',' &
 floor((255-num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',4)
)) * (1-(num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',1)
)/255)) + num#(subfield(purgeChar(purgeChar(ColorMix1(Expression,rgb(15,97,119),rgb(36,242,197)),'ARGB('),')'),',',4)
)) & ')'
Задумайтесь здесь о расходе электричества, специфике его производства, о там как охлаждаются ЦОДы, как напрягаются в них миллионы мощнейших процессоров, как бурлят электроны и мчатся сюда и туда, словно миллиарды незаметных посланцев будущего, как они греют и раскаляют кремний, как кремний кипит (здесь еще не ровен час и кремневые формы жизни родятся как призрак из машины), задумайтесь о том, как это приближает глобальное потепление (а все дома сидят и кодят и запускают машины и кластеры, программы и микропрограммы, шаманят, админят, релизят), и в это тяжёлое время для серверов и льдов, вместо калькуляции значимых фигур, 2/3 мощности тратится на подбор цвета, округлости, или иного дополнительного свойства!?!?

Зачем и для чего?

Если у вас используется цветовая индикация, создайте таблицу цветов, цвета в переменные, когда нужны оттенки, оптимизируйте формулы, т.е. создайте признаки в скрипте, в данном случае, сразу все пуржчар() и тп можно сделать в скрипте, и конкретно в формуле сравнивать значения, если что-то > конкретного чего-то.

Также рассматрвайте все варианты нахождения оттенков, колормикс() не единственный. Есть вариант hsl() и прочие.

Я выдвинул предположение в 2011 году, что в QlikView на любую задачу есть минимум 3 решения. Эмпирика пока не опровергала, теорией никто не занимался. Про Sense не готов утверждать, но попробуйте опровергнуть?

К чему это?

Стремитесь писать самые простые формулы и сложные скрипты. Это важно и с т.з. методологии разработки и с точки зрения развития qlik thinking!

Комментарий к данной формуле (болванка expression), есть натуральная  просьба общего рекомендательного принудительного характера ко всем you must, вы должны использовать скрипт, пока он есть, чтобы научиться воображать любые наборы действий над данными, точнее множествами данных.

Как их соеденить, определить, подогнать под аналитический вид в рамках движка клика, как что-то добавить, или убавить. В совокупности, умение писать сложные скрипты и сложные формулы приведет к эффективности использования ресурсов и самих приложений. А природа будет зеленеть и зеленеть.
источник

DS

Daniil Semenov in Qlik BI chat
Zhenya Skrebanov
Задумайтесь здесь о расходе электричества, специфике его производства, о там как охлаждаются ЦОДы, как напрягаются в них миллионы мощнейших процессоров, как бурлят электроны и мчатся сюда и туда, словно миллиарды незаметных посланцев будущего, как они греют и раскаляют кремний, как кремний кипит (здесь еще не ровен час и кремневые формы жизни родятся как призрак из машины), задумайтесь о том, как это приближает глобальное потепление (а все дома сидят и кодят и запускают машины и кластеры, программы и микропрограммы, шаманят, админят, релизят), и в это тяжёлое время для серверов и льдов, вместо калькуляции значимых фигур, 2/3 мощности тратится на подбор цвета, округлости, или иного дополнительного свойства!?!?

Зачем и для чего?

Если у вас используется цветовая индикация, создайте таблицу цветов, цвета в переменные, когда нужны оттенки, оптимизируйте формулы, т.е. создайте признаки в скрипте, в данном случае, сразу все пуржчар() и тп можно сделать в скрипте, и конкретно в формуле сравнивать значения, если что-то > конкретного чего-то.

Также рассматрвайте все варианты нахождения оттенков, колормикс() не единственный. Есть вариант hsl() и прочие.

Я выдвинул предположение в 2011 году, что в QlikView на любую задачу есть минимум 3 решения. Эмпирика пока не опровергала, теорией никто не занимался. Про Sense не готов утверждать, но попробуйте опровергнуть?

К чему это?

Стремитесь писать самые простые формулы и сложные скрипты. Это важно и с т.з. методологии разработки и с точки зрения развития qlik thinking!

Комментарий к данной формуле (болванка expression), есть натуральная  просьба общего рекомендательного принудительного характера ко всем you must, вы должны использовать скрипт, пока он есть, чтобы научиться воображать любые наборы действий над данными, точнее множествами данных.

Как их соеденить, определить, подогнать под аналитический вид в рамках движка клика, как что-то добавить, или убавить. В совокупности, умение писать сложные скрипты и сложные формулы приведет к эффективности использования ресурсов и самих приложений. А природа будет зеленеть и зеленеть.
много букв, не понятно к чему.

Повторюсь, вручную проставлять цвета для динамически и быстро меняющихся измерений - не рационально.
Hsl() не работает, аналогично Argb.

Рассчитывать заранее цвета для всех возможных комбинаций значений - утопия.

В данном конкретном случае, это единственное доступное решение для конвертации Argb в rgb.

Это достаточно узкая задача. Вероятно, в большинстве случаев такой формат раскраски санкея может быть принят как не рациональный и некоторые узлы диаграммы останутся однотонными .

Если бы экстеншн воспринимал Argb задача сводилась бы строго к использованию Colormix1.

Никакого отношения текущая задача к модели данных не имеет.
источник

ZS

Zhenya Skrebanov in Qlik BI chat
Я уточню свой комментарий: общий характер всем, то есть неограниченному кругу адресатов, в том числе тем, кто по разным причинам не хочет изучать скрипт и старается решить все основные вопросы на уровне формул. В этом смысле разработчик теряет возможность разобраться в платформе во всей полноте. Соответственно, растет сложность приложений, поддержки приложений, и тд и тп.

Что касается текущей задачи, ограничение в самом объекте визуализации.

Раз такие задачи есть, в будущих релизах будут и оптимизации.

Но это не отменяет моего общего обращения, тк в чате очень часто публикуют весьма необычные формулы, а необычные они потому, что в 11 из 15 случаев, можно решить задачу парой действий в скрипте, и сделать крайне простую формулу, что есть оптимизация CPU/RAM.

Вот и всё. А то, что буков много, согласен, сам себя и спалил, лишние CPU затратил. Извините.
источник
2020 May 07

DS

Daniil Semenov in Qlik BI chat
Zhenya Skrebanov
Я уточню свой комментарий: общий характер всем, то есть неограниченному кругу адресатов, в том числе тем, кто по разным причинам не хочет изучать скрипт и старается решить все основные вопросы на уровне формул. В этом смысле разработчик теряет возможность разобраться в платформе во всей полноте. Соответственно, растет сложность приложений, поддержки приложений, и тд и тп.

Что касается текущей задачи, ограничение в самом объекте визуализации.

Раз такие задачи есть, в будущих релизах будут и оптимизации.

Но это не отменяет моего общего обращения, тк в чате очень часто публикуют весьма необычные формулы, а необычные они потому, что в 11 из 15 случаев, можно решить задачу парой действий в скрипте, и сделать крайне простую формулу, что есть оптимизация CPU/RAM.

Вот и всё. А то, что буков много, согласен, сам себя и спалил, лишние CPU затратил. Извините.
извиняться не за что :)
В целом, я, категорически, согласен с посылом.

Лучше увеличить в несколько раз объёмы самой модели данных, но написать простую формулу, чем стараться запихнуть всё в нагромождения аггров, valuelist-ов и прочих безобразий.

Просто конкретно к текущей задаче это никакого отношения не имеет.

Громоздкость формулы обусловлена спецификой конвертации, а перетянуть ее в переменную с параметром не вышло.

Вопросы оптимизации, к сожалению - вопросы  времени и когда будут правки неизвестно, а решение нужно здесь и сейчас.
Если бы было время, то можно было бы и самостоятельно покопаться в коде, но пришлось решать задачу в лоб.
источник

ZS

Zhenya Skrebanov in Qlik BI chat
Daniil Semenov
извиняться не за что :)
В целом, я, категорически, согласен с посылом.

Лучше увеличить в несколько раз объёмы самой модели данных, но написать простую формулу, чем стараться запихнуть всё в нагромождения аггров, valuelist-ов и прочих безобразий.

Просто конкретно к текущей задаче это никакого отношения не имеет.

Громоздкость формулы обусловлена спецификой конвертации, а перетянуть ее в переменную с параметром не вышло.

Вопросы оптимизации, к сожалению - вопросы  времени и когда будут правки неизвестно, а решение нужно здесь и сейчас.
Если бы было время, то можно было бы и самостоятельно покопаться в коде, но пришлось решать задачу в лоб.
Exactly 👍
источник
2020 May 08

O

Orbis in Qlik BI chat
Всем привет! У кого-нибудь есть идеи, как можно реализовать отрисовку (и сбор) информации о ETL проекта? На выходе должно получиться, что-то такое: Источники (db, xls, qvd и т.д.) -> qvw(Extractor) -> qvd (слой) -> qvw(Transform) -> qvd (слой) -> qvw (Визуализация).
источник

СС

Сергей Скирдин... in Qlik BI chat
Добрый день, коллеги!
Столкнулся с интересной особенностью join с использованием загрузки нескольких файлов через *

Делаю загрузку из предварительно подготовленных QVD по дням через маску файла 202004*. Полезные данные убрал, для простоты примера грузим одно поле Дата, по которому должна произойти связка, ну и флажки, чтобы понять где что загрузилось.

Производство:
Load
Дата,
1 as Таблица1
FROM [$(DataPath)КК_202004*.qvd]
(qvd)
where IDИнгридиента = 'c73f70b2-aa50-4c7d-8198-aeabd110c818'
;


join(Производство)
Load
Дата,
Дата as Дата2,
2 as Таблица2
FROM [$(DataPath)Остатки_202004*.qvd]
(qvd)
where IDИнгридиента = 'c73f70b2-aa50-4c7d-8198-aeabd110c818'
;

Судя по результату на картинке клик делает джойн для первого файла (20200401), остальные, остальные тоже грузятся, но в отдельные строки, стыковка по дате не происходит.

Баг или фитча?
источник

EI

Eugeny Y. Ilyin ( Sa... in Qlik BI chat
Сергей Скирдин
Добрый день, коллеги!
Столкнулся с интересной особенностью join с использованием загрузки нескольких файлов через *

Делаю загрузку из предварительно подготовленных QVD по дням через маску файла 202004*. Полезные данные убрал, для простоты примера грузим одно поле Дата, по которому должна произойти связка, ну и флажки, чтобы понять где что загрузилось.

Производство:
Load
Дата,
1 as Таблица1
FROM [$(DataPath)КК_202004*.qvd]
(qvd)
where IDИнгридиента = 'c73f70b2-aa50-4c7d-8198-aeabd110c818'
;


join(Производство)
Load
Дата,
Дата as Дата2,
2 as Таблица2
FROM [$(DataPath)Остатки_202004*.qvd]
(qvd)
where IDИнгридиента = 'c73f70b2-aa50-4c7d-8198-aeabd110c818'
;

Судя по результату на картинке клик делает джойн для первого файла (20200401), остальные, остальные тоже грузятся, но в отдельные строки, стыковка по дате не происходит.

Баг или фитча?
Да, есть такое.
Сначала собираю таблицу по маске, затем джойню через резидента. Либо маппингом, по возможности.
И как вариант - циклом грузить по префиксам и потом уже джойнить.
источник

AP

Alexander Polorotov in Qlik BI chat
Orbis
Всем привет! У кого-нибудь есть идеи, как можно реализовать отрисовку (и сбор) информации о ETL проекта? На выходе должно получиться, что-то такое: Источники (db, xls, qvd и т.д.) -> qvw(Extractor) -> qvd (слой) -> qvw(Transform) -> qvd (слой) -> qvw (Визуализация).
Посмотрите nodegraph.se
источник

Р

Родион in Qlik BI chat
Всем привет. Подскажите пожалуйста, как создать  ID внутри группы?
источник

SG

Sergey Gromov in Qlik BI chat
Обучение Qlik 2 в 1 (один курс, знания по Qlik Sense и QlikView)

Надеюсь вам уже надоело сидеть дома и появилось желание узнать что-то новое и интересное!
У нас для вас есть отличное предложение - узнать ДВА продукта от Qlik по цене одного.

Qlik – это инструмент исследования данных, который призван быстро дать ответ на вопрос «почему?».
Ассоциативная модель, инструменты для быстрой загрузки данных / построения модели и их визуализация в одном инструменте – это прямая необходимость для получения быстрого результата в исследовании данных.

Линейка продуктов состоит из:
- QlikView - аналитическая платформа Enterprise-уровня. Максимально мощная, гибкая, но требующая серьёзных знаний и навыков в разработке.
- Qlik Sense - дружелюбная и интуитивно понятная аналитическая система по работе с данными (self-service BI).

После обучения с нами вы:
- получите базовые знания и навыки работы в обоих системах
- оцените преимущества обоих систем
- сможете осознанно выбрать нужный вам инструмент
- получите сертификат об обучении в обоих системах

Список тем, которые вы узнаете на курсе по QlikView: https://education.biconsult.ru/courses/18/
Список тем, которые вы узнаете на курсе по Qlik Sense: https://education.biconsult.ru/courses/19/

Ближайший объединённый курс пройдёт ОНЛАЙН 15, 18, 20-22, 25 мая. Всего 6 дней, 48 часов.
Количество мест - ОГРАНИЧЕНО! Даты следующего подобного курса - уточняйте у меня!

Стоимость (!вместо 144 000!) - 72 000 руб за человека (включая НДС)

Развивайте себя и свою компанию! И будьте здоровы!
источник

СС

Сергей Скирдин... in Qlik BI chat
Таак, сегодня видимо день открытий, join уже порадовал, теперь очередь applymap

Рассчитываю доход, как разницу между выручкой и количеством умноженным на закупочную цену. Цены привязаны через applymap.
Не могу понять, почему для срок без цены доход =0 а не выручке?

Скрипт такой:

МапЦеныСебестоимость:
Mapping
Load
Floor(Дата)&'|'&ТоварКод as Ключ,
floor(Цена_ЦБП2)
FROM ['lib://d_QlikData/ЦеныУт202004.qvd']
(qvd);


LOAD
RowNo() as RowNo,
   Floor(Период) as Дата ,
   -Количество as КоличествоО ,
   -Выручка as СуммаО ,
   ВыручкаБезСкидок as СуммаБезСкидокО ,
-Количество*ApplyMap('МапЦеныСебестоимость', Floor(Период)&'|'&ТоварКод, 0)  as СебестоимостьО,
   ApplyMap('МапЦеныСебестоимость', Floor(Период)&'|'&ТоварКод, 0) as Цена,
(Количество)*ApplyMap('МапЦеныСебестоимость', Floor(Период)&'|'&ТоварКод, 0)-Выручка as ДоходО
FROM ['lib://d_QlikData/ОптУТ202004.csv']
(txt, utf8, embedded labels, delimiter is '\t', no quotes)
Where Продажа = 'Да'
and ТоварКод = 5122;
источник

DS

Daniil Semenov in Qlik BI chat
Третий аргумент 0
источник