|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
Добрый день. Использую 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 как развернуть группировку в в виде столбцов ?? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 14:31 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
OPERLAY, Что за адская разметка и парад кавычек? Нормально отформатируйте... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 14:55 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
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` ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 15:24 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
Ребят , хотя бы в общих чертах и желательное условия это не должна быть процедура. Или без процедуры не обойтись? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 16:46 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
OPERLAY, можно и на T-SQL... А в Crystal Reports есть что-то похожее на матрицу, сводную таблицу? Теоретически должно быть... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 17:45 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
А на T-SQL что нибудь общими словами на бросать можете? Я пока мучаю UNPIVOT. без join только с group . Не представляю в какой сторону идти, кросс таблицы есть но пока в ней пробую тоже самое сделать. Но хотелось бы понять основную идею все равно . ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 19:02 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
OPERLAYА на T-SQL что нибудь общими словами на бросать можете? Я пока мучаю UNPIVOT. без join только с group . Не представляю в какой сторону идти, кросс таблицы есть но пока в ней пробую тоже самое сделать. Но хотелось бы понять основную идею все равно . В кросс таблицы данные не верные вид выбрал режим, а подцепляется только первая запись и дублируется по столбцам. В Простом выводе из SQL запроса в банде подробно все нормально... Поэтому T-SQL . Еще попробую поковыряться почему значения размножаются по всем столбцам как первое..(( ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 20:39 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
OPERLAY, Excel-файл, что Вы приложили, дает не совсем полное представление о задаче... Напишите скрипт для итоговых данных (чтобы была одна таблица) типа declare @t table , и что в итоге надо получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 21:23 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
Все реализовал на 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 / ДА логика немного поехала. хотел описать на пряниках, а не на двигателе внутреннего сгорания) Ну если глянуть на отчет в конце то вроде бы понятно... Правда понятно мне.. кто понимает реальную структуру данных, ну она почти схожа на представленную.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 16:10 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
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 / ДА логика немного поехала. хотел описать на пряниках, а не на двигателе внутреннего сгорания) Ну если глянуть на отчет в конце то вроде бы понятно... Правда понятно мне.. кто понимает реальную структуру данных, ну она почти схожа на представленную.... Разметка расползается при просмотре через чтение темы форума, через цитирование почитабильнее будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 16:11 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
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 / ДА логика немного поехала. хотел описать на пряниках, а не на двигателе внутреннего сгорания) Ну если глянуть на отчет в конце то вроде бы понятно... Правда понятно мне.. кто понимает реальную структуру данных, ну она почти схожа на представленную.... Разметка расползается при просмотре через чтение темы форума, через цитирование почитабильнее будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 16:12 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
OPERLAY, я не понял... Проблема решилась? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 16:31 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
Да проблема решилась, я сделал на 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 такие же поля, учтите на тип данных должен быть идентичный. Образец брал из википедии. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 17:14 |
|
Необходимо группировку в Crystal report XI представить в ввиде столбцов
|
|||
---|---|---|---|
#18+
OPERLAY, у UnPivot есть недостаток - отбрасываются строки с Null . Я лично пользуюсь cross apply Запустите скрипт для наглядности Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 18:14 |
|
|
start [/forum/topic.php?fid=31&msg=38431431&tid=1533914]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 277ms |
total: | 421ms |
0 / 0 |