Что такое кросс таблица

JasperReports — Кросс-таблицы

Кросс-таблицы (кросс-табулирования) — это отчеты, содержащие таблицы, в которых данные располагаются по строкам и столбцам в табличной форме. Объект кросс-таблицы используется для вставки отчета кросс-таблицы в основной отчет. Кросс-таблицы могут использоваться с любым уровнем данных (номинальным, порядковым, интервальным или относительным) и обычно отображать обобщенные данные, содержащиеся в переменных отчета, в форме динамической таблицы. Переменные используются для отображения агрегированных данных, таких как суммы, числа, средние значения.

Crosstab Properties

Элемент JRXML используется для вставки кросс-таблицы в отчет.

атрибут

Ниже приведен список атрибутов элемента —

columnBreakOffset — Когда происходит разрыв столбца, указывает количество вертикального пространства, измеренное в пикселях, перед тем, как последующий фрагмент кросс-таблицы будет размещен ниже предыдущего на той же странице. Значение по умолчанию 10.

runDirection — указывает, должны ли данные кросс- таблицы заполняться слева направо (LTR) или справа налево (RTL). Значением по умолчанию является LTR.

columnBreakOffset — Когда происходит разрыв столбца, указывает количество вертикального пространства, измеренное в пикселях, перед тем, как последующий фрагмент кросс-таблицы будет размещен ниже предыдущего на той же странице. Значение по умолчанию 10.

runDirection — указывает, должны ли данные кросс- таблицы заполняться слева направо (LTR) или справа налево (RTL). Значением по умолчанию является LTR.

Подэлементы

Элемент имеет следующие подэлементы —

— этот элемент используется для доступа к переменным и параметрам отчета из кросс-таблицы. Атрибуты для этого элемента включают —

name — определяет имя параметра

класс — указывает класс параметров.

— этот элемент определяет набор данных, который будет использоваться для заполнения кросс-таблицы (подробное объяснение см. в следующем разделе). Атрибуты для этого элемента включают —

— этот элемент определяет содержимое области, найденной в верхнем левом углу кросс-таблицы, где встречаются заголовки столбцов и строки. Размер этой ячейки вычисляется автоматически на основе определенной ширины и высоты строки и столбца.

— этот элемент определяет группу, используемую для разделения данных на строки. Атрибуты для этого элемента включают —

name — определяет имя группы строк.

ширина — это определяет ширину группы строк.

headerPosition — определяет позицию содержимого заголовка (Top, Middle, Bottom, Stretch).

totalPosition — определяет позицию всего столбца (Start, End, None).

Этот элемент содержит следующие подэлементы —

— этот элемент определяет группу, используемую для разделения данных на столбцы. Атрибуты для этого элемента включают —

name — определяет имя группы столбцов.

высота — определяет высоту заголовка группы столбцов.

headerPosition — определяет позицию содержимого заголовка ( Right, Left, Center, Stretch ).

totalPosition — определяет позицию всего столбца ( Start, End, None ).

Этот элемент содержит следующие подэлементы —

— этот элемент определяет вычисление, которое будет выполняться по строкам и столбцам. Атрибуты для этого элемента включают —

имя — это определяет имя меры.

класс — указывает класс меры.

— этот элемент определяет способ размещения данных в ячейках без заголовка. Атрибуты для этого элемента включают —

columnTotalGroup — указывает группу, используемую для расчета общего количества столбцов.

высота — это определяет высоту ячейки.

rowTotalGroup — указывает группу, используемую для вычисления итоговой суммы строки.

ширина — это определяет ширину ячейки.

— этот элемент определяет, что отображать в пустой ячейке кросс-таблицы. Этот элемент не содержит атрибутов.

— этот элемент используется для доступа к переменным и параметрам отчета из кросс-таблицы. Атрибуты для этого элемента включают —

name — определяет имя параметра

класс — указывает класс параметров.

— этот элемент определяет набор данных, который будет использоваться для заполнения кросс-таблицы (подробное объяснение см. в следующем разделе). Атрибуты для этого элемента включают —

— этот элемент определяет содержимое области, найденной в верхнем левом углу кросс-таблицы, где встречаются заголовки столбцов и строки. Размер этой ячейки вычисляется автоматически на основе определенной ширины и высоты строки и столбца.

— этот элемент определяет группу, используемую для разделения данных на строки. Атрибуты для этого элемента включают —

name — определяет имя группы строк.

ширина — это определяет ширину группы строк.

headerPosition — определяет позицию содержимого заголовка (Top, Middle, Bottom, Stretch).

totalPosition — определяет позицию всего столбца (Start, End, None).

Этот элемент содержит следующие подэлементы —

— этот элемент определяет группу, используемую для разделения данных на столбцы. Атрибуты для этого элемента включают —

name — определяет имя группы столбцов.

высота — определяет высоту заголовка группы столбцов.

headerPosition — определяет позицию содержимого заголовка ( Right, Left, Center, Stretch ).

totalPosition — определяет позицию всего столбца ( Start, End, None ).

Этот элемент содержит следующие подэлементы —

— этот элемент определяет вычисление, которое будет выполняться по строкам и столбцам. Атрибуты для этого элемента включают —

имя — это определяет имя меры.

класс — указывает класс меры.

— этот элемент определяет способ размещения данных в ячейках без заголовка. Атрибуты для этого элемента включают —

columnTotalGroup — указывает группу, используемую для расчета общего количества столбцов.

высота — это определяет высоту ячейки.

