Гость
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / LastChild / 5 сообщений из 5, страница 1 из 1
09.02.2021, 22:41
    #40043831
montoya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LastChild
приветствую
есть мера "Остаток шт" с 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
10.02.2021, 21:24
    #40044204
alexdr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LastChild
Вот прям сразу, конструкцию
montoya.

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


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

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

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

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

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


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