Страницы: 1
RSS
Добавить вычисляемые столбцы к сводной таблице через меру. Power Pivot.
 
Добрый день!
Просьба помочь решить, либо подтвердить, что решения моей задачи нет)
Задача:
Есть следующая модель данных

Необходимо в Power Pivot вычислить меру МАРЖА=новая строка [Доходы-Расходы] так, чтобы в сводной таблице добавлялась еще строка "Кол-во продавцов".
 
Я знаю как это сделать с помощью вычисляемого поля и сортировки строк.

Но как этот механизм правильно реализовать через меру в Power Pivot - вопрос?!
Заранее спасибо!
 
Доброго дня, если по-быстрому переделать вашу меру, то так:
Код
МАРЖА:=IF(ISFILTERED(Data[Группа]);
   SUMX(
      ADDCOLUMNS(
         'Data';
         "прибыль";[Доходы]+[Расходы]+[Кол-во продавцов]);
      [прибыль]);
   [Доходы]-[Расходы]
)

А вообще вариантов можно еще пару-тройку разных накидать. Но в принципе для конкретной вот этой структуры сводной это возможно.
Вот горшок пустой, он предмет простой...
 
mikhailkhv, мне кажется проще развернуть исходную таблицу в Power query и считать суммы по каждому столбцу: доход, расход, кол-во продавцов. Соответственно и мера маржи будет: сумма дохода - сумма расходов
 
а это процедура не увеличит время обработки файла? моя исходная модель данных состоит из 18 тыс строк и 12 столбцов

Цитата
PooHkrd написал: Но в принципе для конкретной вот этой структуры сводной это возможно.
Спасибо за решение!
Изменено: mikhailkhv - 21.09.2018 15:42:56
 
mikhailkhv, такой массив "ни о чем" для современных компов. Вряд ли вы заметите разницу. И лучше бы вы в реальной структуре тогда показали данные, а то предложенные решения могут дать неожиданный результат.
 
Цитата
PooHkrd написал: ...для конкретной вот этой структуры сводной это возможно.
Еще такой вопрос: А если сортировка происходит по другой связанной таблице? Возможно ли переписать меру, чтобы она работала корректно?

Цитата
StepanWolkoff написал: лучше бы вы в реальной структуре тогда показали данные
Не влезает файл
Изменено: mikhailkhv - 21.09.2018 15:44:02
 
Поправьте ваши цитаты, они нарушают правила форума - придут модераторы и начнут репрессии, не только к вам, но и к помогающим.
А по вашему вопросу Везде где у вас стоят фильтры по столбцу Группа из таблицы Data, их нужно переправить на таблицу Сортировка. Я же вам ранее указал что мера работает:
Цитата
PooHkrd написал:
для конкретной вот этой структуры сводной
Вам нужно по-плотнее почитать и по-экспериментировать с контекстами в моделях данных.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал: Везде где у вас стоят фильтры... их нужно переправить на таблицу Сортировка.
Спасибо еще раз! вроде справился)

Цитата
PooHkrd написал: Вам нужно по-плотнее почитать и по-экспериментировать с контекстами в моделях данных.
Буду благодарен, если подскажете где лучше почитать)
Можно последний "глупый" вопрос:
Почему у меня не отображается мера "Маржинальность продавца" в моем примере?
Заранее спасибо!
Код
Маржинальность продавца:=DIVIDE([Доходы]-[Расходы];[Кол-во продавцов])
----------------------------------------------------------------------
МАРЖА:=IF(ISFILTERED('Сортировка'[Группа]);
   SUMX(
      ADDCOLUMNS(
         'Сортировка';
         "прибыль";[Доходы]+[Расходы]+[Кол-во продавцов]+[Маржинальность продавца]);
      [прибыль]);
   [Доходы]-[Расходы]
)
Изменено: mikhailkhv - 21.09.2018 15:45:08
 
Цитата
mikhailkhv написал:
Почему у меня не отображается мера "Маржинальность продавца" в моем примере?
Подозреваю, что вы опять путаете. Мера у вас отображается. Вы скорее всего имеете ввиду что она не вычисляется для строки "Маржинальность продавца" из справочника Сортировка. Это происходит, потому что для данной строки отсутствует контекст вычисления, т.к. в таблице фактов нет строк связанных с ней.
В принципе этот контекст можно создать при помощи формулы, сегодня если найду время - попробую, но сначала вам все таки нужно осваивать контексты DAX. Здесь вот накидывали ссылок одному страждущему. Вы не стесняйтесь использовать поиск по форуму - многие вопросы даже не придется задавать.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
Вы не стесняйтесь использовать поиск по форуму - многие вопросы даже не придется задавать.
Это же вникать и разбираться надо. Куда проще - Ok форум :)
 
Цитата
PooHkrd написал: ...попробую
Будет здорово! Со своей стороны тоже пробую сам разобрать в данном вопросе.
В любом случае скиньте мне, пжста, номер карты сбера или втб в личку. Хочу угостить Вас пивом в конце рабочей недели)
 
Ну, в общем, как-то так:
Код
Маржинальность продавца:=CALCULATE(DIVIDE([Доходы]-[Расходы];[Кол-во продавцов]);ALLEXCEPT(Data;Data[Неделя]))

и так:
Код
МАРЖА:=IF(ISFILTERED('Сортировка'[Группа]);
   SUMX(
      ADDCOLUMNS(
         'Сортировка';
         "прибыль";
         [Доходы] + [Расходы] + [Кол-во продавцов] + IF(VALUES('Сортировка'[Группа]) = "Маржинальность продавца";[Маржинальность продавца];BLANK()));
      [прибыль]);
   [Доходы]-[Расходы]
)

И еще раз повторяю, контекстом эти меры очень сильно привязаны именно к этой структуре сводной. если её менять - придется переписывать и меры.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх