FAQ по Crystal Reports
3942494f

Q: Как в Crystal сделать Cross


A: Cross Table строится только по однородным данным (в пределах одной группы) с итогами по ним (например, только по оборотам). Для построения Cross Table с неоднородными данными нужно использовать временную таблицу, подготовленную особым образом. В этой таблице должно быть поле (символьное), содержание которого будет использоваться для группировки данных по колонкам (или рядам). Заполнять это поле нужно с учетом того, чтобы в результате сортировки данные в Cross Table были расположены нужным нам образом, для чего можно использовать русские буквы, латинские буквы одинаковые по начертанию с русскими, пробелы, цифры (при сортировке сначала идет пробел, затем латинские буквы и далее русские). Например, для построения Cross Table из вопроса (для примера, строки - аналитика по счету, колонки - обороты по Д корсчета) таблица будет иметь такие поля: Analit, Сolumn, Summa, где Analit будет использоваться для строк, Сolumn - для колонок, Summa - для суммируемых данных. Поле Сolumn должно иметь такие значения: "Cальдо начальное", "Д корсч1", "Д корсч2",..., "Итого по Д", "Cальдо конечное" (их может быть несколько - для каждой из аналитик). Чтобы порядок был именно таким в названии "Cальдо начальное" первую букву надо сделать латинской, остальные поля сортируются естественным образом. Поле Summa должно быть заполнено соответствующими данными (сальдо, обороты, итоги). Поскольку итоги в такой таблице уже подсчитаны, нужно будет в Cross Table скрыть стандартные итоги. Иногда приходится использовать несколько пробелов для обеспечения нужной сортировки, когда это используется для строк, то для того, чтобы не было явно заметной лесенки, можно поле выровнять по правому краю, а в некоторые названия (например, слишком короткие) справа добавить нужное количество пробелов.



Содержание раздела