Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Ноябрь 23, 2017, 04:52:38 am

Автор Тема: Как связать даты разных событий в одном календаре?  (Прочитано 2059 раз)

Оффлайн Ирина

  • Наставник
  • **
  • Сообщений: 78
  • Рейтинг: +5/-0
    • Просмотр профиля
Добрый день уважаемые форумчане! Помогите, пожалуйста....
Недавно начала изучать QlikView на новой работе, столкнулась с такой сложностью:

Мне надо выстроить правильную загрузку данных в приложение, пока не могу понять как это сделать, чтобы на выходе получать интересующую меня аналитику.
У меня магазин, в котором ежедневно стартуют акции и длятся 3 дня. Соответственно у меня есть следующие поля по первой таблице "Акции":
- Даты активности акции
- ID акции
- ID товара в акции
- Категория товара
- первая характеристика товара
- вторая характеристика товара
- кол-во предлагаемых шт. каждого товара по акции

Поскольку все эти аукционные товары продаются, то есть еще таблица "Заказы", которая содержит:
- дата заказа
- № заказа
- ID клиента
- ID товара в акции
- статус заказа
- кол-во проданного товара
- цена продажи

Я поняла, что QlikView может ассоциировать таблицы последовательно и только по одному полю. У меня в данном случае это поле - ID товара в акции.
Но тут встает задача, которую я не понимаю как решить. Как мне сделать календарь, при выборе даты, например, на котором, мне бы показывалось:
1. Какие акции в этот день проходили
2. Какие заказы и сколько были сделаны
По сути, чтобы сделать такую выборку мне надо связать поля "Дату активности акции" и "Дата заказа", но возможно ли это и если да, то как?
По какой структуре лучше осуществлять загрузку данных?

Буду очень благодарна за подсказку!

Оффлайн Ирина

  • Наставник
  • **
  • Сообщений: 78
  • Рейтинг: +5/-0
    • Просмотр профиля
Может быть кому-то будет понятнее моя задача, если я приведу классическую альтернативу, как наиболее распространенную.

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

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 982
  • Страна: ru
  • Рейтинг: +97/-0
    • Просмотр профиля
День добрый.
Пока дам подсказку, более развернуто отвечу чуть попозже.
Рассматривайте даты как календарные измерения. Создайте календарь
Qlikview строит связи не только по одному полю (об этом есть информация в справочной документации в pdf-формате)
Но это не самый лучший вариант. Возможно, для вашего случая, объединение таблиц фактов в одну будет хорошим решением.

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


Оффлайн Ирина

  • Наставник
  • **
  • Сообщений: 78
  • Рейтинг: +5/-0
    • Просмотр профиля
Большое спасибо тебе Admin за уделенное внимание к моим проблемам!!!  :)

1. С календарем буду пробовать, спасибо! Можно, наверно, дурацкий вопрос от новичка, но пока не поняла, чем принципиально отличается создание календаря от того, если бы я вынесла даты просто в качестве поля, как это делается по другим данным?

2. По поводу связей встречались примеры только с одним ключевым полем и я так поняла, что когда ключевых полей больше, то это плохо для приложения, точнее для его работы. Это так?

3. Поскольку пока плохо оперирую терминологией, поясните, пожалуйста, что значит "объединение таблиц фактов в одну", точнее что такое "таблица фактов"? Т.е. мне надо объединить таблицу по акциям и заказам в одну? Если да, то такой вариант очень проблематичен....

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 982
  • Страна: ru
  • Рейтинг: +97/-0
    • Просмотр профиля
Итак, по порядку.
1. Без календаря при анализе сложно обойтись. Ведь следует получать данные и по месяцу, кварталу, году и т.п. В этом случае выручает календарь, привязанный к дате.

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

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

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

В качестве примера:
(Извините, но вы не имеете доступа к галерее)
Обратите внимание на суммы по акциям, в данном пример товар 3 числился в каждой акции.
(Извините, но вы не имеете доступа к галерее)

Учитывается ли акция при продаже в заказе? Почему характеристики товара в таблице акции а не в справочнике товаров?
Каким образом задается дата активности акции, интервалом, как на листе Акции или как на листе Акции2?
Вы начали знакомство с Qlikview с очень хорошей и интересной задачи.
Успехов! ))