Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Декабрь 18, 2017, 07:45:36 pm

Автор Тема: Связь данных в таблицах при загрузке (Qlikview & Qlik Sense)  (Прочитано 2840 раз)

Оффлайн Vyacheslav777

  • Новичок
  • *
  • Сообщений: 3
  • Страна: ru
  • Рейтинг: +0/-0
    • Просмотр профиля
Добрый день! В ходе работы возникло несколько проблем со связью данных. Есть экслевский файл с несколькими вкладками, в которых различные данные. Несколько ключевых столбцов во вкладках совпадают, столбцы со значениями разные.

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

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

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

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1005
  • Страна: ru
  • Рейтинг: +103/-0
    • Просмотр профиля
Re: Связь данных в таблицах при загрузке
« Ответ #1 : Август 31, 2015, 01:10:55 pm »
Добрый день.
Вы можете выложить фрагмент загрузки excel-файла?
Обычно, один лист в Excel = одна таблица в модели данных (но не обязательно).
Если поля называются одинаково, а суть разная - переименуйте их в скрипте, чтобы не устанавливалась связь.
Второй вопрос не совсем понятен, факт изменения окружения при выборе какого-либо измерения - это нормальный режим работы Qlikview.

Оффлайн Vyacheslav777

  • Новичок
  • *
  • Сообщений: 3
  • Страна: ru
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: Связь данных в таблицах при загрузке
« Ответ #2 : Август 31, 2015, 01:31:50 pm »
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, а компании в списке могут отличаться, но это все паррент аккаунты, то есть одна категория. Это поле есть в нескольких таблицах, но остальные поля отличаются. Таким образом, в одной таблице есть какая-то категория, в другой ее нет, но объединяющее поле одно. Второй вопрос об этом же. Когда выбираю в списке категорию, которая есть в одной таблице, он подстраивает по логике общую категорию на всех диаграммах, из-за этого в других таблицах данные некорректно отображаются.     

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

Re: Связь данных в таблицах при загрузке
« Ответ #2 : Август 31, 2015, 01:31:50 pm »

Оффлайн Vyacheslav777

  • Новичок
  • *
  • Сообщений: 3
  • Страна: ru
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: Связь данных в таблицах при загрузке
« Ответ #3 : Август 31, 2015, 01:36:45 pm »
То есть например в одной таблице в аккаунтах стоят компании Ромашка, Магнит и Камень, соответствующие им значения например продажи и регион, а в другой Ромашка, Магнит и Солнце и соответствующие им значение, но же не продажи, а количество контрактов и например тип контракта оптом или в розницу. Я естественно объединяю категорию компании, чтобы разместить на одном листе несколько диаграмм и был один список. Выбираю тип контракта, по идее должна меняться диаграмма, относящаяся ко второй таблице, а меняется все и в других диаграммах Qlick режет значения и показывает только то, что есть в обеих таблицах.

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1005
  • Страна: ru
  • Рейтинг: +103/-0
    • Просмотр профиля
Re: Связь данных в таблицах при загрузке
« Ответ #4 : Август 31, 2015, 01:52:02 pm »
Понятно, вам необходимо определиться с моделью данных.
Та модель, которая формируется по вашему скрипту никуда не годится.
Почитайте по загрузке и моделированию данных
И неплохая подборка материалов по Qlikview в блоге Шамаева Ивана

Оффлайн OlgaTomskaya

  • Стажер
  • *
  • Сообщений: 1
  • Страна: am
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: Связь данных в таблицах при загрузке
« Ответ #5 : Сентябрь 02, 2015, 12:05:29 pm »
Добрый день! Ну а все-таки в чем именно проблема и что именно нужно исправить?
Проблема в неверной загрузке? Скрипте? Что не так? и где?
Подскажите решение, как эксперт :)

Оффлайн kvv

  • Гуру
  • ***
  • Сообщений: 135
  • Страна: 00
  • Рейтинг: +36/-0
    • Просмотр профиля
Re: Связь данных в таблицах при загрузке
« Ответ #6 : Сентябрь 02, 2015, 12:39:04 pm »
Добрый день.
Как уже говорилось выше, решение и для первого и второго вопроса:
     - делать соответствующую модель данных;
     - или использовать Set Analysis (Анализ Множеств).

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

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

Re: Связь данных в таблицах при загрузке
« Ответ #6 : Сентябрь 02, 2015, 12:39:04 pm »

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1005
  • Страна: ru
  • Рейтинг: +103/-0
    • Просмотр профиля
Re: Связь данных в таблицах при загрузке
« Ответ #7 : Сентябрь 02, 2015, 12:45:24 pm »
Привет,
Начните строить модель поэтапно.
Выделите из массива данных справочные сведения, реестры событий, показатели ...
Сложно сказать, как именно надо не зная сути сведений.

Оффлайн bibis

  • Наставник
  • **
  • Сообщений: 78
  • Рейтинг: +31/-0
    • Просмотр профиля
Re: Связь данных в таблицах при загрузке
« Ответ #8 : Сентябрь 02, 2015, 12:54:48 pm »
Добрый день. Ну если нет желания облагородить модель данных , пишите перед каждым LOAD
, после первого,  OUTER  JOIN  , тоже вариант в общем-то  :o

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

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1005
  • Страна: ru
  • Рейтинг: +103/-0
    • Просмотр профиля
Re: Связь данных в таблицах при загрузке
« Ответ #9 : Сентябрь 03, 2015, 01:55:45 pm »
Как успехи?
Если есть вопросы и данные, которые не хотелось бы "светить" в публичном доступе. можете задать их в личных сообщениях.