У кого-нибудь есть совет, как построить среднюю меру, которая является динамической - она не указывает конкретный фрагмент, а вместо этого использует ваш текущий вид?Я работаю во внешней программе просмотра OLAP (Strategy Companion), и мне нужна «динамическая» реализация, основанная на измерениях, которые в данный момент фильтруются в представлении данных.
Моя таблица фактов выглядит примерно так:
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]» с «[Меры]. [AmountA] / [Меры]. [IndicatorA]», которое прекрасно работает - «IndicatorA] "суммирует количество ненулевых значений" [AmountA] ".И это также прекрасно работает независимо от того, какие измерения выбраны в представлении - оно всегда делится на количество отфильтрованных строк.
Но как насчет [AmountB]?У меня нет нулевого столбца индикатора.Я хочу получить среднее значение [AmountB] для всех строк, которые были отфильтрованы для моего текущего представления.Если я пытаюсь использовать количество строк в качестве простой формулы (псевдо-код "[Меры]. [AmountB] / Количество ([Меры]. [Ключ])"), я получаю неправильный результат, потому что он считает всепустые строки в среднем.
Итак, мне нужен способ использовать функцию AVG, чтобы указать среднее значение [AmountB] по набору «любых строк, по которым я в данный момент фильтрую, на основе любых измерений, которые яв настоящее время использую ".Как мне указать этот динамический набор?
Я пробовал несколько разных вариантов использования функции AVG, и они либо возвратили ноль, либо суммировали до огромных чисел, явно не среднего значения, которое я ищу.
Спасибо, Мэтт