2016-07-19 7 views
0

Я использую надстройку Power Pivot для создания хранилища данных для генерации динамических таблиц и графиков (строго источник данных - это Excel), но у меня есть проблема с вычислением в отношениях. Моя модель данных является следующее:Как получить значение от вложенных отношений в Power Pivot?

My Snowflake data warehouse model

Так таблица фактов «fSales» Мне нужно умножить dCostDetail[Value] за dWorkCost[Value] генерировать fSales[Expenses] сумму.

Я попытался использовать формулу, но получаю сообщение об ошибке: связан с, но он не позволяет вложить между отношениями, например. fSales[Expenses] = related(dCostDetail[Value])*related(dWorkCost[Value])

Также я пытался использовать следующую формулу:

fSales[Expenses] = related(dWorkCost[Value]) * Calculate(Calculate(Calculate(Value(dCostDetail[Value]), Userelationship(fSales[IdProduct],dProduct[Sku]),Userelationships(dProduct[IdCateg],dCategory[IdCategory]), Userelationships(dCategory[IdCategory],dCostDetail[IdCateg])))) 

И мне нужен этот «тип» нормализованной модели, чтобы детали, когда я анализирую информацию, например, фильтр, но если вы знаете другой способ генерации вычисления, все будет в порядке.

ответ

0

RELATED не работает в измерениях, поскольку он оценивает уровень записи по записи. Таким образом, вы на правильном пути, но вам нужно создать столбец в Powerpivot в таблице fSales с названием «Сведения о затратах» или что-то еще, и использовать формулу RELATED, чтобы извлечь это значение из таблицы CostDetail. Создайте еще один столбец и сделайте то же самое, чтобы вставить значение dWorkCost в таблицу fSales.

Тогда вы можете сделать меру расходов, как это:

Расходы: = SUM ([все, что вы назвали CostDetailColumn]) * SUM ([то, что вы назвали WorkCostColumn])

Вы должны быть в состоянии чтобы эта мера превратилась в стержень, и она должна делать то, что вы ищете.