2014-01-07 4 views
1

У меня есть основные данные, установленные с тонной ломтерезки, что примерно выглядит следующим образом:вычисляемого поля итогов не корректные в PowerPivot

 Hours SpreadPerHr  Spread 
     5.00  5.00   25.00 
     10.00  2.00   20.00 
     8.00  10.00   80.00 

Где Спред расчетное значение, где Спред = Часы * SpreadPerHour. Проблема заключается в том, что итоговые суммы для этих столбцов следовать этой формуле тоже, так что это выглядит следующим образом:

 Hours SpreadPerHr  Spread 
     5.00  5.00   25.00 
     10.00  2.00   20.00 
     8.00  10.00   80.00 
Total: 23.00  17.00   391.00 

И в то время как часы всего просто отлично, SpreadPerHour динамична и так Spread как хорошо. Неверно говорить, что Total Spread = Total Hours * Total SpreadPerHour. Итоговые должны быть:

Total: 23.00  17.00   125.00 

Есть ли способ, что я могу сделать первенствовать оставить итоги в течение нескольких часов, как есть, но суммировать столбец для распространения вместо умножения суммы?

ответ

2

Вот что я думаю, что у вас есть в вашей власти Pivot Model: enter image description here

Вы вычисленная мера распространения, которую я меченый SpreadCalc1. Проблема заключается в том, что он выполняет агрегацию до того, как она произведет умножение. Эта операция должна выполняться поэтапно, а затем агрегироваться. Поэтому вместо расчетной меры вам нужно создать вычисляемый столбец, а затем суммировать этот столбец.

enter image description here

колонки я помечены как SpreadCalc имеет формулу =[Hours] * [SpreadPerHr]. Вычисленная мера, которую я назвал Spread, является только Sum([SpreadCalc]). Вы можете видеть, что общее количество составляет 125 по желанию, а не 391.

+0

Это выглядит правильно, но я не понимаю различия , My Spread (который является [Часами] * [SpreadPerHr]) - это сама рассчитанная мера, ее нет в исходных данных, это поле, которое я создал в PowerPivot. Я могу создать новую меру для суммы ([Spread]), но она ошибочно. Я что-то упускаю? –

+2

Поле распространения не было в моем исходном наборе данных. Вы должны добавить вычисленное поле в таблице Power Pivot, а не как рассчитанную меру, а как [расчетный столбец] (http://office.microsoft.com/en-us/excel-help/create-a-calculated- колонка-в-силового шарнирного-HA102918362.aspx).Затем измените рассчитанную меру, чтобы суммировать новый столбец, и он будет работать. Вот [хорошая статья] (http://www.powerpivotpro.com/2013/02/when-to-use-measures-vs-calc-columns/) о том, когда использовать рассчитанные столбцы и рассчитанные значения. – mmarie

+0

Ах, спасибо! Это действительно разъяснило это. Я ценю вашу помощь! –

1

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

Добавление расчетных столбцов в «малых» таблицах - это хорошо, но это может вызвать серьезные проблемы с производительностью с большими базами данных.

Поэтому, чтобы решить вашу проблему, я считаю, что «правильный» способ - использовать SUMX.

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

Если вы используете эту формулу (поправьте имя таблицы/мер), вы должны получить желаемые результаты:

SUMX(YourTable, [Sum Hour] * [Sum SpreadPerHr]) 

enter image description here

+1

Обычно я читаю, что вы хотите [избегать SUMX] (http://www.powerpivotblog.nl/tune-your-powerpivot-dax-query-dont-use-the-entire-table-in-a-filter-and -replace-sumx-if-possible /) из-за проблем с производительностью, но [это сообщение в блоге] (http://sqlblog.com/blogs/alberto_ferrari/archive/2011/10/26/sum-or-sumx-with- simple-intermediate-calculate-sumx-is-way-to-go.aspx), похоже, подтверждает то, что вы сказали для простых вычислений. Спасибо что подметил это. Я думаю, что в этом случае разница в производительности будет незначительной, но я ценю новые знания. – mmarie

+0

Спасибо за статьи, посмотрим на них. –

+0

Это прекрасно работает. Это также кажется немного более простым. Спасибо за вход! –

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