Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 Последнняя непустая дата - решение  [new]
Evolex_
Member

Откуда: Екатеринбург->Москва
Сообщений: 211
Часто приходится искать последнюю непустую дату, а потом производить с ней всякие вычисления, как, например, количество дней с последнего прихода итд. итп.

Может решение, приведенное здесь, поможет кому ), может покажут где не нашел )))


Последниюю дату искал, с помощью манипуляций указанных в статье:
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 Ответить
 
Лучший учебный центр Microsoft!
Новейшие курсы Microsoft SQL Server 2014!
ОЧЕНЬ привлекательные цены на курсы Oracle — от 26 тыс.руб.!
Все курсы по базам данных: Microsoft SQL Server 2014, Oracle, IBM DB2, Access, MySql