| Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
| Все форумы / OLAP и DWH |
![]() |
||
|
Evolex_ Member Откуда: Екатеринбург->Москва Сообщений: 210 |
Часто приходится искать последнюю непустую дату, а потом производить с ней всякие вычисления, как, например, количество дней с последнего прихода итд. итп. Может решение, приведенное здесь, поможет кому ), может покажут где не нашел ))) Последниюю дату искал, с помощью манипуляций указанных в статье: http://sqlserveranalysisservices.com/OLAPPapers/InventoryManagement%20in%20AS2005v2.htm и тупо [Measures].[Количество дней с последнего Прихода] as ( Tail ( NonEmpty ( [Дата Время].[Дата].MEMBERS ,measures.[Приходная Накладная Количество] ) ,1 ) : null ) .count тоже было. Работает это конечно долго все. ... В общем решеие такое получилось: Добвляем в группу мер ключ даты с функцией агрегирования max - числовой он у нас называем: [Measures].[Приходная накладная Количество Последний Ключ Даты] После этого переписывается CM со стокрытным приростом производительности таким образом: [Measures].[Количество дней с последнего Прихода] as ( StrToMember ("[Дата время].[Дата].&[" + VBA!Cstr ( [Measures].[Приходная накладная Последний Ключ Даты] ) + "]" ) : NULL ) .Count p.s. Семиаддитивную меру хотелось использовать - но кроме даты по остальным измерениям суммирующая функция аггрегирования не подходит здесь. |
| 15 сен 08, 17:25 [6186936] Ответить | Цитировать Сообщить модератору | |
| Все форумы / OLAP и DWH | ![]() |
|