Есть ли способ создать показатель с использованием переменной для возврата в прошлом месяце Базовый размер в Power BI или DAX - PullRequest
0 голосов
/ 23 апреля 2019

Я создаю отчет в Power BI и хочу вернуть размер последнего месяца.

У меня есть таблица с 4 столбцами, названными как Имя, Размер, Соединения, Разъединения. Значения в этих столбцах приведены за последние 12 месяцев. Например, столбец Имя имеет A, B, C; Размер столбца имеет 3608445, 2839945,874434; Столбец Соединения имеет значения 66875,85632,19237, а столбец Соединения имеет значения 52658,61529 и 15832. Эти значения за последние 12 месяцев. Смотрите скриншот ниже.

Actual and Expected table

Код, который я использовал для создания ожидаемой таблицы:

last_month_size =
VAR current_month =
    MONTH ( TODAY () )
RETURN
    CALCULATE (
        [Size],
        FILTER (
            'Monthly Calendar_Lookup',
            MONTH ( 'Monthly Calendar_Lookup'[Dates] ) = current_month - 1
        )
    )

Я хочу создать меру, которая будет возвращать в прошлом месяце столбец Размер, но Соединения и Разъединения остаются прежними. Например, значение «Размер» изменяется, в то время как значения подключений и отключений остаются за последние 12 месяцев. Мне сложно, потому что столбцы находятся в одной таблице.

1 Ответ

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

Я исследовал вопрос, который я написал, и нашел решение.Это решение проблемы - создание мер без использования переменных.

Сначала я создал меру с именем Total Size

Total Size =  Sum ( Tablename [Size] )

Затем создал другую меру с именем prev_month size, используя функцию DATEADD с number_of_intervals.как 0

prev_month size = CALCULATE ( [Total Size], DATEADD ('Monthly Calendar_Lookup'[Dates], 0, MONTH ) )

Далее я создал показатели общего количества соединений и общего числа отключений

Total Connections =  Sum ( Tablename [Connections] )
Total Disconnections =  Sum ( Tablename [Disconnections] )

Кроме того, я создал две меры по 12-месячным Соединениям и Разъединениям по каждому.Rolling_Connections_12_months = CALCULATE ( SUMX ('Tablename', [Total Connections] ), DATESINPERIOD ('Date'[Month], LASTDATE ( 'Date'[Month] ), -12, MONTH ) )

Rolling_Disconnections_12_months = CALCULATE ( SUMX ('Tablename', [Total Disconnections] ), DATESINPERIOD ('Date'[Month], LASTDATE ( 'Date'[Month] ), -12, MONTH ) )

Перетащите Имя, размер prev_month, Rolling_Connections_12_months и Rolling_Disconnections_12_months на холст в качестве визуализации таблицы.

Затем, наконец, я перетаскиваю относительноеСлайсер даты и установите его как последний месяц.Это дает ожидаемые результаты

...