powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / OBI12 показатель на прошлую неделю
4 сообщений из 4, страница 1 из 1
OBI12 показатель на прошлую неделю
    #39764694
Kostas_12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть задача, которая сейчас реализована через Direct SQL, как решить ее через репозиторий BI?

Описание.
в отчет необходимо вывести два столбца (показатель "количество продаж") за выбранный понедельник и за предыдущий понедельник.
Причем, если предыдущий понедельник находится в прошлом месяце (относительно выбранного понедельника), то количество продаж надо брать на последний день прошлого месяца.

Т.е. простая ситуация - если текущий понедельник 24,12,18, то предыдущий понедельник это 17,12,2018 и "количество продаж" надо брать на эти даты.
Сложная ситуация - текущий понедельник 03,12,2018, предыдущий понедельник - это 26,11,2018 и "количество продаж" предыдущего понедельника надо отобразить на 30,11,2018.

Можно такое проделать без прямых селектов?
...
Рейтинг: 0 / 0
OBI12 показатель на прошлую неделю
    #39764888
terna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kostas_12,

Если не нужно показателей в репозитории, и достаточно реализовать на уровне отчёта, то я бы сделала так:
1) делаю служебный отчёт для определения второй даты, по первой заданной переменной что-то типа:

case when month(TIMESTAMPADD(SQL_TSI_DAY, -7, @{date}) )<month (@{date}) then TIMESTAMPADD( SQL_TSI_DAY , -(1), TIMESTAMPADD( SQL_TSI_DAY , DAYOFMONTH(@{date}) * -(1) + 1,@{date})) else TIMESTAMPADD(SQL_TSI_DAY, -7, @{date}) end

2) в основном анализе union из двух частей (дополнительный текстовый столбец "текущая дата"/"предыдущая неделя": первая с фильтром дата=@{date} , вторая с фильтром на основе служебного анализа.

Далее делаю сводную таблицу с полем "текущая дата"/"предыдущая неделя" в столбцах.
...
Рейтинг: 0 / 0
OBI12 показатель на прошлую неделю
    #39765364
sharkoff_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kostas_12,
Сделать календарь с неделями и использовать AGO
...
Рейтинг: 0 / 0
OBI12 показатель на прошлую неделю
    #39776110
Kostas_12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
terna,
пока сделал через репозиторий, почти как советует sharkoff_new (добавил атрибут "неделя месяца" и т.д.). Хотя эти данные нужны только в отчете.

В предложенном вами решении, запутался в форматах дат.
Например:
cast('2001-12-31' as date) дает на вкладке результаты 31.12.2001. Если инициализировать переменную через дашборд промпт, то формат в отчете получается 2018-11-02.
или уже в формуле
TIMESTAMPADD(SQL_TSI_DAY, -7, cast('@{PV_DATE_MONDAY}{2001-12-31 00:00:00}' as date)) дает на вкладке результаты 24.12.01. Если инициализировать переменную через дашборд промпт, то
Состояние: HY000. Код: 46046. [nQSError: 46046] Значение дата/время 2018-11-09 не соответствует заданному формату. (HY000)
Выдан SQL: SELECT 0 s_0, '2018-11-09' s_1, TIMESTAMPADD(SQL_TSI_DAY, -7, cast('2018-11-09' as date)) s_2 FROM "Table"

С каким форматом должно работать?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / OBI12 показатель на прошлую неделю
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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