2015-10-20 2 views
0

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

В Excel это будет просто SUMIF: [Minutes] if [Team] = [@Team] and [Date] = [@Date]

Как бы подойти к этому в PowerPivot, или это что-то я должен был бы сделать, прежде чем импортировать данные в PowerPivot?

ответ

1

Это похоже на то, что было бы лучше разрешено с определенной мерой. См. this link on measures vs calculated columns.

Типичный инструмент потребления для модели Power Pivot представляет собой сводную таблицу, и только оценки переоценены для каждой ячейки в сводной таблице. Рассчитанные столбцы пересчитываются только при обновлении модели.

Это было бы так просто, как следующее:

TotalMinutes:= 
SUM(FactGameLog[Minutes]) 

Затем в сводной таблице вы можете принести Playername, команда, и дата на строки, столбцы или фильтры (или ломтерезки) по мере необходимости.

0

Моя первоначальная реакция заключается в том, что это вопрос о сводной таблице/диаграмме. Вы сводные таблицы запрашивают модель для вас. Таким образом, у вас может быть простая SUM() мера, а затем Slice по дате, игроку и команде по вашей группировке строк. При желании вы можете добавить фильтры для просмотра одного игрока или команды.

Однако существует функция DAX для условного суммирования, например, SUMIF/COUNTIF (также условные средние значения, min/max, count и другие агрегации).

Вам необходимо использовать рассчитанную меру. Когда вы создадите меру, вы захотите использовать SUMX (также COUNTX, AVERAGEX и т. Д. Для других типов агрегации).

Большой вопрос: где значения, которые вы сравниваете (@Team и @Date). Являются ли они в другом столбце, связанной таблице или статичны?

Во всяком случае, ситанкс будет чем-то вроде этого.

YourMeasure: = SUMX (TableName, выражение)

минуту Итого: = SUMX ( GameData, IF ([команда] = "TEAM1" & & [Дата] = ДАТА (2015, 11, 5), [Минуты], BLANK()) )

В этом примере используется только стробированная строка, но вы можете изменить ее в зависимости от ваших потребностей. Логика логики уведомления во втором параметре. Он либо заполнит поле [минут], либо будет иметь пустое значение.

Надеюсь, это поможет.

+0

Спасибо за ответ, с тех пор я нашел 2 способа справиться с этим. Один из них - использовать меру, а затем использовать ее в сводной таблице. Я не знал, что результат меры будет далее отфильтрован в пределах сводной таблицы. Кроме того, я смог использовать вычисление (сумму) с «более ранним» фильтром для нескольких вещей, которые мне нужны. –

Смежные вопросы