Доброе время суток!
В этом запросе я определяю новых торговых точек по отгрузкам и для них определяю количество торговых точек в соответствующем городе. Без выделенного и без Having выводит 25 000 строк за 3 мин 30 сек. Затрудняюсь оптимизировать.
Скажите
1. Как сделать так, чтобы полученные новые ТТ поместить в субкуб, чтобы был как определенный набор из новых ТТ?
2. Из за выделенного запрос очень сильно тормозит. Как его можно оптимизировать?
WITH SET [Текущий месяц] AS [Время].[Месяц].&[2016-05-01T00:00:00] SET [Предыдущий месяц] AS [Текущий месяц].Item(0).Lag(1) MEMBER [Отгрузки шт Текущий] AS SUM([Текущий месяц],[Measures].[Отгрузки шт]) MEMBER [Отгрузки шт Предыдущий] AS SUM([Предыдущий месяц],[Measures].[Отгрузки шт]) MEMBER [Мера какая то Текущие] AS SUM([Текущий месяц],[Measures].[Мера какая то]) MEMBER [Новая ТТ] AS (CASE WHEN ([Отгрузки шт Текущий]>0 And [Отгрузки шт Предыдущий]=0) THEN "Новая" END) MEMBER [Количество ТТ по городам] AS (CASE WHEN [Новая ТТ] ="Новая" THEN Count(Filter( [Торговые точки].[Код ТТ].[Код ТТ], ([Города].[Город].CurrentMember, [Отгрузки шт Текущий])>0 )) END) SELECT {[Отгрузки шт Текущий], [Отгрузки шт Предыдущий], [Мера какая то], [Новая ТТ], [Количество ТТ по городам] } ON 0, NON EMPTY [Города].[Город].[Город]* [Измерение какое то].[Измерение какое то].[Измерение какое то]* [Торговые точки].[Код ТТ].[Код ТТ] HAVING ([Новая ТТ]<>null) ON 1 FROM PROFIT WHERE LastPeriods(2, [Время].[Месяц].&[2016-05-01T00:00:00])
В этом запросе я определяю новых торговых точек по отгрузкам и для них определяю количество торговых точек в соответствующем городе. Без выделенного и без Having выводит 25 000 строк за 3 мин 30 сек. Затрудняюсь оптимизировать.
Скажите
1. Как сделать так, чтобы полученные новые ТТ поместить в субкуб, чтобы был как определенный набор из новых ТТ?
2. Из за выделенного запрос очень сильно тормозит. Как его можно оптимизировать?