Страницы: 1
RSS
Нарастающий итог для меры в Power BI
 
Добрый день.

Подскажите, пожалуйста, возможно ли в Power BI расчет меры отобразить нарастающим итогом?

Сама мера рассчитывается следующим образом:
Код
Текучесть % = DIVIDE(
                     SUM('Текучка'[Всего уволено]);SUM('Текучка'[Средсписочная численность]))


Возможно сделать расчет меры как на примере ниже? Пример ниже это нарастающий итог в сводной таблице в Excel.


Или произвести так расчет меры, чтобы в поле Всего показывалась сумма Июль+Август+Сентябрь = 64,0%


Также пробовал и такой мерой, но не получилось.Выводит те же значения, что выше на 1 картинке.
Код
Нар итог Текучесть % = CALCULATE('Текучка'[Текучесть %]; 
                            FILTER(ALLSELECTED('Дата_ЛЕВ'); 
                                'Дата_ЛЕВ'[Дата] <= MAX('Дата_ЛЕВ'[Дата])
))

Также еще на самом листе в Power BI имеется несколько срезов: Регион, Город. При этом необходимо учитывать, что при их переключении мера должна рассчитывать корректно.
Пока я не могу понять, как это сделать. Буду благодарен за комментарии!
Изменено: t0lmachev - 28.11.2019 11:16:47
 
Поиском по форуму пользоваться пробовали?
Вот горшок пустой, он предмет простой...
 
Да, пользовался. Как раз 2ую меру взял из поиска. Пробовал ее, она на числовых выражениях по столбцам работает, а для меры нет. Поэтому и решил задать вопрос на форум.
Изменено: t0lmachev - 28.11.2019 12:41:22
 
ALLSELECTED попробуйте заменить на ALL. А лучше приложите файл с парой десятков строк данных. Реальные данные замените на выдуманные. Главное, чтобы структура модели данных повторялась (таблица фактов, календарь и связи между ними). Причины могут быть разные, поэтому без примера - это гадание на кофейной гуще получается.
 
Во вложении пример на pbix + также прикладываю источник на xlsx.

В самом проекте Power BI подписал, что при выборе определенных фильтров в срезе ниже данные должны также изменяться и соответственно, как по месяцам, так и в нарастающем итоге.
При этом, если я вывожу в матрице в поле "значение" вместо меры значение Всего уволено из таблицы Текучка, то нарастающий итог работает.
 
Vladimir Chebykin, забыл поставить в ответ. Выше приложил пример.
 
tolmachevs, добрый день. А не вводите ли Вы нас и себя в заблуждение по логике расчета меры накопительным итогом? У Вас данные за июль - 20,9%, август - 43,1%. Если речь идет про накопительный итог, то в за август у Вас должна быть мера типа такой логики:
Код
=DIVIDE(
CALCULATE(SUM('Таблица'[показатель1]);FILTER(ALL(['Таблица']);'Таблица'[дата]<=MAX('Таблица'[дата]);
CALCULATE(SUM('Таблица'[показатель2]);FILTER(ALL(['Таблица']);'Таблица'[дата]<=MAX('Таблица'[дата]);
BLANK()
)

По такой логике накопительный итог никак не может быть результатом 20,9% + 43,1%. Потому что Вы и первый показатель (всего уволено) суммируете за два месяца, и второй показатель (средсписочная численность) тоже СУММИРУЕТЕ за два месяца. И это логика заложена в вашей самой первой мере в посте №1.
 
Vladimir Chebykin, теперь я понял в чем проблема была. Спасибо.

Я пошел другим путем и добавил флаг для проверки порядкового номера месяца внутри квартала.
Код
Проверка = MOD(MONTH('Дата_ЛЕВ'[Дата])-1;3)+1

И дальше добавил меру, чтобы она суммировала данные месяцев внутри квартала исходя из вышеуказанной проверки.

Код
ИТОГ Текучесть % = CALCULATE('Текучка'[Текучесть %]
    +
IF(SUM('Дата_ЛЕВ'[Проверка])=1;0;
IF(SUM('Дата_ЛЕВ'[Проверка])=2;
DIVIDE(
CALCULATE(SUM('Текучка'[Всего уволено]);PARALLELPERIOD('Дата_ЛЕВ'[Дата]; -1; MONTH));
CALCULATE(SUM('Текучка'[Среднесписочная численность]);PARALLELPERIOD('Дата_ЛЕВ'[Дата]; -1; MONTH))
);
DIVIDE(
CALCULATE(SUM('Текучка'[Всего уволено]);PARALLELPERIOD('Дата_ЛЕВ'[Дата]; -1; MONTH));
CALCULATE(SUM('Текучка'[Среднесписочная численность]);PARALLELPERIOD('Дата_ЛЕВ'[Дата]; -1; MONTH))
)
+
DIVIDE(
CALCULATE(SUM('Текучка'[Всего уволено]);PARALLELPERIOD('Дата_ЛЕВ'[Дата]; -2; MONTH));
CALCULATE(SUM('Текучка'[Среднесписочная численность]);PARALLELPERIOD('Дата_ЛЕВ'[Дата]; -2; MONTH))
)
)))

P.S. возможно можно было и решить по-другому, но пока я нашел только такой вариант.

 
tolmachevs, честно, так до конца и не понял, как Вам нужно считать. Но вопрос из первого сообщения можно сделать подобной мерой:
Код
=CALCULATE(
   SUMX(
      SUMMARIZE('Таблица1';[Дата];"процент";[доля по каждому месяцу]);
      [процент]);
   FILTER(
      ALL('Таблица1'[Дата]);
      'Таблица1'[Дата]<=MAX('Таблица1'[Дата])
      )
   )

Эта мера работает на таблицу во вложении, которую Вы приложили для примера.
Страницы: 1
Наверх