PowerBI: получение уровня гибкости сводной таблицы с вычисляемыми полями

Отличная (по крайней мере для меня) возможность построения отчетов в Excel со сводными таблицами и диаграммами заключается в том, что я могу иметь вычисляемое поле, которое динамически реагирует на все, что отображается (срезается) в определенный момент времени.

Судя по моему довольно короткому опыту работы с PowerBI, это кажется невозможным. Это обсуждение, похоже, касается той же / аналогичной проблемы и не приносит пользы. Новости. В общем смысле, цель этого вопроса - понять, так ли это до сих пор или за год, прошедший с момента вышеупомянутого обсуждения, что-то изменилось.

Говоря более подробным языком, в настоящее время у меня есть некоторые отчеты в Excel, в значительной степени основанные на сводных таблицах и диаграммах. Источник данных хранится в Access. В отчете мне нужно отобразить некоторые средневзвешенные значения. Прямо сейчас первый шаг вычисления (умножение значений на веса) выполняется в Access, а в Excel вычисляемое поле сводной таблицы заботится о создании дивиденда (суммы продуктов) и делителя (суммы весов). Из-за природы сводных таблиц результаты всегда будут правильными, независимо от того, насколько сильно конечные пользователи сходят с ума при детализации с помощью срезов, или наоборот, если данные агрегированы на более высоком уровне, чем тот, который находится в необработанном источнике.

Я не нашел способа достичь такой же степени гибкости с PowerBi. Есть какое-нибудь общее решение?

--

РЕДАКТИРОВАТЬ в ответ Алексису Позвольте мне привести более наглядный пример: это представление, которое у меня есть в Access, которое передает отчет, цель которого - отслеживать среднее время обработки (скорость выполнения) сотрудников.

Day        |      Month |     Agent |  Team | Category| CategoryDetail| Volume | Time (s) | CF_Product (Volume*Time)
05/01/2018 | 01/01/2018 | JohnSmith | TeamA | Tier1   | Mail          | 15     | 350      | 5250
03/02/2018 | 01/02/2018 | SamAllen  | TeamB | Tier1   | Phone         | 25     | 60       | 1500

Назначение CF_Product - подготовить расчет средневзвешенного значения. Время (с) - это значение, а Объем - это вес. Следующие шаги при использовании Excel будут следующими:

  1. Создайте сводную таблицу, используя это представление в качестве источника данных;
  2. Создайте вычисляемое поле следующим образом: CFE_WeightedAverage = CF_Product / Volume.
  3. Нанесите эту информацию на линейную / комбинированную диаграмму с полем «День» на оси X.
  4. Поместите срезы для всех описательных полей (команда, агент, категория ...), чтобы пользователи могли выполнять детализацию / раскрытие по своему усмотрению.

В PowerBI:

  1. Я загружаю вид в модель
  2. Выберите комбинированный / линейный график
  3. Создайте вычисляемый столбец точно так же, как в Excel CFE_WeightedAverage = CF_Product / Volume.
  4. Перетащите это поле в линейную часть диаграммы,

однако отображаемые данные неверны. Я предполагаю, что это связано с тем, что сводная таблица в Excel сначала будет агрегировать, а затем выполнять вычисление для любых агрегированных значений, кэшированных в данный момент времени, тогда как при мощности bi вычисление будет выполняться для каждой строки данных а затем суммировал, и я не знаю, как обойти эту проблему.

Надеюсь, это лучше проясняет мой случай.


person IgorM    schedule 20.02.2018    source источник
comment
Что, по вашему мнению, сводная таблица Excel может делать, а Power BI - нет? У вас определенно могут быть срезы, детализация, вычисляемые поля и т. Д. В Power BI.   -  person Alexis Olson    schedule 21.02.2018
comment
Привет, отправлю отдельный ответ, чтобы предоставить вам более подробную информацию. Комментарий, вероятно, слишком ограничен для него.   -  person IgorM    schedule 21.02.2018


Ответы (2)


В Power BI есть меры и вычисляемые столбцы. Если вы хотите, чтобы ваши вычисления реагировали на срезы или перекрестную фильтрацию, вам необходимо использовать меры вместо вычисляемых столбцов, поскольку последние вычисляются до того, как что-либо произойдет на странице вашего отчета.

Существует множество ресурсов, описывающих различия между этими двумя, которые вы можете найти с помощью своей поисковой системы. Вот пара источников:

https://www.sqlbi.com/articles/calculated-columns-and-measures-in-dax/ https://powerpivotpro.com/2013/02/when-to-use-measures-vs-calc-columns/

person Alexis Olson    schedule 21.02.2018

Используя язык формул DAX, вы можете выполнять невероятно мощные вычисления либо в PowerBI, либо в сводной таблице PowerPivot в Excel, которые намного превосходят все, что вы могли бы делать в «традиционных» сводных таблицах в Excel. Единственное различие между PowerBI и Excel в этом отношении заключается в пользовательском интерфейсе: сводные таблицы в Excel имеют гораздо лучшие параметры «перетаскивания», чем, скажем, матрица в PowerBI.

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

Чтобы ответить на ваш вопрос о том, изменилось ли что-либо, можно было бы, возможно, сказать: «Нет: PowerBI и сводные таблицы с расширением DAX в Excel, тем не менее, вы лучше контролируете то, что отображается в конкретном визуальном элементе или сводной таблице по сравнению с традиционными сводными таблицами».

person jeffreyweir    schedule 21.02.2018