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

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: Ирина от 28 января 2015, 10:09:12

Название: Canonical Date - что это, когда и как применять?
Отправлено: Ирина от 28 января 2015, 10:09:12
Здравствуйте! В попытках связать несколько разных дат моей модели (при том, что ключевые поля уже есть и при связке дат образуется цикл) я наткнулась на одну очевидно интересную вещь "Canonical Date". Подробнее описано тут http://community.qlik.com/blogs/qlikviewdesignblog/2014/02/17/canonical-date (http://community.qlik.com/blogs/qlikviewdesignblog/2014/02/17/canonical-date)

Поясните, пожалуйста:
1. Что понимается по "мастер-календарем"? Это просто календарь, как выложен тут на форуме? http://qlikview-forum.ru/qvf/index.php/topic,11.0.html (http://qlikview-forum.ru/qvf/index.php/topic,11.0.html)
2. Как создать аж 3 календаря?
3. И не могу до конца понять как они связываются в один календарь....?
Название: Re: Canonical Date - что это, когда и как применять?
Отправлено: admin от 28 января 2015, 10:41:31
Цитата: Ирина от 28 января  2015, 10:09:12  
Поясните, пожалуйста:
1. Что понимается по "мастер-календарем"? Это просто календарь, как выложен тут на форуме? http://qlikview-forum.ru/qvf/index.php/topic,11.0.html (http://qlikview-forum.ru/qvf/index.php/topic,11.0.html)
2. Как создать аж 3 календаря?
3. И не могу до конца понять как они связываются в один календарь....?
1. Под мастер-календарем или просто календарем понимается таблица с ключевым полем Дата, связанная с таблицей фактов и содержащая в себе дополнительные календарные измерения для облегчения работы в модели данных. Под доп.измерениями имеются в виду год, месяц, день, неделя, день недели, квартал, полугодие, начало месяца, начало квартала и т.д.

2. Загрузить один и тот же календарь с префиксом, чтобы имена полей не пересекались друг с другом, можно воспользоваться готовой библиотекой (набором функций).
3. В один календарь они никак не могут быть связаны. По указанному примеру Canonical Calendar играет такую роль с помощью созданной таблицы DateBridge.
Название: Re: Canonical Date - что это, когда и как применять?
Отправлено: Ирина от 28 января 2015, 10:57:04
"В один календарь они никак не могут быть связаны. По указанному примеру Canonical Calendar играет такую роль с помощью созданной таблицы DateBridge."

А не могли бы пояснить подробнее про суть таблицы DateBridge. Ведь она связывает все даты в один календарь?
Название: Re: Canonical Date - что это, когда и как применять?
Отправлено: admin от 28 января 2015, 12:54:29
http://community.qlik.com/servlet/JiveServlet/showImage/38-3585-52899/Full+model.png (http://community.qlik.com/servlet/JiveServlet/showImage/38-3585-52899/Full+model.png)
Допустим есть один заказ №001 от 10.01.2015 на дату отгрузки 15.01.2015 отгруженный 20.01.2015
Datebridge будет содержать записи:

10.01.2015, 001, Заказ от
15.01.2015, 001, Отгрузить
20.01.2015, 001, Отгружен

Если есть заказ № 002 от 15.01.2015 на 20.01.2015 то в таблице будет уже следующее:

10.01.2015, 001, Заказ от
15.01.2015, 001, Отгрузить
20.01.2015, 001, Отгружен
15.01.2015, 002, Заказ от
20.01.2015, 002, Отгрузить
20.01.2015, 002, Отгружен

Таким образом, построив график по измерению CanonicalData вы сможете с помощью выражений анализа множеств (Set Analysis) определить в одном графике сколько у вас было заказов принято и отгружено.
Этого же можно добиться если заказы и отгрузки будут представлять собой разные массивы данных, объединенных в одну таблицу фактов с общим и единственным полем Дата документа, определяющим дату свершения события.
Название: Re: Canonical Date - что это, когда и как применять?
Отправлено: Ирина от 30 января 2015, 09:46:53
Понятно, спасибо за разъяснения!  :)