Перейти к основному содержимому Перейти к дополнительному содержимому

Пошаговая инструкция — создание календарных периодов с помощью пользовательского календаря

Эта пошаговая инструкция показывает, как создать календарные периоды с помощью пользовательских полей и флагов календаря.

Календарные периоды можно создать при помощи автокалендаря или отдельных полей даты/времени из данных. Можно также использовать поля, содержащие двоичные данные, чтобы помечать промежутки времени для сравнительного анализа.

Есть три вида календарных периодов, которые можно создать с пользовательскими данными календаря:

  • Последнее сортированное значение: календарные периоды с последним сортированным значением показывают самый последний период в выбранном агрегированном поле. В анализах Insight Advisor, поддерживающих сравнения, таких как анализ ранжирования, последнее сортированное значение показывает также предыдущий период.

  • Относительное сравнение: относительные календарные периоды используют поле, содержащее относительные периоды данных от текущей даты. Оно обеспечивает сравнение между текущим или предыдущим периодом и более старым периодом.

  • Сравнение с помощью флагов: флаги используют классифицированные булевы поля, содержащие двоичные данные, чтобы пометить два периода времени для сравнительного анализа.

Примечание к информации

Для демонстрации относительных сравнений периодов времени источник данных для этого приложения содержит данные для будущих дат. Скрипт загрузки загружает данные из источника данных до текущей даты. Результаты на изображениях могут отличаться от ваших результатов, поскольку периоды времени, показанные на изображениях, изменятся.

Приступая к работе

Загрузите пакет-пример и разархивируйте его:

Приложение-пример календарных периодов

В файле QVF содержатся следующий файл данных: 

  • TutorialCustomCalendarData.xlsx

    Для демонстрации относительных сравнений, которые возможны для календарных периодов, TutorialCustomCalendarData.xlsx содержит данные для будущих дат. При выполнении скрипт загрузки приложения обновляет данные в приложении для текущей даты.

Импортируйте файл QVF в Qlik Sense и присоедините файл XLSX к приложению. После импорта приложения и присоединения файла данных к нему загрузите данные приложения в редактор загрузки данных.

Данные, используемые в примере

Данные, использованные в этом примере, загружаются следующим скриптом загрузки:

Sales: LOAD City, Country, Customer, OrderDate, Sales, "Q4-2020", "Q1-2021", "Q2-2021", "Q3-2021", "Q4-2021", "Q1-2022", "Q2-2022", "Q3-2022", "Q4-2022", "Q1-2023", "Q2-2023", "Q3-2023", Month([OrderDate]) AS [Month], Year([OrderDate]) AS [Year], Day([OrderDate]) AS [Day], Dual(Year(OrderDate)&'-'&Month(OrderDate), monthstart(OrderDate)) AS [YearMonth], 12*Year(Today())+Month(Today())-12*Year(OrderDate)-Month(OrderDate) AS [MonthsAgo]

FROM [lib://AttachedFiles/TutorialCustomCalendarData.xlsx]

(ooxml, embedded labels, table is Sales) Where OrderDate <= Today(1);

Скрипт загрузки создает отдельные поля: Год, Месяц и День. Эти три поля используются для создания следующих вычисляемых полей:

  • YearMonth, в котором есть информация о годе и месяце. Это основное поле для агрегирования в примере.

  • MonthsAgo, который вычисляет, есть ли месяцы с определенного месяца относительно текущей даты.

В данных также содержатся несколько полей для различных кварталов, охватываемых в данных. Эти поля содержат двоичные данные, указывающие, к какому финансовому кварталу принадлежит каждое значение в таблице Sales.

Задачи

Эта пошаговая инструкция покажет, как создать три различных вида календарных периодов.

  • Создание пользовательского календарного периода без автокалендаря

  • Создание относительного календарного периода

  • Создание календарного периода для сравнения с помощью флагов

Создание календарного периода с помощью последнего сортированного значения

Для первого календарного периода нужно создать календарный период для YearMonth с помощью последнего сортированного значения.

  1. В приложении-примере щелкните Подготовить.

  2. В разделе Бизнес-логика выберите Логическая модель.

  3. Щелкните Создать календарный период.

  4. Выберите OrderDate.

  5. В поле Имя календарного периода введите Последний отсортированный месяц.

  6. В поле Агрегированная дата выберите YearMonth.

  7. Выберите Использовать значение последней сортировки.

  8. Щелкните команду Создать.

Результат

Перейдите в инструмент Лист и выполните поиск покажи мне объемы продаж по клиенту.

Выберите диаграмму sum(Sales) по клиенту и примените период анализа Последний отсортированный месяц. Диаграмма обновляется и показывает сравнение между текущим и предыдущим месяцем.

Последний отсортированный месяц применяется к Клиент по sum(Sales) в сравнении декабря 2022 года с январем 2023 года

Линейчатая диаграмма со сравнением суммы продаж за декабрь 2022 года и за январь 2023 года для каждого клиента.

Создание календарного периода для относительного сравнения

Затем создадим относительный календарный период. Для относительного календарного периода необходимы:

  • поле агрегирования, содержащее период времени (год, месяц, квартал и т. д.);

  • поле, содержащее относительные позиции дат из того поля к сегодняшней дате.

Затем на основе этих полей будет определено смещение. Смещение — это относительная разница с текущей датой в выбранном периоде времени для двух периодов сравнения. Можно сравнить текущий или предыдущий период (установить 0 или 1 в параметре Смещение) с более старым периодом, который был до 12 периодов назад (установить как число от 1 до 12 в параметре Смещение при сравнении).

Для этого календарного периода будет использоваться YearMonth в качестве поля агрегирования и MonthsAgo в качестве поля относительных периодов. Требуется сравнить текущий месяц с тем же месяцем прошлого года.

  1. Щелкните Создать календарный период.

  2. Выберите OrderDate.

  3. В поле Имя календарного периода введите Этот месяц по сравнению с тем же месяцем прошлого года.

  4. В поле Агрегированная дата выберите YearMonth.

  5. В разделе Относительных периодов назад выберите MonthsAgo.

  6. Для параметра Смещение выберите 0.

  7. Для параметра Смещение при сравнении выберите 12.

  8. Щелкните команду Создать.

Результат

Перейдите в инструмент Лист и выполните поиск покажи мне объемы продаж по клиенту.

Выберите диаграмму sum(Sales) по клиенту и примените период анализа Этот месяц по сравнению с тем же месяцем прошлого года. Диаграмма обновляется и показывает сравнение между текущим месяцем и тем же месяцем прошлого года.

Клиент по sum(Sales) в сравнении марта 2020 года с мартом 2021 года

Линейчатая диаграмма со сравнением суммы продаж за январь 2022 года и за январь 2023 года для каждого клиента.

Создание календарного периода для сравнения с помощью флагов

Календарные периоды для сравнения с помощью флагов используют два поля для пометки двух отдельных периодов для анализа из агрегированного поля даты.

В данных приложения-примера есть отдельные поля для различных финансовых кварталов. В каждом поле есть двоичные данные, указывающие, попадают ли соответствующие даты в квартал или нет. Они будут использоваться с YearMonth для создания календарного периода для сравнения с помощью флагов.

  1. Щелкните Создать календарный период.

  2. Выберите OrderDate.

  3. В поле Имя календарного периода введите Сравнение 4 и 3 квартала.

  4. В поле Агрегированная дата выберите YearMonth.

  5. Щелкните Флажки.

  6. В разделе Флажок текущего периода выберите Q4-2020.

  7. В разделе Флажок периода сравнения выберите Q3-2020.

  8. Щелкните команду Создать.

Результат

Перейдите в инструмент Лист и выполните поиск покажи мне объемы продаж по клиенту.

Выберите диаграмму sum(Sales) по клиенту и примените период анализа Сравнение 4 и 3 квартала. Диаграмма обновляется и показывает сравнение четвертого финансового квартала 2020 года с третьим финансовым кварталом 2020 года.

Клиент по sum(Sales) в сравнении 4 квартала с 3 кварталом

Линейчатая диаграмма со сравнением суммы продаж за кварталы 3 и 4 для каждого клиента.

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!