powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / BI Publisher странное поведение отчёта
10 сообщений из 10, страница 1 из 1
BI Publisher странное поведение отчёта
    #39800532
chikaginsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую всех!
Наблюдаю очень странное поведение отчёта BI Publisher. А именно - отчёт при запуске с одними и теми же значениями параметров возвращает произвольный набор данных. Причём набор данных не полный (сравниваю с результатами этого же SQL запроса в PL/SQL Developer'е).
Кто-нибудь встречал подобное?
...
Рейтинг: 0 / 0
BI Publisher странное поведение отчёта
    #39800546
Master_Detail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня!
Помнится, что-то было такое.. Я бы начал смотреть по порядку - точно ли в вашем запросе нет связок без альясов, где наименования полей одинаковые(или совпадают с именами переменных)?
В датасете у вас запрос из таблицы или используете какого-то рода массив данных - функция, которая табличный тип возвращает или еще чего?
Уверены, что у вас нет полей(параметров), где неявное преобразование проходит, что может повлиять как-то на результат?
...
Рейтинг: 0 / 0
BI Publisher странное поведение отчёта
    #39800547
Master_Detail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и про NLS не забывать. Параметры сессии в BI могут отличаться от параметров сессии, которую вы открываете через девелопер. А лучше покажите свой датасет
...
Рейтинг: 0 / 0
BI Publisher странное поведение отчёта
    #39800556
chikaginsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Master_Detailточно ли в вашем запросе нет связок без альясов, где наименования полей одинаковые(или совпадают с именами переменных)?
Все имена полей результирующего набора данных разные и отличаются от наименования переменных.
Master_DetailВ датасете у вас запрос из таблицы или используете какого-то рода массив данных - функция, которая табличный тип возвращает или еще чего?
Датасет содержит довольно большой SQL запрос (SQL Query - Oracle) из множества таблиц.
Master_DetailУверены, что у вас нет полей(параметров), где неявное преобразование проходит, что может повлиять как-то на результат?
Тут немного не понял вопроса, а именно про "неявное преобразование". Если не сложно, поясните.
...
Рейтинг: 0 / 0
BI Publisher странное поведение отчёта
    #39800558
chikaginsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Master_DetailНу и про NLS не забывать. Параметры сессии в BI могут отличаться от параметров сессии, которую вы открываете через девелопер. А лучше покажите свой датасет
С этим же источником данных другие отчёты ведут себя стабильно - результаты выполнения отчётов постоянны.
Master_DetailА лучше покажите свой датасет
Что конкретно показать, SQL запрос или целиком модель данных и репорт интересуют?
...
Рейтинг: 0 / 0
BI Publisher странное поведение отчёта
    #39801423
chikaginsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос остаётся открытым...
Обнаружил странную особенность - когда выводится результат соединения двух подзапросов, то набор данных выводится полностью (пробую выгружать подряд в разных форматах для одних и тех же параметров запуска).
Код: 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
BI Publisher странное поведение отчёта
    #39801438
chikaginsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл написать, что при выборе в качестве выходного формата XML Data набор данных формируется не полностью.
Т.е. (как я понимаю) xml сервером BI Publisher формируется полностью не каждый раз. В этом, видимо, и проблема.
...
Рейтинг: 0 / 0
BI Publisher странное поведение отчёта
    #39805527
sharkoff_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chikaginsk,

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

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


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