powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / LastChild
5 сообщений из 5, страница 1 из 1
LastChild
    #40043831
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
приветствую
есть мера "Остаток шт" с aggregate function = LastChild
и есть календарь на 2021г.
т.к. остатки товара залиты только по вчера
то при отображении текущего не закрытого элемента, неделя или месяц или год. выводиться ПУСТО.
как отобразить LastChild на не более чем вчерашний день на уровне недели,месяца, года и .тд.?
LastNotEmpty - поидее не подходит потому, что если товара небыло то будет тянуть последний день когда он был. - не то.

я пробовал прописать такие вот скопы:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SCOPE([MEASURES].[Остаток шт]);
    SCOPE([Время].[ГКМД].MEMBERS);
       THIS =  case 
                    when not isleaf([Время].[ГКМД].CurrentMember) 
                            then            
                            TAIL(NONEMPTY(EXISTING (
                                            [Время].[ГКМД].Members
                                            ,[Measures].[Остаток шт])),1).ITEM(0)
                            
                else [Measures].[Остаток шт]
                end;
    END SCOPE;
END SCOPE;



но получил удар по производительности. куб начал много всякого читать по кругу...
...
Рейтинг: 0 / 0
LastChild
    #40044204
alexdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот прям сразу, конструкцию
montoya.

Код: sql
1.
2.
3.
4.
case 
    when 
    else
end;


Моша рекомендовал не использовать никогда, потому как эта конструкция всегда исключает block computation mode.
Там, в том эпичном треде про остатки было обсуждение о том, как можно обнулять меры при агрегации LastChild, начиная с какой-то (напр., сегодняшней) даты не используя конструкций CASE ... END. Кажется, об этом в том треде писал Владимир Штепа.
У Моши была статья в блоге как в скрипте куба можно вычислить сегодняшнюю дату и таким образом получить этот мембер в измерении дат, либо можно этот мембер пометить в ETL, либо просто прописать этот мембер в скрипт куба.
...
Рейтинг: 0 / 0
LastChild
    #40044413
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexdr,
спасибо

а где эти блоги?
позакрывали?
...
Рейтинг: 0 / 0
LastChild
    #40044416
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну я пока выкрутился из ситуации "обрезанием" календаря по текущую дату

но в будущем всё равно вопрос актуален, допустим мне нужен будет полный календарь...
что делать?)
...
Рейтинг: 0 / 0
LastChild
    #40044556
alexdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
montoya.
а где эти блоги?
позакрывали?

Боюсь, поудаляли. Но есть архив интернета. Там по имевшимся ранее сохраненным ссылкам мне удавалось найти интересующие меня блоги.
montoya.
но в будущем всё равно вопрос актуален, допустим мне нужен будет полный календарь...
что делать?)

Я написал, где можно посмотреть идеи. Логика такова - вначале тем или иным способом нужно получить мембер измерения дата, после которого не нужны остатки). Меру с остатками можно и нужно сделать скрытой. Рядом создать другую меру, напр., [MEASURES].[Display Остаток шт]. Скопировать в нее значение меры с остатками, а в скоупе от искомой даты до конца времен ([Мембер с нужной датой] : [NULL]) присвоить мере [MEASURES].[Display Остаток шт] значение NULL.
Как-то так.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / LastChild
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]