Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Здравствуйте!
(я дилетант-одиночка - сразу говорю)
Решаю задачу - подсчитать общее количество чеков в точках продаж, в которых были хоть раз (в определенный период месяц) продажи определенных некоторых блюд.
есть рабочая формула:
=(Count (DISTINCT{<EXTCODE= {'=sum({<DISH_RU= {$(vнаборблюд)}>} QUANTITY )>0'}>} GLOBALIDENT))
где $(vнаборблюд) - переменная в которой перечислен набор нужных блюд.
GLOBALIDENT - уникальный номер чека
EXTCODE - уникальный номер точки продаж
DISH_RU - понятно, блюдо
Эта формула корректно работает когда выделяю период - один месяц. (У нас разбивка по месяцам)
Но если выделяю два и более месяцев - количество чеков считает не корректно, оно увеличивается сильно, т.е. видимо EXTCODE берется не в пределах месяца а за весь выделенный период! И в итоге критерий фильтрации нужных блюд не работает.
ничего не смог придумать..
Добрый день, Антон!
Как вариант, может попробовать организовать выгрузку только необходимых для Вашей задачи данных в новую чистую базу QV, чем городить огород с "перелопачиванием" существующей структуры данных? Представляется, что для решения данной задачи понадобится выгрузка и связывание нескольких таблиц из хранилища данных. По идее и время сэкономите, и нервы.
С уважением,
Андрей
Спасибо!!! мозг буду тренировать (ломать). Может и получится
Спасибо за идею!!! Может быть так и произойдет хотя сначала все таки помучаюсь, хотелось попробовать исправить часть syn ключей в основном документе. Все таки им пользуются люди и он тормозит (по понятным причинам), и опыт по такому хитрому присоединению таблиц, не создавая вредных syn ключей - очень полезен.
Я тоже предпочитаю применять составные ключи, созданные не автоматически QlikView Qlik Sence, а вручную. В идеале связь между таблицами должна идти по одному полю. В противном случае надо реализовывать составной ключ. Как это делается, хорошо описано в книге "QlikView 11 for Developers"(стр 101). Там же целый раздел посвящен описанию лучших практик по построение структуры связанных таблиц. Книга на английском, но если бегло не читаете, то Google-переводчик в помощь и в общем-то все вполне приемлемо 🙂 Если будет желание почитать и проблемы с книгой, пишите в личку.
Если речь идет об оптимизации скорости работы и загрузки, то настоятельно рекомендую использовать для генерации ключей не слияние текстовых полей или Autonumber(), а функцию Autonumberhash128(), если в QV, или Hash128, если в QS. Как правило, получается быстрее.
Здравствуйте!
В данной задаче, используя анализ множеств, можно попробовать применить функции элементов P().
В Qlik Sense и QlikView используется одинаково.
Ссылка на help Qlik Sense https://help.qlik.com/ru-RU/sense/June2017/Subsystems/Hub/Content/ChartFunctions/SetAnalysis/set-mod...
Ссылка на help QlikView https://help.qlik.com/ru-RU/qlikview/November2017/Subsystems/Client/Content/ChartFunctions/SetAnalys...
Посмотрите пример применения.