Скажем, у меня есть две таблицы. attrsTable:Подведение значений связанной таблицы в PowerPivot/DAX
file | attribute | value
------------------------
A | xdim | 5
A | ydim | 6
B | xdim | 7
B | ydim | 3
B | zdim | 2
C | xdim | 1
C | ydim | 7
sizeTable:
file | size
-----------
A | 17
B | 23
C | 34
У меня есть эти таблицы, связанные через поле 'файл'. Я хочу измерение PowerPivot в attrsTable, чей расчет использует размер. Например, скажем, я хочу xdim + ydim/размер для каждого из A, B, C. Расчеты будут:
A: (5+6)/17
B: (7+3)/23
C: (1+7)/34
Я хочу, чтобы эта мера быть достаточно общим, так что я могу использовать ломтерезки позже нарезать по файлу или атрибуту. Как это сделать?
Я пробовал:
dimPerSize := CALCULATE([value]/SUM(sizeTable[size])) # Calculates 0
dimPerSize := CALCULATE([value]/SUM(RELATED(sizeTable[size]))) # Produces an error
Любая идея, что я делаю не так? Вероятно, мне не хватает фундаментальных концепций использования DAX с отношениями.
спасибо за ответ, но, похоже, есть несколько проблем с тем, что вы наметили. a) Синтаксис: Предполагаю, вы имеете в виду ydim: = ..., а не [ydim] = ... b) ваш [dimPerSize] делится на VALUES(). VALUES() возвращает таблицу, и, таким образом, я получаю сообщение об ошибке; c) Я не могу фильтровать «xdim», «ydim» и т. д., потому что их слишком много, а также я хочу их отрезать позже d) из-за (b), ваши формулы в 1. и 2. Не работайте. Любые указатели? – PonyEars
Не поймите, что вы пытаетесь сделать с a) - нет универсального соглашения о том, как изобразить, что что-то является мерой Dax, и это, безусловно, не является синтаксической ошибкой. Текст в [] - это имя меры, а все справа - тело меры. В терминах b) и, следовательно, d) я просто предлагаю вам прочитать весь ответ, половина из которых касается способов использования VALUES(), но имеет дело с тем, что формула ожидает единственное значение. Возможно, вам потребуется предоставить более полное объяснение желаемых результатов. – Jacob
С a), похоже, что x: = ... - это точный синтаксис, который вводится в вычисляемое поле (aka measure). Я предполагаю, что ваше использование [x] = ... вместо этого, и тот факт, что ваш DAX возвращает таблицу, смутил меня.С b) и d) я прочитал, но я все еще не уверен, что понимаю ваш подход: вы, кажется, предлагаете использовать две меры (например, dimPerSize и ItdimPerSize), где вторая зависит от первой. первая не является допустимой мерой, и я не могу заставить ее работать даже с использованием функции агрегации. – PonyEars