Связь данных в таблицах при загрузке (Qlikview & Qlik Sense)

Автор Vyacheslav777, 31 августа 2015, 12:20:15

« назад - далее »

Vyacheslav777

Добрый день! В ходе работы возникло несколько проблем со связью данных. Есть экслевский файл с несколькими вкладками, в которых различные данные. Несколько ключевых столбцов во вкладках совпадают, столбцы со значениями разные.

1) В Qlick данные, судя по всем связываются таким образом, что отображаются только данные которые есть во всех вкладках. Например, в первой вкладке имя покупателя, регион, год и количество покупок, во второй имя покупателя, регион, кол-во магазинов. Кол-во магазинов отображается неправильно, так как в этой вкладке есть данные, которых нет в первой и Qlick эти данные не учитывает и некорректно строит диаграмму. Попробовал добавить в первую вкладку недостающие данные, чисто формально, на диаграмме все появляется. Возможно, есть способы в скрипте прописать, чтобы вкладки не полностью зависели друг от друга или что-нибудь в этом роде??

2) Вторая проблема, возможно, из того же русла. Диаграммы на листе связаны таким образом, что, когда выбираешь критерий для одной диаграммы, меняются и другие, так как, видимо, на них присутствуют общие задействованные из файла excel поля. Как можно их разделить, чтобы при выборе критерия в списке, относящегося к конкретной диаграмме, изменялась только она??

Надеюсь, все понятно описал. Заранее спасибо!

admin

Добрый день.
Вы можете выложить фрагмент загрузки excel-файла?
Обычно, один лист в Excel = одна таблица в модели данных (но не обязательно).
Если поля называются одинаково, а суть разная - переименуйте их в скрипте, чтобы не устанавливалась связь.
Второй вопрос не совсем понятен, факт изменения окружения при выборе какого-либо измерения - это нормальный режим работы Qlikview.

Vyacheslav777

#2
Directory;
LOAD [Customer Rig] as Customer,
     [Parrent Account R] as PA,
     NWA,
     Year(Years) as Year,
     Month(Months) as Month,
     Date(MonthStart(Months), 'MMM YYYY') As MonthYear,
     [Name of Rig],
     Number
FROM
Data.xlsx
(ooxml, embedded labels, table is [Rig count]);


Directory;
LOAD [Customer Drill] as Customer,
     [Parrent Account D] as PA,
     NWA,
     [Type of well],
     Year(Years) as Year,
     Month(Months) as Month,
     Date(MonthStart(Months), 'MMM YYYY') As MonthYear,
     Indicator,
     Value
FROM
Data.xlsx
(ooxml, embedded labels, table is [Drilling data]);


Directory;
LOAD [Parrent total],
     [Type of well],
     Year(Years) as Year,
     Indicator,
     Totals
FROM
Data.xlsx
(ooxml, embedded labels, table is [Drilling totals]);


Directory;
LOAD
     [Parrent Account O] as PA,
     NWA,
     Year(Years) as Year,
     Volumes
FROM
Data.xlsx
(ooxml, embedded labels, table is [Oil production]);


Вот скрипт загрузки из файла Excel. Поля одинаковые, то есть например поле Parrent account, а компании в списке могут отличаться, но это все паррент аккаунты, то есть одна категория. Это поле есть в нескольких таблицах, но остальные поля отличаются. Таким образом, в одной таблице есть какая-то категория, в другой ее нет, но объединяющее поле одно. Второй вопрос об этом же. Когда выбираю в списке категорию, которая есть в одной таблице, он подстраивает по логике общую категорию на всех диаграммах, из-за этого в других таблицах данные некорректно отображаются.     

Vyacheslav777

То есть например в одной таблице в аккаунтах стоят компании Ромашка, Магнит и Камень, соответствующие им значения например продажи и регион, а в другой Ромашка, Магнит и Солнце и соответствующие им значение, но же не продажи, а количество контрактов и например тип контракта оптом или в розницу. Я естественно объединяю категорию компании, чтобы разместить на одном листе несколько диаграмм и был один список. Выбираю тип контракта, по идее должна меняться диаграмма, относящаяся ко второй таблице, а меняется все и в других диаграммах Qlick режет значения и показывает только то, что есть в обеих таблицах.

admin

#4
Понятно, вам необходимо определиться с моделью данных.
Та модель, которая формируется по вашему скрипту никуда не годится.
Почитайте по загрузке и моделированию данных
И неплохая подборка материалов по Qlikview в блоге Шамаева Ивана

OlgaTomskaya

Добрый день! Ну а все-таки в чем именно проблема и что именно нужно исправить?
Проблема в неверной загрузке? Скрипте? Что не так? и где?
Подскажите решение, как эксперт :)

kvv

#6
Добрый день.
Как уже говорилось выше, решение и для первого и второго вопроса:
     - делать соответствующую модель данных;
     - или использовать Set Analysis (Анализ Множеств).

Суть Set Analysis в том, что графики/таблицы могут не зависеть от некоторых выбранных фильтров.

admin

Привет,
Начните строить модель поэтапно.
Выделите из массива данных справочные сведения, реестры событий, показатели ...
Сложно сказать, как именно надо не зная сути сведений.

bibis

#8
Добрый день. Ну если нет желания облагородить модель данных , пишите перед каждым LOAD
, после первого,  OUTER  JOIN  , тоже вариант в общем-то  :o

По 2му вопросу, как уже сказали , это стандартное поведение qv , если нужно от него избавиться-  например можно использовать альтернативные состояния. В справке про них достаточно подробно изложено.
Или да, как сказали выше сет анализ.  {<chtotam=>} в выражении заставляет его игнорировать выборки в поле chtototam

admin

Как успехи?
Если есть вопросы и данные, которые не хотелось бы "светить" в публичном доступе. можете задать их в личных сообщениях.

Яндекс.Метрика