Календарь в Power Pivot

Календарь в Power Pivot

20.11.2020 1 Автор pavezlo

Чтобы не забыть

Сперва создаём таблицу выбирая дату начала и дату конца

calendar = CALENDAR ("01.05.2021", "30.12.2021")

Если выскочит ошибка, то нужно добавить date перед датой, ниже на следующем скрине я привёл пример.

или вот так если формат читается как текстовый

Добавляем в Power Pivot с помощью языка DAX

Для года

Важное уточнение, если вводить формулы ниже в Power BI — то разделитель запятая, а если в Data Model Excel — то точка-запятая.

Год

Year=YEAR([Date])

Номер месяца

Month Number=MONTH([Date])

Месяц

Month=FORMAT([Date],"MMMM")

МММ-ГГГ

MMM-YYYY=FORMAT([Date],"MMM-YYYY")

Номер дня недели

Day Of Week Number=WEEKDAY([Date])

День недели

Day Of Week=FORMAT([Date],"DDDD")

Week number

Week number=WEEKNUM('Calendar'[Date],2)

YYYY-WW

YYYY-WW='Calendar'[Year]&"-"&'Calendar'[week number]

Weeks

Weeks=FORMAT(CALCULATE(FIRSTNONBLANK('Calendar'[Date];1);ALLEXCEPT('Calendar';'Calendar'[YYYY-WW]));"YYYY-MM-DD")&" - "&FORMAT(CALCULATE(LASTNONBLANK('Calendar'[Date];1);ALLEXCEPT('Calendar';'Calendar'[YYYY-WW]));"YYYY-MM-DD")

Day Of Week Number

Day Of Week Number2=WEEKDAY([Date],2)

week diff

week diff=IFERROR (
    IF (
        'Calendar'[Day Of Week Number] = 7;
        DATEDIFF ( 'Calendar'[Date]; TODAY (); WEEK ) + 1;
        DATEDIFF (  'Calendar'[Date]; TODAY (); WEEK )
    );
    -1
)

Как настроить сортировку недель по порядку в Power BI

По умолчанию Power BI будет делать сортировку неправильно. Например вот так будут отображаться график по месяцам, хотя в данных используется январь из следующего года и он должен быть в конце

Такая же ситуация с неделями. Чтобы избежать этого, нужно выводить порядковые номера недель или месяцев, в зависимости от того, что будете сортировать.

Добавляем столбцы с номерами недель и недель с годами

Далее встаём на столбец с интервалами недель «Weeks» и применяем сортировку по столбцу «YYYY-WW»

После этого, выводя график в отчёте, нужно выбрать по чему будем сортировать.

После этого данные встанут в нужном порядке