rowTotalGroup — указывает группу, используемую для вычисления итоговой суммы строки.

ширина — это определяет ширину ячейки.

— этот элемент определяет, что отображать в пустой ячейке кросс-таблицы. Этот элемент не содержит атрибутов.

Группировка данных в кросс-таблице

bucketExpression — выражение, которое будет оценено для получения элементов группы данных.

comptorExpression — Необходим в том случае, если естественное упорядочение значений не является лучшим выбором.

orderByExpression — указывает значение, используемое для сортировки данных.

bucketExpression — выражение, которое будет оценено для получения элементов группы данных.

comptorExpression — Необходим в том случае, если естественное упорядочение значений не является лучшим выбором.

orderByExpression — указывает значение, используемое для сортировки данных.

Встроенные переменные кросс-таблицы

Ниже приведен список текущих значений меры и итогов разных уровней, соответствующих ячейке, можно получить через переменные, названные в соответствии со следующей схемой:

Текущее значение вычисления меры сохраняется в переменной, имя которой совпадает с именем меры.

_ _ALL — Это дает итоговое значение для всех записей в группе столбцов из той же строки.

_ _ALL — это итоговое значение для всех записей в группе строк из одного столбца.

_ _ _ALL — Это дает объединенную сумму, соответствующую всем записям в группах строк и столбцов.

Текущее значение вычисления меры сохраняется в переменной, имя которой совпадает с именем меры.

_ _ALL — Это дает итоговое значение для всех записей в группе столбцов из той же строки.

_ _ALL — это итоговое значение для всех записей в группе строк из одного столбца.

_ _ _ALL — Это дает объединенную сумму, соответствующую всем записям в группах строк и столбцов.

пример

Детали вышеупомянутого файла следующие:

Элемент определяет группу для разделения данных на строки. Здесь каждая строка будет отображать данные для другого имени.

Элемент определяет способ размещения данных в ячейках без заголовка. Этот элемент также содержит единственный элемент в качестве единственного подэлемента.

Элемент определяет группу для разделения данных на строки. Здесь каждая строка будет отображать данные для другого имени.

Элемент определяет способ размещения данных в ячейках без заголовка. Этот элемент также содержит единственный элемент в качестве единственного подэлемента.

Java-коды для заполнения отчетов остаются без изменений. Содержимое файла C: \ tools \ jasperreports-5.0.1 \ test \ src \ com \ tutorialspoint \ JasperReportFill.java указано ниже —

Содержимое файла POJO C: \ tools \ jasperreports-5.0.1 \ test \ src \ com \ tutorialspoint \ DataBean.java :

Содержимое файла C: \ tools \ jasperreports-5.0.1 \ test \ src \ com \ tutorialspoint \ DataBeanList.java выглядит следующим образом:

Генерация отчетов

Далее, давайте скомпилируем и выполним вышеуказанные файлы, используя наш обычный процесс сборки ANT. Содержимое файла build.xml (сохраненного в каталоге C: \ tools \ jasperreports-5.0.1 \ test) приведено ниже.

Файл импорта — baseBuild.xml взят из главы « Настройка среды» и должен быть расположен в том же каталоге, что и build.xml.

В результате вышеупомянутой компиляции открывается окно JasperViewer, как показано на приведенном ниже экране —

Что такое кросс таблица. Смотреть фото Что такое кросс таблица. Смотреть картинку Что такое кросс таблица. Картинка про Что такое кросс таблица. Фото Что такое кросс таблица

Здесь мы видим, что каждая страна и название сведены в таблицу.

Источник

Кросс-таблица из табличной части или запроса

Что такое кросс таблица. Смотреть фото Что такое кросс таблица. Смотреть картинку Что такое кросс таблица. Картинка про Что такое кросс таблица. Фото Что такое кросс таблица

Для примера возьмем некоторый документ с табличной частью Остатки на конец смены. Структура полей табличной части представлена на рисунке справа.

Заказчику неудобно работать с ней в таком виде, и он желает просматривать ее и редактировать в виде кросс-таблицы, как на рисунке слева.
Замечание: на картинке приводится две таблицы одновременно для наглядности. В реальных задачах обычно требуется отображать только кросс-таблицу.

Основная сложность в сопоставлении колонок кросс-таблицы с соответствующими строками табличной части. Ниже представлены три процедуры, которые решают данную задачу за несколько строк кода. Вот пример их использования:

Небольшие пояснения:
1. Дополнительная информация для связи между исходной и конечной таблицами хранится в служебной таблице. Ее необходимо сохранять на протяжении всей работы с кросс-таблицей. Ее структура простая: Имя, Заголовок и Тип колонок, а также имена полей табличной части, по сочетанию которых будут создаваться колонки. В моем примере это одно поле “Стеллаж”, но их может быть и несколько, например “Номенклатура,Характеристика”. Для рассматриваемого примера структура служебной таблицы с данными представлена на рисунке

Что такое кросс таблица. Смотреть фото Что такое кросс таблица. Смотреть картинку Что такое кросс таблица. Картинка про Что такое кросс таблица. Фото Что такое кросс таблица

Что такое кросс таблица. Смотреть фото Что такое кросс таблица. Смотреть картинку Что такое кросс таблица. Картинка про Что такое кросс таблица. Фото Что такое кросс таблица

Отмечу также, что данные методы можно использовать не только для разворачивания табличной части, но и таблицы из запроса (например, в АРМе)

Процедуры тестировались на платформе 8.3 в режиме совместимости с 8.2. Однако скорее всего будут работать и на платформе 8.1

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *