FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9115
Вход
Построение перекрестной таблицы-шахматки (универсальная функция)

Функция создания перекрестной таблицы (развертки - шахматки) в виде: первые колонки - информационные поля, затем числовые поля с именами N_... (число этих полей каждый раз будет разное), последнее поле - Итого по горизонтали (опционально).


 
Прислал: Дм.Баянов   Категория: Инструменты разработчика


Построение перекрестной таблицы-шахматки (универсальная функция)

Алгоритм: из источника создается промежуточная выборка по заданному условию, в которой методом разворачивания по Информационным полям и полю Группировки производится слияние (группировка) записей с числовой обработкой группы "слитых" строк по Информационному полю на основе выражения (по умолчанию - это SUM). На основе промежуточной отсортированной выборки строится Кросс-таблица путем добавления и заполнения в ней сводных числовых колонок (разворачиванием) по значению Группирующего поля и добавления строк по значению составного ключа нформационных полей.

Функцию можно использовать автономно или в составе Генератора Отчетов DBRAD32 - в качестве предварительно создаваемой таблицы для Кросс-отчета, который "умеет" выводить в Word и форматировать переменное число колонок (т.н. блок числовых колонок), перенося по полосам колонки, не помещающиеся на страницу. Из FLD-файла генератор автоматически загружает заголовки блока числовых колонок, вычисленные в функции. В результате клиент получает законченный отчет для любой выборки из источника данных. Пример такого Кросс-отчета см. на www.dbrad32.narod.ru ("Автономный генератор отчетов"). Функцию построения кросс-таблицы можно вызывать в методе Load Кросс-шаблона или в тексте Макро-шаблона (входящего в составной отчет Макро+Кросс ).

Для демонстрации работы функции распакуйте архив и запустите файл cross.prg.

Выражаю благодарность Юрию Ч. за окончательное тестирование функции.
 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.9) Вложение [15.95]kb
Дополнения пользователей
Построение перекрестной таблицы-шахматки (универсальная функция)
[+][?]
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика