Гость
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Здравствуйте. Помогите разобраться с ошибкой в FastReport / 5 сообщений из 5, страница 1 из 1
21.11.2017, 07:55
    #39556523
gera3323
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте. Помогите разобраться с ошибкой в FastReport
Код: 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.
Использую такой запрос:

SELECT t.ВЛАДЕЛЕЦ_ВАГОНА, t.ВСЕГО, t.НА_ПРОСТОЕ, t.БЕЗ_ПРОСТОЯ, t.ПВ, t.СПЦ, t.ПЛ, t.ЦС, t.КР, t.ПРОЧИЕ FROM 
(
  SELECT 
    
    (SELECT ro.ORGSHORTNAME FROM DK.RM_ORG ro WHERE ro.ID = rsd.CAROWNER ) AS ВЛАДЕЛЕЦ_ВАГОНА,
    (SELECT count(*) FROM SALES.RM_SHEET_DETAIL rsd1 WHERE rsd1.CAROWNER = rsd.CAROWNER) AS ВСЕГО,
    (SELECT count(*) FROM SALES.RM_SHEET_DETAIL rsd1 WHERE rsd1.CAROWNER = rsd.CAROWNER AND rsd1.CARACCEPTED = 1)AS НА_ПРОСТОЕ,
    (SELECT count(*) FROM SALES.RM_SHEET_DETAIL rsd1 WHERE rsd1.CAROWNER = rsd.CAROWNER AND rsd1.CARACCEPTED = 0)AS БЕЗ_ПРОСТОЯ,

    CASE rsd.CARTYPE
      WHEN 263 THEN 1
      WHEN 60 THEN 1
      WHEN 265 THEN 1
      WHEN 206 THEN 2
      WHEN 205 THEN 2
      WHEN 50 THEN 50
      WHEN 70 THEN 70
      WHEN 40 THEN 40
      ELSE 0
    END AS CARTYPE
  FROM 
    SALES.RM_SHEET_DETAIL rsd
  LEFT JOIN 
    SALES.E_NSI_WAG_TYPE e_nwt ON (e_nwt.WAG_TYPE_ID = rsd.CARTYPE)
)
PIVOT 
(
  count(CARTYPE) FOR CARTYPE IN( 1 AS ПВ, 2 AS СПЦ, 50 AS ПЛ, 70 AS ЦС, 40 AS КР, 0 AS ПРОЧИЕ)
   
) t



Ошибка возникает если вывожу в отчет часть запроса: t.ПВ, t.СПЦ, t.ПЛ, t.ЦС, t.КР, t.ПРОЧИЕ

Причем ошибка возникает не сразу, а после повторного запуска отчета.
...
Рейтинг: 0 / 0
21.11.2017, 07:56
    #39556524
gera3323
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте. Помогите разобраться с ошибкой в FastReport
gera3323,

текст ошибки
...
Рейтинг: 0 / 0
21.11.2017, 08:47
    #39556547
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте. Помогите разобраться с ошибкой в FastReport
gera3323,

попробуйте убрать pivot из запроса. FastReport должен сам развернуть таблицу...

Если не прокатит, то по FastReport ещё можно спросить в форуме по Delphi http://www.sql.ru/forum/delphi
Там часто помогают.
...
Рейтинг: 0 / 0
21.11.2017, 08:51
    #39556550
gera3323
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте. Помогите разобраться с ошибкой в FastReport
user89,

как его убрать ? я не понял, если честно)
...
Рейтинг: 0 / 0
21.11.2017, 10:46
    #39556612
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте. Помогите разобраться с ошибкой в FastReport
gera3323,

SQL-запрос сократится до такого:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
SELECT t.ВЛАДЕЛЕЦ_ВАГОНА, t.ВСЕГО, t.НА_ПРОСТОЕ, t.БЕЗ_ПРОСТОЯ, t.CARTYPE
(
  SELECT    
    (SELECT ro.ORGSHORTNAME FROM DK.RM_ORG ro WHERE ro.ID = rsd.CAROWNER ) AS ВЛАДЕЛЕЦ_ВАГОНА,
    (SELECT count(*) FROM SALES.RM_SHEET_DETAIL rsd1 WHERE rsd1.CAROWNER = rsd.CAROWNER) AS ВСЕГО,
    (SELECT count(*) FROM SALES.RM_SHEET_DETAIL rsd1 WHERE rsd1.CAROWNER = rsd.CAROWNER AND rsd1.CARACCEPTED = 1)AS НА_ПРОСТОЕ,
    (SELECT count(*) FROM SALES.RM_SHEET_DETAIL rsd1 WHERE rsd1.CAROWNER = rsd.CAROWNER AND rsd1.CARACCEPTED = 0)AS БЕЗ_ПРОСТОЯ,

    CASE rsd.CARTYPE
      WHEN 263 THEN 1
      WHEN 60 THEN 1
      WHEN 265 THEN 1
      WHEN 206 THEN 2
      WHEN 205 THEN 2
      WHEN 50 THEN 50
      WHEN 70 THEN 70
      WHEN 40 THEN 40
      ELSE 0
    END AS CARTYPE
  FROM 
    SALES.RM_SHEET_DETAIL rsd
  LEFT JOIN 
    SALES.E_NSI_WAG_TYPE e_nwt ON (e_nwt.WAG_TYPE_ID = rsd.CARTYPE)
) t


Таким образом, у нас на экране будет обычная плоская таблица. Далее строим матричный отчет .
Как и любая система отчетности, FastReport сам правильно сделает оператор pivot.
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Здравствуйте. Помогите разобраться с ошибкой в FastReport / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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