![]() |
#28 |
злыдень
|
Цитата:
Сообщение от farlander
![]() Тогда приведу пример.
Таблицы RPayTrans и RPayEmplTblSum связаны по EmplId и PayPeriod. Например, возьмем измерения RPayTrans.PayCtype и RPayEmplTblSum.TimeCode. Меры возьмем RPayTrans.Amount и RPayEmplTblSum.DayFact В представлении TimeCode и DayFact получим одну строку, у которой мера будет включать СУММУ строк, равное количеству PayCtype при данном EmplId и PayPeriod. То есть если в этом периоде у этого человека есть 2 разных PayCtype, то сумма задвоится. Думаю надо применить mdx-формулу: отношение меры к количеству отфильтрованных строк... подскажет кто-нить такой код? Если вы хотите получить сумму деленное на количество (некое среднее) то можно сделать например так SUM(Amount ) / Count(PayCtype) Если же Вам нужно делить на количество именно уникальных значений то вместо Count(PayCtype) можно попробовать DistinctCount(PayCtype) Тип агрегации (Sum, Count, DistinctCount и т.п.) Задаются в свойствах мер. Произвести требуемые вычисления можно как на стороне эскуэль так и непосредственно в кубе (заведя соответствующие меры и калькулируюмую меру сум/каунт). Если же непременно хочется через какой ть хитрый MDX поизвращаться попробуйте покурить функцию Avg
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ Последний раз редактировалось Recoilme; 05.03.2007 в 13:58. |
|