Добро пожаловать в форум, 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 Ответить
 
Разработка веб приложений с помощью Visual Studio 2010   29 000 руб.
Java сквозной курс от а до я. от java программирования до разработки java ee 7 web и
ejb приложений с использованием баз данных (на примере mysql)
  57 000 руб.
Создание запросов в SQL Server 2012   29 500 руб.
Администрирование баз данных Microsoft SQL Server   29 500 руб.
Основы web-программирования. HTML, CSS, PHP   26 990 руб.