Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: arthur1974 от 27 ноября 2017, 02:03:45

Название: Как построить две независимые группы связей, но с общими таблицами?
Отправлено: arthur1974 от 27 ноября 2017, 02:03:45
Доброго дня.
Подскажите пожалуйста подетальнее новичку, как сделать в QlikView так, что бы в 2 независимые группы связей могли попасть одни и те же таблицы. Вот в прикреплённом файле: нужно таблицу "Расходы" связать как-то с копией "Сотрудники". Т.е.:
Расходы.Employee-Id=Сотрудники.Good-Seller-Id
так, что бы любые выборы и фильтры в верхней связи не влияли через таблицу Сотрудников на нижнюю связь.
http://www.picshare.ru/view/8369291/ (http://www.picshare.ru/view/8369291/)
Спасибо за помощь
Название: Re: Как построить две независимые группы связей, но с общими таблицами?
Отправлено: admin от 28 ноября 2017, 07:07:26
Привет.
Вопрос, для чего это необходимо?

Вы можете добавить копию таблицы "Сотрудники" с переименованными полями, чтобы не было связей.
Но я бы рекомендовал все-таки связать таблицы, и воспользоваться выражениями с расширенным синтаксисом анализа множеств, так называемый "Set analysis".
Модификаторы множества  (https://help.qlik.com/ru-RU/sense/June2017/Subsystems/Hub/Content/ChartFunctions/SetAnalysis/set-modifiers.htm)
Т.о., в модели данных со связанными таблицами выражение sum({1} Cost-Sum) никак не будет меняться при любой выборке.
Название: Re: Как построить две независимые группы связей, но с общими таблицами?
Отправлено: arthur1974 от 28 ноября 2017, 09:29:37
"Вопрос, для чего это необходимо?"
Я пытаюсь проанализировать в небольшой торговой фирме как реализацию товара, так и расходы по торговым точкам, а в обоих случаях участвуют таблицы сотрудников и торговых точек. Если таблицы связаны, то выбор в анализе реализации товара повлияет на анализ расходов, что не есть хорошо - расходы во многом не зависят от проданного товара (аренда помещений, электричество и т.п.).
"Вы можете добавить копию таблицы "Сотрудники" с переименованными полями, чтобы не было связей."
Но разве повторная загрузка таблицы (её копия) не будет связана с первой загрузкой? Хоть поля и будут переименованы, но выбор в анализе реализации будет влиять на выборки в таблицах сотрудников и торговых точек, то QlikView аналогично отфильтрует (спозиционирует) и копию этих таблиц, и соответственно повлияет на переименованные поля, и следовательно на анализ расходов? Ведь QlikView фактически работает с одной таблицей (загруженной с одного файла), хоть и названия таблиц или поля будут иметь разные названия?
Буду пробовать разобраться с множествами.
Название: Re: Как построить две независимые группы связей, но с общими таблицами?
Отправлено: millik от 28 ноября 2017, 04:22:19
Цитата: arthur1974 от 28 ноября  2017, 09:29:37  
Но разве повторная загрузка таблицы (её копия) не будет связана с первой загрузкой?
Если вы про то, что она дополнит первую, то указывайте инструкцию NoConcatenate перед повторной загрузкой.
А связи создаются только по полям с одинаковыми наименованиями, если у копии ко всем полям добавить что-нибудь в название, например, Наименование2, Ид2 и т.п., то связей с прошлой таблицей не будет.