Crystal Reports: расположение столбцов кросс-таблицы - PullRequest
5 голосов
/ 20 октября 2010

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

Например, в кросс-таблице отображаются два столбца:

alt text

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

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

alt text

Пожалуйста, предложите мне, если есть выход:)

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 20 октября 2010

Ваш вопрос совершенно обоснован, но я уверен, что в CR-XI нет автоматического способа сделать это.Я рекомендую полностью пропустить конструктор кросс-таблиц и просто сделать свой собственный:

  1. Создайте новый CR, используя таблицу заполнителей, которая имеет ровно 1 запись.
  2. В этом CR подавьте всено раздел подробностей.Добавьте новый раздел сведений, чтобы у вас были Da и Db.
  3. В Da добавьте подотчет.Используйте свой реальный источник данных и добавьте Column1 и Column2.
  4. В Db добавьте вложенный отчет.Используйте свой реальный источник данных и добавьте Column3 и Column4.

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

(Вместо этогона шаге 1 вы, вероятно, можете использовать группу сгруппированных в своем отчете, которая имеет только одну группу. Затем, когда вы добавляете подотчеты, не добавляйте никаких ссылок в основной отчет.)

Редактировать

Динамическое число столбцов значительно усложняет выполнение этого запроса в Crystal.

  1. Возможно, вы могли бы автоматически сгенерировать весь отчет из скрипта.Я не мог помочь вам с этим, но я уверен, что кто-то еще в StackOverflow сделает это.

  2. Вы можете использовать MS Excel для достижения чего-то подобного.Используйте MS Access или что-то подобное, чтобы настроить перекрестную таблицу ваших данных.Откройте новую книгу Excel и импортируйте свой источник данных с несколькими таблицами, используя Данные-> Импорт внешних данных-> Импорт данных (при этом импортируется вся таблица, независимо от количества строк).В Параметры страницы измените настройки на Подогнать до (пустых) страниц шириной до 1 страницы высотой. Вы можете форматировать данные так, как вам нравится, и формат будет сохранен.Этот метод Excel сожмет все ваши столбцы в одну страницу шириной.Это не совсем то, что вы просите, но это будет работать.

  3. Количество столбцов может быть динамическим, но знаете ли вы, что имена полей могут быть?Например, ваши столбцы включают в себя 0-50 штатов США, тогда вы знаете, какими будут имена столбцов, а не какие или сколько.Если это ваша ситуация, воспользуйтесь моим первым предложением (отметьте опцию suppress, если пусто , чтобы скрыть ненужные подотчеты).Это не будет красиво (много пустого пространства), но это может сделать работу.

0 голосов
/ 22 октября 2010

Возможным решением может быть многостолбцовый отчет.Но может быть трудно сделать метки строк и значения в одной строке.

Если вы можете создать дополнительную группировку строк, у вас есть решение, которое вы хотите.Например, если ваши столбцы имеют номер, как в вашем примере.Затем вы можете добавить формулу, например:

columnId \ 2
...