Можно ли отключить сортировку в КроссТаблице?
Суть проблемы такова: я заношу некие данные в DataSet, потом переношу их в Куб, расположенный внутри отчета, а на основе данных, находящихся в кубе, строю кросс-таблицу. Куб и кросс-таблица, как не сложно догадаться, являются компонентами из надстройки FastCube, интегрированной с FastReport (дизайнером отчета). Вопрос таков: можно ли напрочь отключить сортировку в кросс-таблице по определенному полю, перенесенному в область полей столбцов или полей строк? Просто я хочу, чтобы данные шли ровно в том порядке, как я их заносил в датасет. А при сортировке (прямой или обратной) этот порядок меняется.
Для примера - заношу данные в таком порядке (в том порядке, в каком хочу видеть данные в таблице):
1. Оценивающий
2. мСС
3. СС
При прямой сортировке получаю:
1. Оценивающий
2. СС
3. мСС
При обратной:
1. мСС
2. СС
3. Оценивающий
Для примера - заношу данные в таком порядке (в том порядке, в каком хочу видеть данные в таблице):
1. Оценивающий
2. мСС
3. СС
При прямой сортировке получаю:
1. Оценивающий
2. СС
3. мСС
При обратной:
1. мСС
2. СС
3. Оценивающий
Комментарии
В кубе есть возможность для любого поля указать поле, содержащее ключ сортировки.
Например если Вам надо сортировать значения поля POLE1 по значению поля POLE2, то Вы должны до загрузки данных (до открытия куба) вызвать метод:
fcCube.SetBaseField('POLE1', 'POLE2');
В Вашем случае надо добавить в датасет ещё одно поле, содержащее ключ сортировки.
Учтите, что если Вы не сделаете однозначное соответствие значений этих полей (один к одному), то результат может получится неверный.
С уважением, Олег.
Сразу задам здесь второй вопрос, чтобы не открывать новую тему. Как мне на этапе проектирования редактировать структуру кросс-таблицы? Пока я это могу делать только в ран-тайм режиме используя вместо ShowReport DesignReport. Когда же в дезайн-тайм я пытаюсь отредактировать кросс-таблицу, мне выдается ошибка: "Ошибка открытия ClientDataSet". Как я понимаю, проблема заключается в том, что свойство Active у TfrcCube стоит в положении False. Попытки установить его в True не увенчались успехом.