Ответы на часто встречающиеся вопросы (faq)

отредактировано November 2013 Раздел: FastCube 2
Ответы на вопросы от пользователей и методы решения различных задач в FastCube 2.
- Установка и компиляция пакетов.
- Советы
-Для подключения поддержки FastScript и дополнительных пакетов используйте утилиту Recompile Wizard (recompile.exe), расположенную в каталоге установки FastCube 2.
-Запускайте утилиту Recompile Wizard (recompile.exe) от имени Администратора, т.к. ей требуются права на запуск компилятора и копирование пакетов в системные папки.
- Ошибка загрузки пакетов после компиляции с поддержкой TeeChart
Если при загрузке пакетов FastCube 2 возникает ошибка типа "The procedure entry point **** could not be located in the dynamic Link Library", то она как правило связано с наличием старого скомпилированного рантайм пакета, расположенного по одному из путей поиска.
Для устранения этой ошибки необходимо найти все дубли рантайм пакетов FastCube 2, удалить их и произвести компиляцию с помощью утилиты recompile.exe.
В первую очередь ищите старые скомпилированные пакеты в системном каталоге Windows\System32.


- Совместимость версии 2 с версией 1.
- Сохраненные кубы и схемы версии 1 загружаются в версии 2.
- Скрипты из версии 1 поддерживаются в версии 2.
- Название всех классов в версии 2 новые.
- Можно инсталлировать обе версии в одну среду разработки одновременно.
- Можно использовать обе версии в одном приложении одновременно.
- Код версий 1 и 2 несовместим.


- API FastCube 2.
- Доступ к детализации ячейки
Вы можете использовать событие TfcxSliceGrid.OnDataDblClick, для вызова собственного компонента отображения записей детализации ячейки.
В первую очередь необходимо получит число записей детализации. Для этого служит метод TfcxSlice.GetDetailRecordsCount(ACol, ARow: Integer): integer.
ACol и ARow - это видимые координаты ячейки в TfcxSliceGrid.
Для получения индекса записи в исходном наборе данных используется метод TfcxSlice.GetDetailRecords(ACol, ARow, ARecIndex: Integer): integer.
ARecIndex - индекса записи в детализации
Значения нужного поля куба из записи исходного набора объекта TfcxSourceHolder (TfcxCube.SourceHolder) с помощью свойств:
TfcxSourceHolder.UniqueValueCaption[ARow: integer; AField: TfcxCommonField]: TfcxString; // отображаемое значение
TfcxSourceHolder.UniqueValueAsVariant[ARow: integer; AField: TfcxCommonField]: Variant; // значение Variant
Здесь ARow - индекс записи в исходном наборе, AField - поле куба, значение которого необходимо получить.


- Обработка больших объемов данных в FastCube 2.
- FastCube относится к классу desktop OLAP и не является OLAP сервером. Поэтому он не предназначен для обработки больших объемов данных. Тем не менее FastCube может обрабатывать и 2 миллиона записей, а в наших тестах он обрабатывал еще больше. Но есть ряд условий, которые нужно соблюдать:
- Не загружать данные из источника со слишком большим количеством полей. Данные каждого поля набора данных обрабатываются и хранятся в памяти FastCube.
- Не загружать данные содержащие большое количество уникальных значений. Таблица из 2 000 000 записей с 10 000 уникальных значений в измерении будет обработана гораздо быстрее, чем таблица с 100 000 уникальных значений в измерении.
- По возможности выполнять предварительную группировку данных в запросе к базе данных.
- Не использовать DataSet, подключенный к другим элементам управления (например TDBGrid) и использовать forward only курсоры, если это возможно.



Комментарии

  • отредактировано 17:16
    Добавлена статья "Совместимость версии 2 с версией 1."
  • отредактировано October 2013
    Добавлена статья "API FastCube 2 - Доступ к детализации ячейки"
  • отредактировано 17:16
    Добавлена статья "Обработка больших объемов данных в FastCube 2"
Дискуссия закрыта.