powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxDBPivotGrid без суммирования
21 сообщений из 21, страница 1 из 1
TcxDBPivotGrid без суммирования
    #39578969
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В базе (Firebird 3) везется логирование того, что изменил пользователь.
В процедуре генерируется динамический SQL и в таблицу записываются все изменения.
Особенность такая, что количество строк может быть разное. Например, пользователь может добавить некоторые поля в исключения, чтобы те данные не записывались.

Примерно так:
Код: plaintext
| ID | Название поля | значение поля | ID записи | Дата/время |

Теперь из этого нужно сделать сводную таблицу (pivot), чтобы записи стали колонками, а заголовки были датами,
вот так оно должно выглядеть:


Проблема в том, что данные cxDBPivotGrid не показывает.

Данные - это текстовое поле.
Может нужно что-то отключить/подключить, какие-то свойства покрутить?

Я соединил между собой frxReport + frxCrossObject + frxDBDataset и подключил к тому же НД, но у frxReport есть возможность отключить суммирование:


и данные отобразились.
Но в FR всё это просматривать очень неудобно.

Думал, что можно как-то с группировкой это всё вывести в cxGrid, но там не смог сделать, чтобы было наглядно и удобно.
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579113
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Три раза прочитал, не понял....
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579203
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот примерно так это должно выглядеть (это так в FR).
Т.е. группа записей (группа строк), которые относятся к одному и тому же моменту времени и к одному и тому же ID объекта, выстраиваются в одну колонку. Следующая группа записей, которые относятся к одному и тому же моменту времени и к одному и тому же ID объекта, выстраиваются в соседнюю колонку. Сколько изменений одного и того же объекта, столько и колонок.



тут вопрос в другом: почему cxDBPivotGrid не хочет показывать :(

А у Delphi есть из коробки другие Pivot компоненты?
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579210
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в таблицу записываются данные о том, какое поле изменилось и когда



Ноги растут из этой темы 5909303 и они очень длинные.
Процедура на сервере генерирует SQL INSERT примерно так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
  FOR SELECT TRIM(F.RDB$FIELD_NAME), TRIM(F.RDB$DESCRIPTION) FROM RDB$RELATION_FIELDS F
    LEFT JOIN JOURNAL_DET_FIELDS_SKIP S ON S.NAME = F.RDB$FIELD_NAME
    WHERE S.NAME IS NULL AND UPPER(F.RDB$RELATION_NAME) = UPPER(:TABLENAME) AND F.RDB$FIELD_NAME IS NOT NULL INTO :FNAME, :FDESCR

  DO
  BEGIN
    --получаем значение поля
    SQL = 'SELECT ' || :FNAME || ' FROM ' || :TABLENAME || ' WHERE ID = ' || :ID_OBJ;
    EXECUTE STATEMENT SQL INTO :VAL;
    --записываем значение в детальный аудит
    INSERT INTO JOURNAL_DET (ID_JOURNAL, FNAME, FDESCR, FVAL, ID_OBJ) VALUES(:ID_JOURNAL, :FNAME, :FDESCR, :VAL, :ID_OBJ);
  END
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579222
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
насколько я помню, PivotGrid не отображает текстовые поля
только числовые
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579223
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
потому что то, что отображается в ячейках, должно быть агрегатом
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579224
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
может быть, посмотреть в сторону VerticalGrid ?
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579225
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плохо.
Тем не менее, FR отображает :)
Видать, придётся что-то самому писать, чтобы наполнять обычную сетку.
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579226
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator, конечно же, я смотрел в сторону cxVerticalGrid, тоже не то.
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579228
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант, можно это всё обычным способом отображать в cxGrid с группировкой

...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579230
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
а если написать хранимку, которая развернёт запрос по горизонтали и вернёт курсор ?
Такое можно отобразить даже в DBGrid
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579241
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я уже думал и читал об этом. Количество выходных параметров (столбцов) заранее неизвестно.
Т.е. какой-то объект 1 раз отредактировали = 1 дата = 1 столбец. а какой-то объект 5 раз отредактировали = 5 столбцов.
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579248
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
X11Да, я уже думал и читал об этом. Количество выходных параметров (столбцов) заранее неизвестно.
Т.е. какой-то объект 1 раз отредактировали = 1 дата = 1 столбец. а какой-то объект 5 раз отредактировали = 5 столбцов.
так в том и суть транспонирования.

У тебя процедура получает на вход базовый запрос,
а на выходе оборачивает этот запрос в запросы, которые данные переворачивают,
и возвращает текст запроса.
И вот его ты просто выполняешь в любой квери.
То есть процедура транспонирования универсальная.

Я бы тебе подсказал, но у тебя FB, а я с ним не работаю.
Вот для Oracle очень известная процедура транспонирования:
http://www.sql.ru/faq/faq_topic.aspx?fid=281
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579260
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorи возвращает текст запроса.

аааа
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579261
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorВот для Oracle очень известная процедура транспонирования:

это я видел
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579262
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
X11defecatorи возвращает текст запроса.

аааа
ну а ты как хотел ? если агрегатов нет, то транспонирование становится страшной вещью ))))
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579263
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну FR же отображает :)
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579265
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
X11Ну FR же отображает :)
Ты имеешь ввиду FastReport ?
Так это отчётник, он уже внутри себя там всё перестроил, как надо.

А Pivot'ы всякие работают с агрегатами
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579266
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Попробуй FastCube от того же FastReport - с вероятностью 95% он тоже ничего тебе не покажет
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579268
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня куплена 4я версия, а в 4ой версии я его не наблюдаю. Это отдельный продукт?
...
Рейтинг: 0 / 0
TcxDBPivotGrid без суммирования
    #39579359
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
X11У меня куплена 4я версия, а в 4ой версии я его не наблюдаю. Это отдельный продукт?
конечно отдельный
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxDBPivotGrid без суммирования
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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