Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 OBI 11G Рассылка отчетов агентом (параметры отчета - диапазон дат)  [new]
Кostas_11
Member

Откуда:
Сообщений: 115
Добрый день.
Версия 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'
обламывается на одинарном условии, а с этой командой - только на сдвоенном условии?
Логичнее было бы чтобы либо оба условия проходили, либо оба не проходили.
9 янв 18, 16:11    [21090635]     Ответить | Цитировать Сообщить модератору
 Re: OBI 11G Рассылка отчетов агентом (параметры отчета - диапазон дат)  [new]
Jack Carver
Member

Откуда: obi2ru.blogspot.com
Сообщений: 1700
Кostas_11,

Покажите код фильтров в отчете (я так понимаю. это ансверы/анализы?). Можно еще и скриншотом подкрепить...
9 янв 18, 18:38    [21091257]     Ответить | Цитировать Сообщить модератору
 Re: OBI 11G Рассылка отчетов агентом (параметры отчета - диапазон дат)  [new]
Кostas_11
Member

Откуда:
Сообщений: 115
to Jack Carver
кажется нашел "кривенький" workaround (см. картинку ниже).

Но как сделать по правильному, без узнавания конкретного формата даты опытным путем, созданием доп. переменных и т.д.?
Чтобы параметризацией отчета скользящими датами могли пользователи сами заниматься?

Суть workaround такова.
На каждом экземпляре BI выводишь фильтруемое поле дата ("Dim Dates"."Datefull") и дату приведенную к тексту (cast("Dim Dates"."Datefull" as char)).
В зависимости от выдаваемого в отчет формата поля cast("Dim Dates"."Datefull" as char) создаешь в инитблоке переменную такого же формата (в моем случае это DA7_monthname (дата с 03-JAN-18) и Today_monthname (дата по 10-JAN-18)).
И в фильтре ансверса также ставишь cast("Dim Dates"."Datefull".

К сообщению приложен файл. Размер - 132Kb
10 янв 18, 14:59    [21093597]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить