Гость
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Необходимо группировку в Crystal report XI представить в ввиде столбцов / 15 сообщений из 15, страница 1 из 1
17.10.2013, 14:31
    #38431314
OPERLAY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
Добрый день.
Использую Microsoft SQL Server 2008r2 Enterprise Edition (64-bit) 10.50.4000.0
Проектирую отчетность в crystal reports XI.
Текущий запрос:
SELECT DISTINCT "tour"."tour", "tour_group"."tour_group", "tour"."edited", "station"."description", "station"."sta", "equip"."equip_operator_id", "station"."units", "station"."minimum", "station"."maximum", "history"."rd", "history"."cdt", "history"."dt", "shift_time"."shift_desc"
FROM (((("bass"."dbo"."history" "history" LEFT OUTER JOIN "bass"."dbo"."station" "station" ON (("history"."tour"="station"."tour") AND ("history"."rev_no"="station"."rev_no")) AND ("history"."sta"="station"."sta")) INNER JOIN "bass"."dbo"."tour" "tour" ON ("station"."tour"="tour"."tour") AND ("station"."rev_no"="tour"."rev_no")) FULL OUTER JOIN "bass"."dbo"."equip" "equip" ON "station"."equip_operator_id"="equip"."equip_operator_id") INNER JOIN "bass"."dbo"."tour_group" "tour_group" ON "tour"."tour_group"="tour_group"."tour_group") INNER JOIN "bass"."dbo"."shift_time" "shift_time" ON "tour"."tour"="shift_time"."tour"
WHERE "tour_group"."tour_group"=1 AND "tour"."tour"=1 AND ("history"."dt">={ts '2013-10-17 00:00:00'} AND "history"."dt"<{ts '2013-10-17 00:00:01'})
ORDER BY "shift_time"."shift_desc", "station"."sta"`
Надо как то из таблицы shift_time сгруппировав все остальные записи представить все остальные атрибуты в отчет. пример во вложении...
Можно ли так сделать как в образце? Если да? подтолкните в текущем направление.
Будет примерно JOIN groupBY, UNION, есть ли стандартная функциональность на CRISTAL как развернуть группировку в в виде столбцов ??
...
Рейтинг: 0 / 0
17.10.2013, 14:55
    #38431376
Klick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
OPERLAY,

Что за адская разметка и парад кавычек? Нормально отформатируйте...
...
Рейтинг: 0 / 0
17.10.2013, 15:24
    #38431431
OPERLAY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
SELECT
DISTINCT tour.tour,
tour_group.tour_group,
tour.edited, station.description,
station.sta,
equip.equip_operator_id,
station.units,
station.minimum,
station.maximum,
history.rd,
history.cdt,
history.dt,
shift_time.shift_desc
FROM (
(
(
(
bass.dbo.history history
LEFT OUTER JOIN bass.dbo.station station ON
(
(history.tour=station.tour)
AND (history.rev_no=station.rev_no)
)
AND (history.sta=station.sta)
)
INNER JOIN bass.dbo.tour tour ON (station.tour=tour.tour)
AND (station.rev_no=tour.rev_no)
)
FULL OUTER JOIN bass.dbo.equip equip ON station.equip_operator_id=equip.equip_operator_id
)
INNER JOIN bass.dbo.tour_group tour_group ON tour.tour_group=tour_group.tour_group
)

INNER JOIN bass.dbo.shift_time shift_time ON tour.tour=shift_time.tour

WHERE
tour_group.tour_group=1
AND tour.tour=1
AND
( history.dt>={ts '2013-10-17 00:00:00'}
AND
history.dt<{ts '2013-10-17 00:00:01'}
)
ORDER BY shift_time.shift_desc, station.sta`
...
Рейтинг: 0 / 0
17.10.2013, 16:46
    #38431577
OPERLAY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
Ребят , хотя бы в общих чертах и желательное условия это не должна быть процедура.
Или без процедуры не обойтись?
...
Рейтинг: 0 / 0
17.10.2013, 17:45
    #38431687
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
OPERLAY,

можно и на T-SQL...

А в Crystal Reports есть что-то похожее на матрицу, сводную таблицу?
Теоретически должно быть...
...
Рейтинг: 0 / 0
17.10.2013, 19:02
    #38431825
OPERLAY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
А на T-SQL что нибудь общими словами на бросать можете?
Я пока мучаю UNPIVOT. без join только с group .
Не представляю в какой сторону идти, кросс таблицы есть но пока в ней пробую тоже самое сделать. Но хотелось бы понять основную идею все равно .
...
Рейтинг: 0 / 0
17.10.2013, 20:39
    #38431920
OPERLAY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
OPERLAYА на T-SQL что нибудь общими словами на бросать можете?
Я пока мучаю UNPIVOT. без join только с group .
Не представляю в какой сторону идти, кросс таблицы есть но пока в ней пробую тоже самое сделать. Но хотелось бы понять основную идею все равно .
В кросс таблицы данные не верные вид выбрал режим, а подцепляется только первая запись и дублируется по столбцам. В Простом выводе из SQL запроса в банде подробно все нормально... Поэтому T-SQL . Еще попробую поковыряться почему значения размножаются по всем столбцам как первое..((
...
Рейтинг: 0 / 0
17.10.2013, 21:23
    #38431978
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
OPERLAY,

Excel-файл, что Вы приложили, дает не совсем полное представление о задаче...
Напишите скрипт для итоговых данных (чтобы была одна таблица) типа declare @t table , и что в итоге надо получить.
...
Рейтинг: 0 / 0
18.10.2013, 16:10
    #38433098
OPERLAY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
Все реализовал на cross таблице.
сейчас.
Попробую объяснить приведя структуру простую бд.

таблица1: user_company
id, user_name_ user_telephone.
1, Иванов, 495-2323
2, Петров, 495-2345
3, Сидоров, 495-2344

таблица2: Группы
group_comp
id,group name, data_create

1,Администраторы
2,Грибники
3,Космонавты
4,Партизаны
5,Летчики


таблица3: Пользователи и групп
group_user_copmany
id_user_company
id_group_comp
прочий ряд атрибутов.. таблица эта нужна...

1, 1
1, 2
2, 3
3, 1

То есть будет примерно так:
Иванов, 495-2323\ Администраторы
Иванов, 495-2323\ Грибники
Петров, 495-2345\ Космонавты
Сидоров, 495-2344\ Администраторы


Таблица4) Запись человеком
guest_user
id_ group_user_copmany, id_user, Note

Заполнение таблицы:

1,1, Моя зап1...
2,1 Моя зап2...
3,2 Как же хорошо...

нужно вот так что б ыблон а выходе


Администраторы Грибники Космонавты Партизаны Летчики
иванов / 495-2323 / Моя зап1.../ / Моя зап2.../
петров / 495-2345 / //Как же хорошо...//
сидоров / 495-2344 /

ДА логика немного поехала. хотел описать на пряниках, а не на двигателе внутреннего сгорания)
Ну если глянуть на отчет в конце то вроде бы понятно... Правда понятно мне.. кто понимает реальную структуру данных, ну она почти схожа на представленную....
...
Рейтинг: 0 / 0
18.10.2013, 16:11
    #38433099
OPERLAY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
OPERLAYВсе реализовал на cross таблице.
сейчас.
Попробую объяснить приведя структуру простую бд.

таблица1: user_company
id, user_name_ user_telephone.
1, Иванов, 495-2323
2, Петров, 495-2345
3, Сидоров, 495-2344

таблица2: Группы
group_comp
id,group name, data_create

1,Администраторы
2,Грибники
3,Космонавты
4,Партизаны
5,Летчики


таблица3: Пользователи и групп
group_user_copmany
id_user_company
id_group_comp
прочий ряд атрибутов.. таблица эта нужна...

1, 1
1, 2
2, 3
3, 1

То есть будет примерно так:
Иванов, 495-2323\ Администраторы
Иванов, 495-2323\ Грибники
Петров, 495-2345\ Космонавты
Сидоров, 495-2344\ Администраторы


Таблица4) Запись человеком
guest_user
id_ group_user_copmany, id_user, Note

Заполнение таблицы:

1,1, Моя зап1...
2,1 Моя зап2...
3,2 Как же хорошо...

нужно вот так что б ыблон а выходе


Администраторы Грибники Космонавты Партизаны Летчики
иванов / 495-2323 / Моя зап1.../ / Моя зап2.../
петров / 495-2345 / //Как же хорошо...//
сидоров / 495-2344 /

