|
|
|
OBI12 показатель на прошлую неделю
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть задача, которая сейчас реализована через Direct SQL, как решить ее через репозиторий BI? Описание. в отчет необходимо вывести два столбца (показатель "количество продаж") за выбранный понедельник и за предыдущий понедельник. Причем, если предыдущий понедельник находится в прошлом месяце (относительно выбранного понедельника), то количество продаж надо брать на последний день прошлого месяца. Т.е. простая ситуация - если текущий понедельник 24,12,18, то предыдущий понедельник это 17,12,2018 и "количество продаж" надо брать на эти даты. Сложная ситуация - текущий понедельник 03,12,2018, предыдущий понедельник - это 26,11,2018 и "количество продаж" предыдущего понедельника надо отобразить на 30,11,2018. Можно такое проделать без прямых селектов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 23:02 |
|
||
|
OBI12 показатель на прошлую неделю
|
|||
|---|---|---|---|
|
#18+
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} , вторая с фильтром на основе служебного анализа. Далее делаю сводную таблицу с полем "текущая дата"/"предыдущая неделя" в столбцах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:47 |
|
||
|
OBI12 показатель на прошлую неделю
|
|||
|---|---|---|---|
|
#18+
Kostas_12, Сделать календарь с неделями и использовать AGO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 20:12 |
|
||
|
OBI12 показатель на прошлую неделю
|
|||
|---|---|---|---|
|
#18+
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" С каким форматом должно работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2019, 12:17 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39764888&tid=1857652]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 19ms |
| total: | 253ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...