Quantcast
Channel: SQL.ru: OLAP и DWH
Viewing all articles
Browse latest Browse all 1167

OBI 11G Рассылка отчетов агентом (параметры отчета - диапазон дат)

$
0
0
Добрый день.
Версия BI 11.1.1.6.12
Есть задача отcылать отчет адресатам, где параметром является ">= дата с" и "<=дата по" или "between", например, за последние 7 дней. Как это правильно сделать и не попасть на ошибки с форматами дат?

Пытался так:
1.1. создал инитблок, где есть две переменные today и days7, при тесте в репозитории получаем "09.01.2018" и "02.01.2018", cоответственно.
1.2. создал отчет (пока без between, а просто >= days7) из одного столбца "Datefull", где в фильтрах указал переменную репозитория @{DAYS7}.

В журнале вижу логический селект, где есть строка "Dim Dates"."Datefull" >= VALUEOF("DAYS7")

Далее отображается либо физический селект
select T88260.DATEFULL from DIM_DATES T88260 where T88260.DATEFULL >= '02.01.2018'
либо ошибка
Failed: [nQSError: 22024] A comparison is being carried out between non-compatible types. (HY000)"

По понятным причинам select в sqldeveloper не работает - несовпадение типов.

Вопрос 1. Как в интерфейсе построения отчета добиться этого совпадения, чтобы было типа
...where T88260.DATEFULL >= to_date('02.01.2018','dd.mm.yyyy')?

1.3. Добавил в коннекшен пул строку alter session set nls_date_format ='dd.mm.yyyy'
Ситуация поменялась, но стало еще более не понятно:
теперь действия из пункта 1.2. дают следующий результат. Для одинарного условия >= (или <=) отчет отрабатывает.
Если добавить второе условие (или between), т.е. "Dim Dates"."Datefull" >= VALUEOF("DAYS7") и "Dim Dates"."Datefull" <= VALUEOF("TODAY"), то опять та же ошибка.

Резюме.
Помогите плз понять, как сделать сабж и понять почему без alter session set nls_date_format ='dd.mm.yyyy'
обламывается на одинарном условии, а с этой командой - только на сдвоенном условии?
Логичнее было бы чтобы либо оба условия проходили, либо оба не проходили.

Viewing all articles
Browse latest Browse all 1167

Trending Articles