ДА логика немного поехала. хотел описать на пряниках, а не на двигателе внутреннего сгорания)
Ну если глянуть на отчет в конце то вроде бы понятно... Правда понятно мне.. кто понимает реальную структуру данных, ну она почти схожа на представленную....
Разметка расползается при просмотре через чтение темы форума, через цитирование почитабильнее будет.
...
Рейтинг: 0 / 0
18.10.2013, 16:12
    #38433102
OPERLAY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
OPERLAYOPERLAYВсе реализовал на cross таблице.
сейчас.
Попробую объяснить приведя структуру простую бд.

таблица1: user_company
id, user_name_ user_telephone.
1, Иванов, 495-2323
2, Петров, 495-2345
3, Сидоров, 495-2344

таблица2: Группы
group_comp
id,group name, data_create

1,Администраторы
2,Грибники
3,Космонавты
4,Партизаны
5,Летчики


таблица3: Пользователи и групп
group_user_copmany
id_user_company
id_group_comp
прочий ряд атрибутов.. таблица эта нужна...

1, 1
1, 2
2, 3
3, 1

То есть будет примерно так:
Иванов, 495-2323\ Администраторы
Иванов, 495-2323\ Грибники
Петров, 495-2345\ Космонавты
Сидоров, 495-2344\ Администраторы


Таблица4) Запись человеком
guest_user
id_ group_user_copmany, id_user, Note

Заполнение таблицы:

1,1, Моя зап1...
2,1 Моя зап2...
3,2 Как же хорошо...

нужно вот так что б ыблон а выходе


Администраторы Грибники Космонавты Партизаны Летчики
иванов / 495-2323 / Моя зап1.../ / Моя зап2.../
петров / 495-2345 / //Как же хорошо...//
сидоров / 495-2344 /

ДА логика немного поехала. хотел описать на пряниках, а не на двигателе внутреннего сгорания)
Ну если глянуть на отчет в конце то вроде бы понятно... Правда понятно мне.. кто понимает реальную структуру данных, ну она почти схожа на представленную....
Разметка расползается при просмотре через чтение темы форума, через цитирование почитабильнее будет.
...
Рейтинг: 0 / 0
18.10.2013, 16:31
    #38433135
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
OPERLAY,

я не понял... Проблема решилась?
...
Рейтинг: 0 / 0
18.10.2013, 17:14
    #38433249
OPERLAY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
Да проблема решилась, я сделал на cross таблице, если кому то потом понадобится, 1 можно пользоваться cross таблицами если не хочешь заморачиваться, или уверен второй вариант учите T-SQL более детально.))
Я делал переворот без группировки и join , привожу нижу, может кому пригодится :

SELECT aData FROM (

SELECT CAST(tour_group_name AS VARCHAR(15)) tour_group_name
FROM tour_group WHERE sort_order = '1' or sort_order = '2' or sort_order = '3' or sort_order = '4'
) AS t
UNPIVOT (
aData FOR fields in (tour_group_name)
) AS unpvt
Если несколько полей указать во внутреннем select еще поля и в группе UNPIVOT такие же поля, учтите на тип данных должен быть идентичный.
Образец брал из википедии.
...
Рейтинг: 0 / 0
18.10.2013, 18:14
    #38433335
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
OPERLAY,

у UnPivot есть недостаток - отбрасываются строки с Null . Я лично пользуюсь cross apply
Запустите скрипт для наглядности
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
declare @t table (id int, cause varchar(max), sn1 varchar(max), sn2 varchar(max), sn3 varchar(max))
insert @t values (3841, 'причина1', '004044', '004248', '004246'), (3841, 'причина2', null, '004248', null)
select * from @t

-- Вариант через cross apply. Null`ы не пропадают, да и план выполнения меньше чем через UnPivot
select id, cause, sn, tmp
from @t 
cross apply (select sn1,'sn1' union all select sn2,'sn2' union all select sn3,'sn3') i ([sn],[tmp])

-- Если через UnPivot, то строки с Null отбрасываются
select * from @t unpivot (sn for tmp in (sn1,sn2,sn3)) unp
...
Рейтинг: 0 / 0
21.10.2013, 18:42
    #38436037
OPERLAY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо группировку в Crystal report XI представить в ввиде столбцов
Спасибо!
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Необходимо группировку в Crystal report XI представить в ввиде столбцов / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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