Приведение типов данных

В ходе импорта данных в PolyAnalyst, типы колонок ваших данных, если таковые определены, переводятся в похожий тип в PolyAnalyst. Например, если база данных использует тип данных DECIMAL для хранения колонки чисел, PolyAnalyst преобразует эту колонку в колонку с данными числового типа. Этот этап преобразования типа данных называется приведением или конверсией данных.

Многие известные базы данных используют типы данных, которые похожи на типы данных, используемые в PolyAnalyst. Некоторые продавцы ПО стараются учитывать международные рекомендации относительно того, какой тип данных лучше использовать, и относительно ограничений, которые подразумевает каждый тип данных. Тем не менее, у каждого вендора свое понимание типов данных, поэтому при импорте данных в PolyAnalyst пользователи должны быть предельно внимательны: нужно убедиться в том, что данные импортируются в нужном формате. Например, ниже приводится список основных продавцов ПО и используемых ими типов данных:

  • Oracle - VARCHAR, CHAR, NCHAR, NUMBER, REAL, DECIMAL, INTEGER, LONG, DATE, TIMESTAMP, CLOB, BLOB, MySQL - TINYINT, INTEGER, BIGINT, FLOAT, DECIMAL, VARCHAR, CHAR, TEXT, BLOB, ENUM, SET

  • Microsoft SQL Server - BIGINT, INT, DECIMAL, MONEY, FLOAT, DATETIME, CHAR, VARCHAR, SQL_VARIANT, NTEXT

  • Microsoft Access - TEXT, MEMO, NUMBER, DATE/TIME, CURRENCY, YES/NO, OLEOBJECT, HYPERLINK

  • Microsoft Excel - GENERAL, NUMBER, CURRENCY, ACCOUNTING, DATE, TIME, PERCENTAGE, SCIENTIFIC, SPECIAL.

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

Например, разные системы хранения данных ограничивают количество цифр в числе. Количество цифр, которое может храниться в числе, называется точностью числа. Похожие типы данных (например, десятичные, числовые и целочисленные) могут иметь разные значения точности. В то время как система базы данных А может хранить десятизначное число, система базы данных Б может хранить лишь двадцатизначные числа. При переводе данных из системы А в систему Б проблем не возникает, 10 знаков умещаются в 20 (возможности системы Б превышают возможности системы А). Однако перевод данных из Б в А вызывает большую проблему: что делать с 10 знаками, которые не умещаются. Можно либо игнорировать колонку и не импортировать данные, либо попытаться представить двадцатизначное значение только с помощью 10 знаков.

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

Возможные проблемы при импорте данных

  • При импорте числовых значений в виде целых чисел, знаки после запятой игнорируются.

  • Числовые значения, превышающие максимальное пороговое значение, игнорируются.

  • Числовые значения меньше минимального порогового значения игнорируются.

  • PolyAnalyst хранит до 15 значимых цифр числовых значений. Остальные игнорируются.

  • Максимальное количество символов в строке равно 256 символам. В значениях, которые импортируются как строковые данные в PolyAnalyst, но содержат большее количество символов, чем то, которое поддерживает PolyAnalyst, лишние символы отсекаются ("отрезаются").

  • Максимальное количество символов для данных текстового типа - 5 миллионов. Символы за пределами этого максимума игнорируются. В отдельных случаях игнорируется целое значение.

  • Минимальное значение даты, которое может быть сохранено - 1/1/1903. Значения ранее указанного времени игнорируются.

  • При импорте файлов через узел Файлы, импорт слишком больших файлов может быть невозможен. Максимальный поддерживаемый размер файла равен 2 ГБ, или примерно 5 миллионам символов.

Когда значение "игнорируется", оно не сохраняется в импортированной таблице данных. Оно заменяется нулевым значением (рассматриваемым как отсутствующее значение, как если бы данное значение никогда не присутствовало в данных).

Просмотр журнала импорта на предмет возможных ошибок импорта

PolyAnalyst всегда пытается полностью импортировать внешние данные, несмотря на ошибки, возникающие при импорте отдельных записей и документов. PolyAnalyst не отображает сообщений об отдельных ошибках в процессе импорта. Когда такие ошибки возникают, они записываются в журнал. Вы можете просмотреть журнал, нажав правой кнопкой мыши на узел, который импортировал данные, и выбрав Показать журнал в контекстном меню. Эти ошибки можно увидеть только при просмотре созданного узлом журнала вручную. Эти ошибки отличаются от других типов ошибок, более критичных, которые могут возникнуть в ходе импорта, например, блокировка файла или отсутствие доступа к файлу, когда PolyAnalyst пытается получить доступ к внешнему источнику данных. При возникновении таких серьезных ошибок импорта узел не может быть выполнен.