У кого-нибудь есть советы о том, как построить среднюю меру, которая является динамической, - она не указывает конкретный срез, а вместо этого использует ваш текущий вид? Я работаю во внешнем средстве просмотра OLAP (Strategy Companion), и мне нужна «динамическая» реализация, основанная на измерениях, которые в настоящее время фильтруются в представлении данных.Динамическое использование функции MDX AVG
Мой факт таблица выглядит следующим образом: "[мер] [AmountA]"
Key AmountA IndicatorA AmountB Other Data
1 5 1 null 25
2 6 1 null 52
3 7 1 2 106
4 null 0 4 108
Теперь я могу указать простое среднее значение для с «[мер] [AmountA]/[Measures].. [IndicatorA] ", который отлично работает -" [IndicatorA] "суммируется с количеством ненулевых значений" [AmountA] ". И это также отлично работает независимо от того, какие размеры выбраны в представлении - он всегда делит на количество строк, которые были отфильтрованы.
Но как насчет [AmountB]? У меня нет нулевого столбца индикатора. Я хочу получить среднее значение [AmountB] для любых строк, которые были отфильтрованы для моего текущего представления. Если я попытаюсь использовать подсчет строк как простую формулу (psuedo-code "[Measures]. [AmountB]/Count ([Measures]. [Key])") Я получаю неправильный результат, потому что он подсчитывает все нулевые строки в среднем.
Итак, мне нужен способ использования функции AVG, чтобы указать среднее значение [AmountB] по набору «любые строки, в которые я сейчас фильтрую, на основе любых измерений, которые я использую в настоящее время». Как указать этот динамический набор?
Я пробовал несколько различных применений функции AVG, и они либо вернули нуль, либо суммировали до огромных чисел, что явно не в среднем я искал.
Matt Благодарения и
Макс, это близко - теперь я ищу, как указать {Your Set} как динамический набор - не какой-либо конкретный фрагмент, а любой набор, который я сейчас фильтрует с помощью инструмента OLAP. – user977080
Я попытаюсь улучшить этот запрос и обновить ответ в ближайшем будущем. – Max