Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / BI Publisher странное поведение отчёта / 10 сообщений из 10, страница 1 из 1
12.04.2019, 13:27
    #39800532
chikaginsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BI Publisher странное поведение отчёта
Приветствую всех!
Наблюдаю очень странное поведение отчёта BI Publisher. А именно - отчёт при запуске с одними и теми же значениями параметров возвращает произвольный набор данных. Причём набор данных не полный (сравниваю с результатами этого же SQL запроса в PL/SQL Developer'е).
Кто-нибудь встречал подобное?
...
Рейтинг: 0 / 0
12.04.2019, 13:44
    #39800546
Master_Detail
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BI Publisher странное поведение отчёта
Доброго дня!
Помнится, что-то было такое.. Я бы начал смотреть по порядку - точно ли в вашем запросе нет связок без альясов, где наименования полей одинаковые(или совпадают с именами переменных)?
В датасете у вас запрос из таблицы или используете какого-то рода массив данных - функция, которая табличный тип возвращает или еще чего?
Уверены, что у вас нет полей(параметров), где неявное преобразование проходит, что может повлиять как-то на результат?
...
Рейтинг: 0 / 0
12.04.2019, 13:45
    #39800547
Master_Detail
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BI Publisher странное поведение отчёта
Ну и про NLS не забывать. Параметры сессии в BI могут отличаться от параметров сессии, которую вы открываете через девелопер. А лучше покажите свой датасет
...
Рейтинг: 0 / 0
12.04.2019, 14:04
    #39800556
chikaginsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BI Publisher странное поведение отчёта
Master_Detailточно ли в вашем запросе нет связок без альясов, где наименования полей одинаковые(или совпадают с именами переменных)?
Все имена полей результирующего набора данных разные и отличаются от наименования переменных.
Master_DetailВ датасете у вас запрос из таблицы или используете какого-то рода массив данных - функция, которая табличный тип возвращает или еще чего?
Датасет содержит довольно большой SQL запрос (SQL Query - Oracle) из множества таблиц.
Master_DetailУверены, что у вас нет полей(параметров), где неявное преобразование проходит, что может повлиять как-то на результат?
Тут немного не понял вопроса, а именно про "неявное преобразование". Если не сложно, поясните.
...
Рейтинг: 0 / 0
12.04.2019, 14:07
    #39800558
chikaginsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BI Publisher странное поведение отчёта
Master_DetailНу и про NLS не забывать. Параметры сессии в BI могут отличаться от параметров сессии, которую вы открываете через девелопер. А лучше покажите свой датасет
С этим же источником данных другие отчёты ведут себя стабильно - результаты выполнения отчётов постоянны.
Master_DetailА лучше покажите свой датасет
Что конкретно показать, SQL запрос или целиком модель данных и репорт интересуют?
...
Рейтинг: 0 / 0
15.04.2019, 12:32
    #39801423
chikaginsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BI Publisher странное поведение отчёта
Вопрос остаётся открытым...
Обнаружил странную особенность - когда выводится результат соединения двух подзапросов, то набор данных выводится полностью (пробую выгружать подряд в разных форматах для одних и тех же параметров запуска).
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
select opar.char_val RAION --[17]
      ,opar.descr as kontr --[1]
      ,nvl(abon.nab,0) as nab --[2]
from
--[1]
     (select distinct oparl.descr ,oparl.op_area_cd ,ci_acct_char.char_val
      from ci_fs_op_area fsopar ,ci_op_area_l oparl ,ci_acct_char
      where fsopar.fs_cl_cd = 'ABON '
        and rpad((substr(oparl.op_area_cd,1,2)||'-'||substr(oparl.op_area_cd,3,2)||'FL'),16) = ci_acct_char.char_val
        and ci_acct_char.char_type_cd = 'OTDELEN '
        and oparl.op_area_cd = fsopar.op_area_cd
        and oparl.language_cd = 'RUS'
        and oparl.op_area_cd in (:pCon)
        and rpad((substr(oparl.op_area_cd,1,2)||'-'||substr(oparl.op_area_cd,3,2)||'FL'),16) in (:pRai)
     ) opar
--[2]
    ,(select ab.op_area_cd ,count(ab.op_area_cd) nab
      from (select distinct spopar.op_area_cd ,ac.acct_id
            from ci_sp_op_area spopar ,ci_sa_sp sasp ,ci_sa sa ,ci_acct ac ,ci_acct_char acch
            where spopar.fs_cl_cd = 'ABON '
              and sasp.sp_id = spopar.sp_id
              and sa.sa_id = sasp.sa_id
              and sa.sa_status_flg in ('20','40','50')
              and ac.acct_id = sa.acct_id
              and ac.cust_cl_cd = 'FIZ-L   '
              and acch.acct_id = ac.acct_id
              and acch.char_type_cd = 'OTDELEN '
              and acch.char_val in (:pRai)
              and spopar.op_area_cd in (:pCon)
           )ab
      group by ab.op_area_cd
     ) abon
where opar.op_area_cd = abon.op_area_cd(+)
  and nab > 0
order by kontr


А при добавлении третьего подзапроса отчёт начинает возвращать не полный набор данных. Причём в одном формате может вывести полный набор, затем сразу после этого (не меняя значения параметров запуска) при запуске в другом формате выводит тоже полный набор данных, а при выборе третьего формата (например *.xlsx) выводит не полный результирующий набор данных.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
select opar.char_val RAION --[17]
      ,opar.descr as kontr --[1]
      ,nvl(abon.nab,0) as nab --[2]
      ,nvl(abon_nopu.nabnopu,0) nabnopu --[3]
from
--[1]
     (select distinct oparl.descr ,oparl.op_area_cd ,ci_acct_char.char_val
      from ci_fs_op_area fsopar ,ci_op_area_l oparl ,ci_acct_char
      where fsopar.fs_cl_cd = 'ABON '
        and rpad((substr(oparl.op_area_cd,1,2)||'-'||substr(oparl.op_area_cd,3,2)||'FL'),16) = ci_acct_char.char_val
        and ci_acct_char.char_type_cd = 'OTDELEN '
        and oparl.op_area_cd = fsopar.op_area_cd
        and oparl.language_cd = 'RUS'
        and oparl.op_area_cd in (:pCon)
        and rpad((substr(oparl.op_area_cd,1,2)||'-'||substr(oparl.op_area_cd,3,2)||'FL'),16) in (:pRai)
     ) opar
--[2]
    ,(select ab.op_area_cd ,count(ab.op_area_cd) nab
      from (select distinct spopar.op_area_cd ,ac.acct_id
            from ci_sp_op_area spopar ,ci_sa_sp sasp ,ci_sa sa ,ci_acct ac ,ci_acct_char acch
            where spopar.fs_cl_cd = 'ABON '
              and sasp.sp_id = spopar.sp_id
              and sa.sa_id = sasp.sa_id
              and sa.sa_status_flg in ('20','40','50')
              and ac.acct_id = sa.acct_id
              and ac.cust_cl_cd = 'FIZ-L   '
              and acch.acct_id = ac.acct_id
              and acch.char_type_cd = 'OTDELEN '
              and acch.char_val in (:pRai)
              and spopar.op_area_cd in (:pCon)
           )ab
      group by ab.op_area_cd
     ) abon
--[3]
    ,(select ab.op_area_cd ,count(ab.op_area_cd) nabnopu
      from (select distinct spopar.op_area_cd ,ac.acct_id
            from ci_sp_op_area spopar ,ci_sp sp ,ci_sa_sp sasp ,ci_sa sa ,ci_acct ac ,ci_acct_char acch
            where spopar.fs_cl_cd = 'ABON '
              and sp.sp_id = spopar.sp_id
              and sp.sp_type_cd in ('FLE-B-EN','FLE-B-BT')
              and sasp.sp_id = sp.sp_id
              and sa.sa_id = sasp.sa_id
              and sa.sa_status_flg in ('20','40','50')
              and ac.acct_id = sa.acct_id
              and ac.cust_cl_cd = 'FIZ-L   '
              and acch.acct_id = ac.acct_id
              and acch.char_type_cd = 'OTDELEN '
              and acch.char_val in (:pRai)
              and spopar.op_area_cd in (:pCon)
           )ab
      group by ab.op_area_cd
     ) abon_nopu
where opar.op_area_cd = abon.op_area_cd(+)
  and opar.op_area_cd = abon_nopu.op_area_cd(+)
  and nab > 0
order by kontr


При том, что в шаблоне (Word - простой вывод таблицы с <?for-each:G_1?> ... <?end for-each?>) никаких условий для строк нет.
Пробовал делать шаблон в *.xls, но та же самая история.
...
Рейтинг: 0 / 0
15.04.2019, 12:50
    #39801438
chikaginsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BI Publisher странное поведение отчёта
Забыл написать, что при выборе в качестве выходного формата XML Data набор данных формируется не полностью.
Т.е. (как я понимаю) xml сервером BI Publisher формируется полностью не каждый раз. В этом, видимо, и проблема.
...
Рейтинг: 0 / 0
23.04.2019, 18:59
    #39805527
sharkoff_new
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BI Publisher странное поведение отчёта
chikaginsk,

Проверьте то, что вы пытаетесь отразить в отчете на наличие символов '<','>' и прочей лабуды которая может "рвать" xml.
Суть publisher: получить xml и с помощью xslt трансформации привести в необходимый формат. И либо publisher не может сгенерировать xml или преобразовать в запрошенный формат. В вашей ситуации 1 вариант, раз уж вы даже xml не можете получить.
...
Рейтинг: 0 / 0
24.04.2019, 06:57
    #39805603
chikaginsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BI Publisher странное поведение отчёта
sharkoff_new,

Благодарю, разобрался - пришлось переделать sql запрос.
...
Рейтинг: 0 / 0
30.04.2019, 13:00
    #39808273
Master_Detail
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BI Publisher странное поведение отчёта
Так в чем была проблема в вашем кейсе?
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / BI Publisher странное поведение отчёта / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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