Как отобразить данные о продажах за текущий год, прошлый год и 2 года назад на линейном графике, перекрывающем друг друга с power bi? - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть требование отображать данные о продажах за текущий год 2019 (фактический), данные за предыдущий год 2018 и 2 года назад за 2017 год на одной линейной диаграмме. Данные о продажах генерируются каждое воскресенье недели в общей сложности 52 недели в году

Примечание: данные конфиденциальны, поэтому не могут делиться ими на форуме

Требование к отчету, два раскрывающихся списка:

  1. Выбор рынка.
  2. Выбор даты - эта дата будет каждое воскресенье недели

Линейный график:

Ось X имеет дату, а ось Y - рынок. теперь, когда выбран любой недельный выпадающий список (например, 31 марта 2019 года, на линейном графике должно быть три линии тренда)

  1. Первая линия тренда должна отображать детали с апреля 2019 года по март 2020 года
  2. Вторая линия тренда должна отображать детали с апреля 2018 по март 2019
  3. Третья линия тренда должна отображать детали с апреля 2017 года по март 2018 года

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

Еще одна проблема, с которой я сталкиваюсь, заключается в том, что даты не непрерывны по годам (например, в воскресенье, январь 2018 года, было 7, а в воскресенье, январь 2019 года, было 6).

Пожалуйста, дайте мне знать, если требуется какая-либо дополнительная информация.

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

required output

Я написал DAX, который помогает отображать диапазон дат за 1 год при выборе раскрывающегося списка.

Я хочу, чтобы на моем линейном графике отображались три линии тренда текущего года, предыдущего года и 2 года назад.

Я пробовал функции года для получения данных за предыдущий год, но они не перекрывают мою текущую линию тренда из-за разницы в дате.

1 Ответ

0 голосов
/ 04 апреля 2019

Должно ли иметь разрешение даты по оси x, если нет, вы можете использовать ISO-номер недели в качестве оси x и год (или финансовый год) в качестве пояснения линейного графика.

В вашей календарной таблице добавьте этот рассчитанный столбец:

ISOweek = WEEKNUM([date]; 21)

Если вам нужно разрешение даты, вы можете добавить два вычисляемых столбца; дата + 1 год, а дата + 2 года. Добавьте 364 дня, если день недели является важным совпадением, или добавьте 365, если дата равна.

Добавьте две новые связи из вашего календаря в таблицу данных, одну на дату + 1 год и одну на дату + 2 года. они станут пассивными (пунктирные линии).

Затем используйте следующий шаблон:

A_measure =
MAXX(
    DISTINCT(Calendar);
    CALCULATE(
        SUM(Table[Data]);
        USERELATIONSHIP(Table[date+1year]; Calendar[Date])
        // this uses the passive relationship instead of the active
    )
)

Тогда вторая мера таким же образом, но для третьих отношений.

В линейной диаграмме используйте Календарь [Дата] в качестве оси X, и тогда все три года будут наложены.

...