Reference Guide#

Introduction#

Welcome to the service !TODO

Setup and List of Files#

To see how to set up the Profiler Object, the list of files that will be downloaded and used, and the system requirements to run the Object, please visit the GitHub Sample Code.

Methods#

Initialize Profiler Object - Set#

These functions initialize Profiler Object and connect it to its data files.


InitializeDataFiles#

Syntax:

InitializeDataFiles();

Returns:

Initialization Status

Return Type:

ProgramStatus

This function opens the required data files and prepares the profiler for use. You must call the SetLicenseString function if you don’t have the MD_LICENSE environmental variable set prior to calling InitializeDataFiles.

If the InitializeDataFiles function returns a code other than zero, you can call the GetInitializeErrorString function to display a string describing the error.

Required Functions

You must successfully call SetPathToProfilerDataFiles and SetFileName functions.

The InitializeDataFiles function returns a value of the enumerated type ProgramStatus.

Return Value:

Value

Name

Description

0

ErrorNone

No error - initialization was successful.

1

ErrorConfigFile

Error in Configuration file.

2

ErrorDatabaseExpired

Database file expired.

3

ErrorLicenseExpired

License Key expired.

4

ErrorProfileFile

Error in Profile file

5

ErrorUnknown

Unknown error.


SetLicenseString#

Syntax:

SetLicenseString(string LicenseString);

Returns:

Is License Valid

Return Type:

Boolean

This function sets the license string required to enable Profiler Object’s complete functionality.

The license string is included with the documentation you received. If you have not purchased a license, call Melissa Data toll free at 1-800-MELISSA (1-800-635-4772) or send an email to sales@MelissaData.com.

If a valid license string is not set, Profiler Object will not operate.

Parameters

The SetLicenseString function has one parameter; LicenseString, a string value representing the software license key.

Return Value

The SetLicenseString function returns a Boolean value of 0 (FALSE) or 1 (TRUE). It will return a FALSE Boolean value if the license string provided is incorrect.


SetPathToProfilerDataFiles#

Syntax:

SetPathToProfilerDataFiles(string LocationString);

Return Type:

Void

This function passes a string value containing the file path to the data files used by Profiler Object. It must be called prior to calling the InitializeDataFiles function.

The parameter must contain a valid path to the directory that contains the files mdProfiler.db3 and mdProfiler.cfg.


Initialize Profiler Object - Get#

The following functions get values related to the initialization process.


GetBuildNumber#

Syntax:

GetBuildNumber();

Returns:

Build Number

Return Type:

String

The GetBuildNumber function returns the current development release build number of Profiler Object.


GetDatabaseDate#

Syntax:

GetDatabaseDate();

Returns:

Database Date

Return Type:

String

The GetDatabaseDate function returns a string value that represents the date of your Profiler data files.


GetInitializeErrorString#

Syntax:

GetInitializeErrorString();

Returns:

Error Description

Return Type:

String

This function returns a descriptive string to describe the error from the InitializeDataFiles function.


GetLicenseExpirationDate#

Syntax:

GetLicenseExpirationDate();

Returns:

License Expiration Date

Return Type:

String

This function returns a date value corresponding to the date when the current license string expires.

License strings issued by Melissa Data are valid a certain period of time. This function returns the date after which the current license string is no longer valid.


Set Profiler Object Options#

The following functions set options to initialize the Profiler Interface.


SetFileName#

Syntax:

SetFileName(string FileNameString);

Return Type:

void

This function sets the path/file name of profiling output file. The processing results will be stored in the output file.

Parameters

The SetFileName function has one parameter; FileNameString, A string value representing the name of the file.


SetAppendMode#

Syntax:

SetAppendMode(AppendMode AppendMode);

Return Type:

void

Optional. This function sets the mode for how the output file needs to be handled. The default is overwrite mode if this function is not called.

If a Profiler file is opened in append mode certain statistics will not be accurate, as some results cannot be carried over from run to run. Specifically: TableExactMatch, TableContactMatch, TableHouseholdMatch,TableAddressMatch, ColumnInferredDataType, ColumnSortation, and ColumnSortationPercent.

If you intend to open the file in Append mode, you will want to call SetSortAnalysis, SetMatchUpAnalysis and SetRightFielderAnalysis appropriately.

The SetAppendMode function takes a value of the enumerated type AppendMode.

Value

Mode

Description

0

Append

Add new profiling information to any existing information.

1

Report

Open the profile table so that reporting may be done. No new records can be appended to the profile run.

2

Overwrite

Overwrite existing output profile table.

3

MustNotExist

Output profile table must not exist.

Parameters

The SetAppendMode function has one parameter; appendMode, an AppendMode value that sets the append mode for the output file.


SetUserName#

Syntax:

SetUserName(string UserNameString);

Return Type:

void

Optional. This function sets the path/file name of profiling output file. The processing results will be stored in the output file.

Parameters

The SetUserName function has one parameter; UserNameString, A string value representing the name of the file.


GetUserName#

Syntax:

GetUserName();

Return Type:

string

This function returns the user name for a particular run. The user name is set by the SetUserName function.


SetTableName#

Syntax:

SetTableName(string TableNameString);

Return Type:

void

Optional. his function sets the name of the table. This function needs to be set prior to calling InitializeDataFiles.

Parameters

The SetTableName function has one parameter; TableNameString, A string value representing the name of the file.


GetTableName#

Syntax:

GetTableName();

Return Type:

string

This function returns the table name for a particular run. The table name is set by the SetTableName function.


SetJobName#

Syntax:

SetJobName(string JobNameString);

Return Type:

void

Optional. This function sets the name of the Job. This function needs to be set prior to calling InitializeDataFiles.

Parameters

The SetJobName function has one parameter; JobNameString, A string value representing the name of the file.


GetJobName#

Syntax:

GetJobName();

Return Type:

string

This function returns the job name for a particular run. The job name is set by the SetJobName function.


SetJobDescription#

Syntax:

SetJobDescription(string JobDescriptionString);

Return Type:

void

Optional. This function sets the job description for a particular run. This function needs to be set prior to calling InitializeDataFiles.

Parameters

The SetJobDescription function has one parameter; JobDescriptionString, A string value representing the name of the file.


GetJobDescription#

Syntax:

GetJobDescription();

Return Type:

string

This function returns the job description for a particular run. The job name is set by the SetJobDescription function.


SetSortAnalysis#

Syntax:

SetSortAnalysis(int SortAnalysisValue);

Return Type:

void

Optional. This function enables/disables the sortation analysis, which can increase AddRecord profiling time. This time penalty grows geometrically as more records are added. If you are not interested in this statistic, disable it to decrease your profiling time.

The default value is “true.” A “false” value will disable this function. This function needs to be set prior to calling InitializeDataFiles.

Parameters

The SetSortAnalysis function has one parameter; SortAnalysisValue, an int value where 0-False, 1-True. This Sets the analysis on or off.


SetMatchUpAnalysis#

Syntax:

SetMatchUpAnalysis(int MatchUpAnalysisValue);

Return Type:

void

Optional. This function enables/disables duplicate record detection. Duplicate analysis increases the AddRecord profiling time by under 5% and ProfileData profiling time by about 30%. These time increases often outweigh the usefulness of having these statistics.

The default value is “true.” A “false” value will disable this function. This function needs to be set prior to calling InitializeDataFiles.

Parameters

The SetMatchUpAnalysis function has one parameter; MatchUpAnalysisValue, an int value where 0-False, 1-True. This Sets the analysis on or off.


SetRightFielderAnalysis#

Syntax:

SetRightFielderAnalysis(int RightFielderAnalysisValue);

Return Type:

void

Optional. This function enables/disables inferred data type analysis. This analysis is responsible for the Inconsistent Data and Inferred Data Type statistics. This increases the AddRecord profiling time by under 10%. It is usually good to keep these useful analysis, even with the increased profiling time.

The default value is “true.” A “false” value will disable this function. This function needs to be set prior to calling InitializeDataFiles.

Parameters

The SetRightFielderAnalysis function has one parameter; RightFielderAnalysisValue, an int value where 0-False, 1-True. This Sets the analysis on or off.


SetDataAggregationAnalysis#

Syntax:

SetDataAggregationAnalysis(int SetDataAggregationAnalysisValue);

Return Type:

void

Optional. This function enables/disables all forms of aggregation and value gathering. Any statistic that cannot be determined incrementally (for example, median, population standard deviation, etc.) is determined via aggregation. This analysis is also responsible for all value tables (Frequency, Pattern, SoundEx, etc.). All iterators and data aggregation statistics are dependent on this analysis. This increase profiling time by over 90%. These statistics are usually useful enough to justify the increased profiling time.

The default value is “true.” A “false” value will disable this function and by dependency disable all iterators and data aggregation statistics. This property should be set before InitializeDataFiles is called.

Parameters

The SetDataAggregationAnalysis function has one parameter; SetDataAggregationAnalysisValue, an int value where 0-False, 1-True. This Sets the aggregation on or off.


Object Information#

These functions get information about the Profiler Object.


GetProfileStartDateTime#

Syntax:

GetProfileStartDateTime();

Return Type:

string

This function returns the profiling start date and time.


GetProfileEndDateTime#

Syntax:

GetProfileEndDateTime();

Return Type:

string

This function returns the profiling end date and time.


Enumeration Listing and Parsing#

These functions are largely used by enterprise client applications to poll enumerators and result codes. For example, a GUI product author may opt to not to use a hard-coded list of column types, and rather retrieve a list of valid column types from the object itself. This provides some amount of upward compatibility, as new column types can be added to the object without requiring the developers to update and rebuild their applications.


GetColumnTypeEnum#

Syntax:

GetColumnTypeEnum();

Return Type:

string

This function returns all Column Type enumerations. This returns a comma delimited list of the numeric values of each enumeration (i.e., “1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29”.) You will typically use this by splitting the result by the comma delimiter and iterate through the list of numeric values, passing each value to GetColumnTypeDescription, to get a description of this enumeration. See ProfilerColumnType for more details.


GetColumnTypeDescription#

Syntax:

GetColumnTypeDescription(ProfilerColumnType ProfilerColumnTypeValue);

Return Type:

string

This function returns the description for the specified ColumnType Enumerator. See ProfilerColumnType for more details.

Parameters

The GetColumnTypeDescription function has one parameter; ProfilerColumnTypeValue, a ProfilerColumnType value


ParseColumnTypeDescription#

Syntax:

ParseColumnTypeDescription(string ColumnTypeDescString);

Return Type:

ProfilerColumnType

This function parses the description of the Column Type. This is actually a reverse function of GetColumnTypeDescription. See ProfilerColumnType for more details.

Parameters

The ParseColumnTypeDescription function has one parameter; ColumnTypeDescString, a string value that contains the description of the Profiler Column Type.


GetDataTypeEnum#

Syntax:

GetDataTypeEnum();

Return Type:

string

This function returns all Data Type enumerations. This returns a comma delimited list of the numeric values of each enumeration (i.e., “1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23”.) You will typically use this by splitting the result by the comma delimiter and iterate through the list of numeric values, passing each value to GetDataTypeDescription, to get a description of this enumeration. See ProfilerDataType for more details.


GetDataTypeDescription#

Syntax:

GetDataTypeDescription(ProfilerDataType ProfilerDataTypeValue);

Return Type:

string

This function returns the description for a specified DataType Enumerator.

Parameters

The GetDataTypeDescription function has one parameter; ProfilerDataTypeValue, a ProfilerDataType value


ParseDataTypeDescription#

Syntax:

ParseDataTypeDescription(string DataTypeDescString);

Return Type:

ProfilerDataType

This function parses the description of the Data Type. This is actually a reverse function of GetDataTypeDescription. This function accepts the Data Type description in string form as a parameter. See ProfilerDataType for more details.

Parameters

The ParseDataTypeDescription function has one parameter; DataTypeDescString, a string value that contains the description of the Profiler Data Type.


GetResultCodeEnum#

Syntax:

GetResultCodeEnum();

Return Type:

string

This function returns a comma delimited list of all Result Code enumerations. See Result Codes for more information.


GetResultCodeDescription#

Syntax:

GetResultCodeDescription(string ResultCodeString);

Return Type:

string

This function returns a comma delimited list of all Result Code enumerations. See Result Codes for more information.

Parameters

The GetResultCodeDescription function has one parameter; ResultCodeString, a string value that contains the result code.


ProfilerColumnType#

These enumerations describe the type of column to be profiled. They are used as input parameters for AddColumn.

Value

Name

Description

1

ColumnTypeInt1

8 bit Signed Integer

2

ColumnTypeInt2

16 bit Signed Integer

3

ColumnTypeInt4

32 bit Signed Integer

4

ColumnTypeInt8

64 bit Signed Integer

5

ColumnTypeUInt1

8 bit Unsigned Integer

6

ColumnTypeUInt2

16 bit Unsigned Integer

7

ColumnTypeUInt4

32 bit Unsigned Integer

8

ColumnTypeUInt8

64 bit Unsigned Integer

9

ColumnTypeReal4

32 bit Floating Point Number

10

ColumnTypeReal8

64 bit Floating Point Number

11

ColumnTypeNumeric

Numeric Value

12

ColumnTypeDecimal

Numeric Value

13

ColumnTypeCurrency

Numeric Value

14

ColumnTypeFixedMBCSString

Fixed-Length Multi-Byte String

15

ColumnTypeVariableMBCSString

Variable-Length multi-byte string

16

ColumnTypeFixedUnicodeString

Fixed-Length Unicode String

17

ColumnTypeVariableUnicodeString

Variable-Length Unicode String

18

ColumnTypeDate

Date

19

ColumnTypeDBDate

Database Date

20

ColumnTypeDBTime

Database Time

21

ColumnTypeDBTime2

Database Time

22

ColumnTypeDBTimeStamp

Time Stamp

23

ColumnTypeDBTimeStamp2

Time Stamp

24

ColumnTypeDBTimeStampOffset

Date/Time Offset

25

ColumnTypeFileTime

File Date/Time

26

ColumnTypeBoolean

Boolean Value

27

ColumnTypeGUID

GUID Value

28

ColumnTypeBytes

Byte Array

29

ColumnTypeImage

Image Array


ProfilerDataType#

These enumerations describe the type of data to be profiled. They are used as input parameters for AddColumn.

Value

Name

Description

1

DataTypeFullName

Full name

2

DataTypeInverseName

Inverse ordered name (Last – First)

3

DataTypeNamePrefix

Name prefix

4

DataTypeFirstName

First name

5

DataTypeMiddleName

Middle name

6

DataTypeLastName

Last name

7

DataTypeNameSuffix

Name Suffix

8

DataTypeTitle

Title / Department

9

DataTypeCompany

Company or Organization

10

DataTypeAddress

Street address

11

DataTypeCity

City Name

12

DataTypeStateOrProvince

US state or Canadian province

13

DataTypeZipOrPostalCode

US zip code or Canadian postal code

14

DataTypeCityStateZip

City/State/Zip combined

15

DataTypeCountry

Country Name

16

DataTypePhone

Phone number

17

DataTypeEmail

Email address

18

DataTypeString

Generic string value

19

DataTypeNumeric

Generic numeric value

20

DataTypeDateMDY

Generic Date/Time(formatted Month Day Year)

21

DataTypeDateYMD

Generic Date/Time(formatted Year Month Day)

22

DataTypeDateDMY

Generic Date/Time(formatted Day Month Year)

23

DataTypeBoolean

Generic Boolean Value


Column Specification#

You must call AddColumn for each column you intend to profile. All columns must be added before StartProfiling is called.


AddColumn#

Syntax:

AddColumn(string ColumnName, ProfilerColumnType ProfilerColumnType, ProfilerDataType ProfilerDataType);

Return Type:

void

This function describes a column to be profiled. To successfully profile the data, at least one column should be added.

Parameters

The AddColumn function has three parameters:

ColumnNameStr, a string value that is the name of the column to be added.

ProfilerColumntype, a ProfilerColumnType value that is the type of the column to be added. See ProfilerColumnType for details.

And ProfilerDataType, a ProfilerDataType value that is the data type of the column to be added. These are custom data types. See ProfilerDataType for details.


SetColumnCustomPattern#

Syntax:

SetColumnCustomPattern(string ColumnNameString, string RegularExpressionString);

Return Type:

void

Optional. This function adds a regular expression validator for a specified column. This can be called multiple times to evaluate different patterns.

Parameters

The SetColumnCustomPattern function has two parameters:

ColumnNameString, a string value that is the Column Name to set the custom pattern.

And RegularExpressionString, a string value that is the regular expression to validate the column.


SetColumnValueRange#

Syntax:

SetColumnValueRange(string ColumnNameStr, string ProfilerFromStrColumnType, string ToStr);

Return Type:

void

Optional. This function sets the upper and lower bound for the specified column.

Parameters

The SetColumnValueRange function has three parameters:

ColumnNameStr, a string value that is the Column Name to set the value range.

FromStr, a string value that is the lower bound value.

And ToStr, a string value that is the upper bound value.


SetColumnDefaultValue#

Syntax:

SetColumnDefaultValue(string ColumnName, string DefaultValue);

Return Type:

void

Optional. This function sets the default value to the specified column.

Parameters

The SetColumnDefaultValue function has two parameters:

ColumnName, a string value that is the Column Name to set the default.

DefaultValue, a string value that is the default value of the column.


SetColumnSize#

Syntax:

SetColumnSize(string ColumnName, int ColumnSize);

Return Type:

void

Optional. This function sets the column size for the specified column.

Parameters

The SetColumnSize function has two parameters:

ColumnName, a string value that is the Column Name to set the size.

ColumnSize, an int value that is the size of the column.


SetColumnPrecision#

Syntax:

SetColumnPrecision(string ColumnName, int PrecisionValue);

Return Type:

void

Optional. This function sets the precision for a specified column. This applies to only ColumnTypeNumeric, ColumnTypeDecimal, ColumnTypeCurrency. Precision is the number of digits maximum allowed for that number.

Parameters

The SetColumnPrecision function has two parameters:

ColumnName, a string value that is the Column Name to set the precision Value.

PrecisionValue, an int value that is the precision value for a specified column.


SetColumnScale#

Syntax:

SetColumnScale(string ColumnName, int ScaleValue);

Return Type:

void

Optional. This function sets the scale for a specified column. Scale is the number of decimal places (number of digits on the right hand side of the decimal point.) This applies to only ColumnTypeNumeric, ColumnTypeDecimal, ColumnTypeCurrency.

Parameters

The SetColumnScale function has two parameters:

ColumnName, a string value that is the name of the column to be added.

ScaleValue, an int value that is the scale value for the specified column.


GetColumnCount#

Syntax:

GetColumnCount();

Return Type:

int

This function returns the number of columns that have been profiled.


GetColumnName#

Syntax:

GetColumnName(int Index);

Return Type:

string

This function returns the name of the column for the given index.

Parameters

The GetColumnName function has one parameter:

Index, an int value that is the index number for that particular column.


GetColumnColumnType#

Syntax:

GetColumnColumnType(string ColumnName);

Return Type:

ProfilerColumnType

This function returns a column’s Columns Type in ProfilerColumType form. See ProfilerColumnType for details. You specify the Column Type by using the AddColumn function.

Parameters

The GetColumnColumnType function has one parameter:

ColumnName, a string value that is the Column Name to get the column type.


GetColumnDataType#

Syntax:

GetColumnDataType(string ColumnName);

Return Type:

ProfilerDataType

This function returns a column’s Data Type in ProfilerDataType form. See ProfilerDataType for details. You specify the Data Type by using the AddColumn function.

Parameters

The GetColumnDataType function has one parameter:

ColumnName, a string value that is the Column Name to get the data type.


GetColumnSize#

Syntax:

GetColumnSize(string ColumnName);

Return Type:

int

This function returns a column’s size. You specify the column size by using the SetColumnSize function.

Parameters

The GetColumnSize function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s size.


GetColumnPrecision#

Syntax:

GetColumnPrecision(string ColumnName);

Return Type:

int

This function returns a column’s precision value. You specify this by using the SetColumnPrecision function. Use this only on the following ColumnTypes: ColumnTypeNumeric, ColumnTypeDecimal, and ColumnTypeCurrency.

Parameters

The GetColumnPrecision function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s Precision Value.


GetColumnScale#

Syntax:

GetColumnScale(string ColumnName);

Return Type:

int

This function returns a column’s scale value. You specify this by using the SetColumnScale function. Use this only on the following ColumnTypes: ColumnTypeNumeric, ColumnTypeDecimal, and ColumnTypeCurrency.

Parameters

The GetColumnScale function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s scale value.


GetColumnValueRangeFrom#

Syntax:

GetColumnValueRangeFrom(string ColumnName);

Return Type:

string

This function returns the lower bound value you set for the column with the SetColumnValueRange function.

Parameters

The GetColumnValueRangeFrom function has one parameter:

ColumnName, a string value that is the Column Name to get the lower bound value.


GetColumnValueRangeTo#

Syntax:

GetColumnValueRangeTo(string ColumnName);

Return Type:

string

This function returns the upper bound value you set for the column with the SetColumnValueRange function.

Parameters

The GetColumnValueRangeTo function has one parameter:

ColumnName, a string value that is the Column Name to get the upper bound value.


GetColumnDefaultValue#

Syntax:

GetColumnDefaultValue(string ColumnName);

Return Type:

string

This function returns the default value you set for the column with the SetColumnDefaultValue function.

Parameters

The GetColumnDefaultValue function has one parameter:

ColumnName, a string value that is the Column Name to get the default value.


GetColumnCustomPatterns#

Syntax:

GetColumnCustomPatterns(string ColumnNameStr);

Return Type:

string

This function returns the tab delimited regular expression validator you added for the column with the SetColumnCustomPattern function. This is particularly useful if the profile output file is open on Report Mode (As set by SetAppendMode) and you want to get those patterns if they are set in a previous profiling run.

Parameters

The GetColumnCustomPatterns function has one parameter:

ColumnNameStr, a string value that is the Column Name to get the regular expression.


Initiate Profiling#

You must call StartProfiling before you start specifying column and row content. After calling StartProfiling, changes to the column specifications (i.e., AddColumn, SetColumnCustomPattern, etc.) will be ignored.


StartProfiling#

Syntax:

StartProfiling();

Return Type:

void

This function starts profiling the added columns. After calling StartProfiling, any changes to the setup will be ignored and the object will be ready for you to start feeding it data.


Data Input#

You must call StartProfiling before you start specifying column and row content.

For each record to be profiled, call SetColumn or SetColumnNull for each column. After the values for all columns have been specified, call AddRecord to submit the record for profiling. Note that if SetColumn or SetColumnNull are called more than once for the same column before AddRecord is called, then the last function call’s data will be used. Also, if neither SetColumn nor SetColumnNull are called before AddRecord, then the column is assumed to contain a NULL (i.e., the same as if you called SetColumnNull for that column.)


SetColumn#

Syntax:

SetColumn(string ColumnName, string ColumnValue);

Return Type:

void

This function sets the value of the specific column.

Parameters

The SetColumn function has two parameters:

ColumnName, a string value that is the Column Name to set the value.

And ColumnValue, a string value for a specified column.


SetColumnNull#

Syntax:

SetColumnNull(string ColumnName);

Return Type:

void

This function sets the Null value of the specific column.

Parameters

The SetColumnNull function has one parameters:

ColumnName, a string value that is the Column Name to set the value to NULL.


AddRecord#

Syntax:

AddRecord();

Return Type:

void

This function submits the record’s column values for profiling. No Parameters are required. After calling AddRecord, the result for the current record will be available using GetResults.


AddDelimitedRecord#

Syntax:

AddDelimitedRecord(string Record);

Return Type:

string

Parses and adds the specified record. Essentially, this splits the record, and then calls SetColumn for each found field. Finally, AddRecord is called to add the entire row. Note that columns are parsed in the order that they were specified by the user’s AddRecord calls.

Parameters

The AddDelimitedRecord function has one parameters:

Record, a string value representing the delimited record.

This function returns a string containing a result code:

Result Code

Description

QS90

One of the parsed fields contains an embedded row delimiter.

QS91

The input record did not contain all the fields specified by AddColumn(). For example, the user may have called AddColumn () 5 times to specify that there were 5 fields, but, when parsed, the input record contained only 4 fields.

QS92

Extra fields (more than the ones specified by AddColumn ()) were parsed (the contents are discarded).

QE90

Unbalanced text qualifiers. One of the parsed fields contained a leading text qualifier but not a trailing one (or vice-versa) (only reported when the comma is the column delimiter).

QE91

Un-escaped text qualifier. One of the parsed fields contained a text qualifier that was not escaped (only reported when the comma is the column delimiter).

The reason why QE90 and QE91 are only reported for comma-delimited record parsing is because the comma is the only standard delimiter which requires text qualifiers (because the comma appears frequently in the data it is delimiting). Other delimiters (such as tab) generally don’t require text qualification because the delimiter does not appear in the data.

However, there is an exception in that sometimes the row delimiter (ie CR+LF or CR or LF) will appear in the data, and the text qualifiers will be used to ‘protect’ the row delimiter from being parsed as a row delimiter rather than data. It is very easy for a user to create such a file in Excel (simply by creating a multi-line entry and exporting it as tab-delimited). Unfortunately, a great many ASCII importers have difficulty dealing with this convention, and will badly butcher data having embedded row delimiters.

Counts of the above result codes are provided with: int GetTableEmbeddedrowDelimiterCount() – QS90 count. int GetTableNotAllFieldsPresentCount() – QS91 count. int GetTableExtraFieldsPresentCount() – QS92 count. int GetTableUnbalancedTextQualifiersCount() – QE90 count. int GetTableUnescapedEmbeddedTextQualifiersCount() – QE91 count.

After AddDelimitedRecord has been called, the user can get the contents of each column with: GetColumnValue(columnName) – which returns the contents of columnName.


GetColumnValue#

Syntax:

GetColumnValue(string ColumnName);

Return Type:

void

This function returns the contents of the specified column name. This comes handy to retrieve the parsed fields when using AddDelimitedRecord.

Note that this function also works for the conventional SetColumn()/AddRecord () calling convention. However, the user should assume that the data provided by GetColumnValue() is only valid until AddRecord() is called. After that, a new row buffer is initialized, and the previous row’s data may not be valid.

Parameters

The GetColumnValue function has one parameters:

ColumnName, a string value representing the Field Name.


SetColumnDelimiter#

Syntax:

SetColumnDelimiter(string ColumnDelimiter);

Return Type:

void

This function sets the character that will delimit fields for the Profiler AddDelimitedRecord() function. This function needs to be set prior to calling AddDelimitedRecord.

The default value for this function is comma “,”

Note: Only the first character is recognized. Any extra characters are ignored.

Parameters

The SetColumnDelimiter function has one parameters:

ColumnDelimiter, a string value representing the column delimiter.


SetRowDelimiter#

Syntax:

SetRowDelimiter(string RowDelimiter);

Return Type:

void

This function sets the character that will delimit rows (records) for the Profiler AddDelimitedRecord function. This function needs to be set prior to calling AddDelimitedRecord.

As the user is providing one row at a time, this function may seem unnecessary, but it is used to detect embedded row delimiters. If “” (an empty string) is used (which is the default), then carriage return (CR) and/or line feed (LF) are used as the row delimiters.

The default value for this function is comma “,”.

Note: Only the first character is recognized. Any extra characters are ignored.

Parameters

The SetRowDelimiter function has one parameters:

RowDelimiter, a string value representing the row delimiter.


SetTextQualifier#

Syntax:

SetTextQualifier(string Qualifier);

Return Type:

void

The Text Qualifier indicates the character that can (optionally) enclose fields. It is usually used to ‘protect’ in-field delimiters, and is often the double-quote character. Also, if this character appears in the field data itself, it must be properly escaped. Escaping of this character can be accomplished by doubling it, as in ‘George “”Babe”” Ruth’, or prefixing it with a backslash, as in ‘George ”Babe” Ruth’.

The default text qualifier is the double-quote character. An empty string (“”) can be used to specify that there is no text qualifier.

Note: Only the first character is recognized. Any extra characters are ignored.

Parameters

The SetTextQualifier function has one parameters:

RowDelimiter, a string value representing the text qualifier.


GetResults#

Syntax:

GetResults(string ColumnName);

Return Type:

string

This function retrieves result codes for each column in the submitted record. This should be called after AddRecord.

Parameters

The GetResults function has one parameters:

ColumnName, a string value Column Name to get the result codes.

This returns Result Codes specific to a column in string format.


Profiling#

Once all records have been submitted, call ProfileData to initiate profiling. Much of the profiling is done incrementally as each record is submitted. However, certain data aggregation can only be done once all records have been submitted, and this aggregation is done at this time.


ProfileData#

Syntax:

ProfileData();

Return Type:

void

This function starts profiling the submitted records. Data aggregation starts when this function gets called.


Table-Based Statistics#

The table-based statistics should only be retrieved after ProfileData is called.


GetTableRecordCount#

Syntax:

GetTableRecordCount();

Return Type:

int

This function returns the number of records processed.


GetTableRecordEmptyCount#

Syntax:

GetTableRecordEmptyCount();

Return Type:

int

This function returns the number of records with empty values for all columns. An empty value is not Null, can contain spaces, and has no string or value.


GetTableRecordNullCount#

Syntax:

GetTableRecordNullCount();

Return Type:

int

This returns the number of records having Null values for all columns.


GetTableExactMatchDistinctCount#

Syntax:

GetTableExactMatchDistinctCount();

Return Type:

int

This function returns the number of unique records using an Exact Match matching critera. All data fields provided will be compared. Casing and punctuation will be ignored.


GetTableExactMatchDupesCount#

Syntax:

GetTableExactMatchDupesCount();

Return Type:

int

This function returns the number of duplicate records using an Exact Match matching critera. All data fields provided will be compared. Casing and punctuation will be ignored.


GetTableExactMatchLargestGroup#

Syntax:

GetTableExactMatchLargestGroup();

Return Type:

int

This function returns the size of the largest group of duplicate records using an Exact Match matching critera. All data fields provided will be compared. Casing and punctuation will be ignored.


GetTableContactMatchDistinctCount#

Syntax:

GetTableContactMatchDistinctCount();

Return Type:

int

This function returns the number of distinct records using Address, First Name and Last Name matching criteria.

The Contact Match matching rules used are:

  • Zip5 AND First Name AND Last Name AND Street Number AND Street Name (All have to match)

OR

  • Zip5 AND First Name AND Last Name AND PO Box (All have to match)

Note: The Profiler will parse data present in a single field such as an AddressLine or a FullName for matching purposes. (e.g., From an Address field containing “12 Main Street,” the Profiler will take the “12” as the Street Number and “Main” as the Street Name for its matching needs.)


GetTableContactMatchDupesCount#

Syntax:

GetTableContactMatchDupesCount();

Return Type:

int

This function returns the number of duplicate records using Contact Match described under GetTableContactMatchDistinctCount.


GetTableContactMatchLargestGroup#

Syntax:

GetTableContactMatchLargestGroup();

Return Type:

int

This function returns the size of the largest group of duplicates using Contact Match described under GetTableContactMatchDistinctCount.


GetTableHouseholdMatchDistinctCount#

Syntax:

GetTableHouseholdMatchDistinctCount();

Return Type:

int

This function returns the number of distinct records using Address, and Last Name matching criteria.

The Household Match matching rules used are:

  • Zip5 AND Last Name AND Street Number AND Street Name (All have to match)

OR

  • Zip5 AND Last Name AND PO Box (All have to match)

Note: The Profiler will parse data present in a single field such as an AddressLine or a FullName for matching purposes. (e.g, From an Address field containing “12 Main Street,” the Profiler will take the “12” as the Street Number and “Main” as the Street Name for its matching needs.)


GetTableHouseholdMatchDupesCount#

Syntax:

GetTableHouseholdMatchDupesCount();

Return Type:

int

This function returns the size of the largest group of duplicate records using the Household Match matching strategy described under GetTableHouseholdMatchDistinctCount.


GetTableAddressMatchDistinctCount#

Syntax:

GetTableAddressMatchDistinctCount();

Return Type:

int

This function returns the number of distinct records using Address only matching criteria.

The Address Match matching rules used are:

  • Zip5 AND Street Number AND Street Name (All have to match)

OR

  • Zip5 AND PO Box (both have to match)

Note: The Profiler will parse data present in a single field such as an AddressLine or a FullName for matching purposes. (e.g., From an Address field containing “12 Main Street,” the Profiler will take the “12” as the Street Number and “Main” as the Street Name for its matching needs.)


GetTableAddressMatchDupesCount#

Syntax:

GetTableAddressMatchDupesCount();

Return Type:

int

This function returns the number of duplicate records using Address Match matching strategy decribed under GetTableHouseholdMatchDistinctCount.


GetTableAddressMatchLargestGroup#

Syntax:

GetTableAddressMatchLargestGroup();

Return Type:

int

This function returns the size of the largest group of duplicate records using Address Match matching strategy decribed under GetTableHouseholdMatchDistinctCount.


GetTableEmbeddedRowDelimiterCount#

Syntax:

GetTableEmbeddedRowDelimiterCount();

Return Type:

int

This returns the count of the row delimiters that appeared in one of the parsed fields.

This function will return results only if AddDelimitedRecord is used for parsing the input data.


GetTableNotAllFieldsPresentCount#

Syntax:

GetTableNotAllFieldsPresentCount();

Return Type:

int

This returns the count of when not all fields were presents. Each field specified by AddColumn() should have a corresponding value after using AddDelimitedRecord(), if not this count will be incremented.

This function will return results only if AddDelimitedRecord() is used for parsing the input data.


GetTableExtraFieldsPresentCount#

Syntax:

GetTableExtraFieldsPresentCount();

Return Type:

int

Each field specified by AddColumn() should have a corresponding value after using AddDelimitedRecord(), if there are any extra fields present this count will be incremented. This function will return results only if AddDelimitedRecord() is used for parsing the input data.


GetTableUnbalancedTextQualifiersCount#

Syntax:

GetTableUnbalancedTextQualifiersCount();

Return Type:

int

The Text Qualifier indicates the character that can (optionally) enclose fields. It is usually used to ‘protect’ in-field delimiters, and is often the double-quote character. Also, if this character appears in the field data itself, it must be properly escaped. If any unbalanced text qualifiers appeared in the data, this count will be incremented. The text qualifier is specified by the SetTextQualifier() function. This function will return results only if AddDelimitedRecord() is used for parsing the input data.


GetTableUnescapedEmbeddedTextQualifiersCount#

Syntax:

GetTableUnescapedEmbeddedTextQualifiersCount();

Return Type:

int

The Text Qualifier indicates the character that can (optionally) enclose fields. It is usually used to ‘protect’ in-field delimiters, and is often the double-quote character. Also, if this character appears in the field data itself, it must be properly escaped. If any unbalanced text qualifiers were not escaped, this count will be incremented. The text qualifier is specified by the SetTextQualifier() function. This function will return results only if AddDelimitedRecord() is used for parsing the input data.


Column-Based String Statistics#

Theses statistics should only be retrieved after calling the ProfileData function. These values are all column-specific. String statistics are computed for all column types, including non string-based ones (such as numerics, date/times, etc.)

Quartiles and Medians

A median value is the ‘middle’ value. That is, if one were to order a list of 100 values from lowest to highest (including duplicate values), the median value is the value of the 50th item. There are two quartile values: first and third. In the previous example, the first quartile would be the 25th value, and the third quartile would be the 75th value. In cases where the total number of records is not evenly divisible, the value closest to the quartile or median point is used.


GetColumnStringMaxValue#

Syntax:

GetColumnStringMaxValue();

Return Type:

string

This function returns a column’s largest value (as sorted A-Z.)

Parameters

The GetColumnStringMaxValue function has one parameter:

ColumnName, a string value that is the Column Name to get column’s largest value.


GetColumnStringMinValue#

Syntax:

GetColumnStringMinValue();

Return Type:

string

This function returns a column’s smallest value

Parameters

The GetColumnStringMinValue function has one parameter:

ColumnName, a string value that is the Column Name to get column’s smallest value.


GetColumnStringQ1Value#

Syntax:

GetColumnStringQ1Value();

Return Type:

string

This function returns a column’s first quartile value.

Parameters

The GetColumnStringQ1Value function has one parameter:

ColumnName, a string value that is the Column Name to get column’s first quartile value.


GetColumnStringMedValue#

Syntax:

GetColumnStringMedValue();

Return Type:

string

This function returns a column’s median value.

Parameters

The GetColumnStringMedValue function has one parameter:

ColumnName, a string value that is the Column Name to get column’s median value.


GetColumnStringQ3Value#

Syntax:

GetColumnStringQ3Value();

Return Type:

string

This function returns a column’s third quartile value.

Parameters

The GetColumnStringQ3Value function has one parameter:

ColumnName, a string value that is the Column Name to get column’s third quartile value.


GetColumnStringMaxLength#

Syntax:

GetColumnStringMaxLength();

Return Type:

int

This function returns the length of the column’s longest value.

Parameters

The GetColumnStringMaxLength function has one parameter:

ColumnName, a string value that is the Column Name to get the length of the column’s longest value.


GetColumnStringMinLength#

Syntax:

GetColumnStringMinLength();

Return Type:

int

This function returns the length of the column’s shortest value.

Parameters

The GetColumnStringMinLength function has one parameter:

ColumnName, a string value that is the Column Name to get the length of the column’s shortest value.


GetColumnStringAvgLength#

Syntax:

GetColumnStringAvgLength();

Return Type:

double

This function returns the average length of the column.

Parameters

The GetColumnStringAvgLength function has one parameter:

ColumnName, a string value that is the Column Name to get the average length of the column.


GetColumnStringQ1Length#

Syntax:

GetColumnStringQ1Length();

Return Type:

int

This function returns a column’s first quartile length.

Parameters

The GetColumnStringQ1Length function has one parameter:

ColumnName, a string value that is the Column Name to get a column’s first quartile length.


GetColumnStringMedLength#

Syntax:

GetColumnStringMedLength();

Return Type:

int

This function returns a column’s median length.

Parameters

The GetColumnStringMedLength function has one parameter:

ColumnName, a string value that is the Column Name to get the median length.


GetColumnStringQ3Length#

Syntax:

GetColumnStringQ3Length();

Return Type:

int

This function returns a column’s third quartile length.

Parameters

The GetColumnStringQ3Length function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s third quartile length.


GetColumnWordMaxValue#

Syntax:

GetColumnWordMaxValue();

Return Type:

string

This function returns a column’s largest word value.

Parameters

The GetColumnWordMaxValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s largest word value.


GetColumnWordMinValue#

Syntax:

GetColumnWordMinValue();

Return Type:

string

This function returns a column’s shortest word value.

Parameters

The GetColumnWordMinValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s shortest word value.


GetColumnWordQ1Value#

Syntax:

GetColumnWordQ1Value();

Return Type:

string

This function returns a column’s first quartile word value.

Parameters

The GetColumnWordQ1Value function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s first quartile word value.


GetColumnWordMedValue#

Syntax:

GetColumnWordMedValue();

Return Type:

string

This function returns a column’s median word value.

Parameters

The GetColumnWordMedValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s median word value.


GetColumnWordQ3Value#

Syntax:

GetColumnWordQ3Value();

Return Type:

string

This function returns a column’s third quartile word value.

Parameters

The GetColumnWordQ3Value function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s third quartile word value.


GetColumnWordMaxLength#

Syntax:

GetColumnWordMaxLength();

Return Type:

int

This function returns the length of a column’s largest word value.

Parameters

The GetColumnWordMaxLength function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s largest word length.


GetColumnWordMinLength#

Syntax:

GetColumnWordMinLength();

Return Type:

int

This function returns the length of a column’s shortest word value.

Parameters

The GetColumnWordMinLength function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s shortest word length.


GetColumnWordAvgLength#

Syntax:

GetColumnWordAvgLength();

Return Type:

double

This function returns the average length of a column’s words.

Parameters

The GetColumnWordAvgLength function has one parameter:

ColumnName, a string value that is the Column Name to get the average length of the column’s words.


GetColumnWordQ1Length#

Syntax:

GetColumnWordQ1Length();

Return Type:

int

This function returns a column’s first quartile word length.

Parameters

The GetColumnWordQ1Length function has one parameter:

ColumnName, a string value that is the Column Name to get the first quartile word length.


GetColumnWordMedLength#

Syntax:

GetColumnWordMedLength();

Return Type:

int

This function returns a column’s median word length.

Parameters

The GetColumnWordMedLength function has one parameter:

ColumnName, a string value that is the Column Name to get the median word length.


GetColumnWordQ3Length#

Syntax:

GetColumnWordQ3Length();

Return Type:

int

This function returns a column’s third quartile word length.

Parameters

The GetColumnWordQ3Length function has one parameter:

ColumnName, a string value that is the Column Name to get the third quartile word length.


GetColumnMaxWords#

Syntax:

GetColumnMaxWords();

Return Type:

int

This function returns a column’s maximum number of words.

Parameters

The GetColumnMaxWords function has one parameter:

ColumnName, a string value that is the Column Name to get the maximum number of words.


GetColumnMinWords#

Syntax:

GetColumnMinWords();

Return Type:

int

This function returns a column’s minimum number of words.

Parameters

The GetColumnMinWords function has one parameter:

ColumnName, a string value that is the Column Name to get the minimum number of words.


GetColumnAvgWords#

Syntax:

GetColumnAvgWords();

Return Type:

double

This function returns a column’s average number of words.

Parameters

The GetColumnAvgWords function has one parameter:

ColumnName, a string value that is the Column Name to get the average number of words.


Column-Based Numeric Statistics#

These statistics should only be retrieved after calling the ProfileData function. These values are all column-specific. Numeric statistics are computed for all column types including non numeric-based ones (such as strings, date/times, etc.)

Quarterlies and Medians

A median value is the ‘middle’ value. That is, if one were to order a list of 100 values from lowest to highest (including duplicate values), the median value is the value of the 50th item. There are two quartile values: first and third. In our example, the first quartile would be the 25th value, and the third quartile would be the 75th value. In cases where the total number of records is not evenly divisible, then a pair of quartile values is computed: the integral quartile, which is the value closest to the quartile or median point, and the interpolated quartile, which is an interpolated quartile value.


GetColumnNumericMaxValue#

Syntax:

GetColumnNumericMaxValue();

Return Type:

double

This function returns a column’s largest value as sorted numerically.

Parameters

The GetColumnNumericMaxValue function has one parameter:

ColumnName, a string value that is the Column Name to get the largest value.


GetColumnNumericMinValue#

Syntax:

GetColumnNumericMinValue();

Return Type:

double

This function returns a column’s smallest numeric value.

Parameters

The GetColumnNumericMinValue function has one parameter:

ColumnName, a string value that is the Column Name to get the smallest value.


GetColumnNumericAverageValue#

Syntax:

GetColumnNumericAverageValue();

Return Type:

double

This function returns a column’s numeric average value.

Parameters

The GetColumnNumericAverageValue function has one parameter:

ColumnName, a string value that is the Column Name to get the average value.


GetColumnNumericQ1Value#

Syntax:

GetColumnNumericQ1Value();

Return Type:

double

This function returns a column’s first interpolated quartile value.

Parameters

The GetColumnNumericQ1Value function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s first interpolated quartile value.


GetColumnNumericQ1IntValue#

Syntax:

GetColumnNumericQ1IntValue();

Return Type:

double

This function returns the column’s first integral quartile value. This is a value from your input data that is closest to the quartile value (non-interpolated).

Parameters

The GetColumnNumericQ1IntValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s first integral quartile value.


GetColumnNumericMedValue#

Syntax:

GetColumnNumericMedValue();

Return Type:

double

This function returns the column’s interpolated median value.

Parameters

The GetColumnNumericMedValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s interpolated median value.


GetColumnNumericMedIntValue#

Syntax:

GetColumnNumericMedIntValue();

Return Type:

double

This function returns the column’s Integral median quartile value. This is a value from your input data that is closest to the quartile value (non-interpolated).

Parameters

The GetColumnNumericMedIntValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s integral median quartile value.


GetColumnNumericQ3Value#

Syntax:

GetColumnNumericQ3Value();

Return Type:

double

This function returns the column’s third interpolated quartile value.

Parameters

The GetColumnNumericQ3Value function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s third interpolated quartile value.


GetColumnNumericQ3IntValue#

Syntax:

GetColumnNumericQ3IntValue();

Return Type:

double

This function returns the column’s third interpolated quartile value. This is a value from your input data that is closest to the quartile value (non-interpolated).

Parameters

The GetColumnNumericQ3IntValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s third integral quartile value.


GetColumnNumericStdDevValue#

Syntax:

GetColumnNumericStdDevValue();

Return Type:

double

This function returns the column’s population standard deviation value.

Parameters

The GetColumnNumericStdDevValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s population standard deviation value.


Column-Based Date/Time Statistics#

These statistics should only be retrieved after calling the ProfileData function. These values are all column-specific. Date/Time statistics are computed for all column types including non numeric-based ones (such as strings, date/times, etc.)

Quarterlies and Medians

A median value is the ‘middle’ value. That is, if one were to order a list of 100 values from lowest to highest (including duplicate values), the median value is the value of the 50th item. There are two quartile values: first and third. In the previous example, the first quartile would be the 25th value, and the third quartile would be the 75th value. In cases where the total number of records is not evenly divisible, the value closest to the quartile or median point is used.


GetColumnDateMaxValue#

Syntax:

GetColumnDateMaxValue();

Return Type:

string

This function returns a column’s largest Date/Time value.

Parameters

The GetColumnDateMaxValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s largest Date/Time value.


GetColumnDateMinValue#

Syntax:

GetColumnDateMinValue();

Return Type:

string

This function returns a column’s smallest Date/Time value.

Parameters

The GetColumnDateMinValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s smallest Date/Time value.


GetColumnDateAvgValue#

Syntax:

GetColumnDateAvgValue();

Return Type:

string

This function returns a column’s average Date/Time value. For date/time values, an average value is determined by averaging the Julian date and time (as a floating point number), and then taking the averaged result and converting it back to a date/time.

Parameters

The GetColumnDateAvgValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s average Date/Time value.


GetColumnDateQ1Value#

Syntax:

GetColumnDateQ1Value();

Return Type:

string

This function returns a column’s first quartile Date/Time value.

Parameters

The GetColumnDateQ1Value function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s first quartile Date/Time value.


GetColumnDateMedValue#

Syntax:

GetColumnDateMedValue();

Return Type:

string

This function returns a column’s median Date/Time value.

Parameters

The GetColumnDateMedValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s median Date/Time value.


GetColumnDateQ3Value#

Syntax:

GetColumnDateQ3Value();

Return Type:

string

This function returns a column’s third quartile Date/Time value.

Parameters

The GetColumnDateQ3Value function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s third quartile Date/Time value.


GetColumnTimeMaxValue#

Syntax:

GetColumnTimeMaxValue();

Return Type:

string

This function returns a column’s largest time value as sorted earliest to latest. This will not consider date for this calculation.

Parameters

The GetColumnTimeMaxValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s largest time value.


GetColumnTimeMinValue#

Syntax:

GetColumnTimeMinValue();

Return Type:

string

This function returns a column’s smallest time value. This will not consider date for this calculation.

Parameters

The GetColumnTimeMinValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s smallest time value.


GetColumnTimeAvgValue#

Syntax:

GetColumnTimeAvgValue();

Return Type:

string

This function returns a column’s average time value.

Parameters

The GetColumnTimeAvgValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s average time value.


GetColumnTimeQ1Value#

Syntax:

GetColumnTimeQ1Value();

Return Type:

string

This function returns a column’s first quartile time value.

Parameters

The GetColumnTimeQ1Value function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s first quartile time value.


GetColumnTimeMedValue#

Syntax:

GetColumnTimeMedValue();

Return Type:

string

This function returns a column’s median time value.

Parameters

The GetColumnTimeMedValue function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s median time value.


GetColumnTimeQ3Value#

Syntax:

GetColumnTimeQ3Value();

Return Type:

string

This function returns a column’s third quartile time value.

Parameters

The GetColumnTimeQ3Value function has one parameter:

ColumnName, a string value that is the Column Name to get the column’s third quartile time value.


GetColumnDateNoCenturyCount#

Syntax:

GetColumnDateNoCenturyCount();

Return Type:

string

This function returns a column’s number of records that contain no century indicator (i.e., a date formatted like 19-01-63 as opposed to a date with a century indicator like 19-01-1963.)

Parameters

The GetColumnDateNoCenturyCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records without century indicator.


Column-Based Name Statistics#

These statistics are only accumulated for the following data types.

  • DataTypeFullName

  • DataTypeInverseName

  • DataTypeNamePrefix

  • DataTypeFirstName

  • DataTypeMiddleName

  • DataTypeLastName

  • DataTypeSuffix

They should only be retrieved after calling ProfileData function.


GetColumnNameInconsistentOrderCount#

Syntax:

GetColumnNameInconsistentOrderCount();

Return Type:

int

This function returns a column’s number of records with name values that do not follow the data type you set for the column with the AddColumn function. (i.e., “Smith, John” for a column that you set a data type of DatatypeFullName.)

Parameters

The GetColumnNameInconsistentOrderCount function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records that do not follow your set data type.


GetColumnNameMultipleNameCount#

Syntax:

GetColumnNameMultipleNameCount();

Return Type:

int

This function returns a column’s number of records with multiple name values. (i.e., “John and Marry Smith”.)

Parameters

The GetColumnNameMultipleNameCount function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records with multiple name values.


GetColumnNameSuspiciousNameCount#

Syntax:

GetColumnNameSuspiciousNameCount();

Return Type:

int

This function returns a column’s number of records with suspicious name values. (i.e., “Mickey Mouse”.)

Parameters

The GetColumnNameSuspiciousNameCount function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records with suspicious name values.


Column-Based State/Province Statistics#

The statistics are only accumulated for the DataTypeStateOrProvince and DataTypeCityStateZip data types. See ProfilerDataType for details.

They should only be retrieved after calling the ProfileData function.


GetColumnStateCount#

Syntax:

GetColumnStateCount();

Return Type:

int

This function returns a column’s number of records that contain US States, both standardized and non-standardized.

Parameters

The GetColumnStateCount function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records of records containing US States.


GetColumnProvinceCount#

Syntax:

GetColumnProvinceCount();

Return Type:

int

This function returns a column’s number of records that contain Canadian Provinces, both standardized and non-standardized.

Parameters

The GetColumnProvinceCount function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records of records containing Canadian Provinces.


GetColumnStateProvinceNonStandardCount#

Syntax:

GetColumnStateProvinceNonStandardCount();

Return Type:

int

This function returns a column’s number of records that contain non-standardized US States or non-standardized Canadian Provinces.

Parameters

The GetColumnStateProvinceNonStandardCount function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records that contain non-standardized US States or non-standardized Canadian Provinces.


GetColumnStateProvinceInvalidCount#

Syntax:

GetColumnStateProvinceInvalidCount();

Return Type:

int

This function returns a column’s number of records that contain unrecognized US States or unrecognized Canadian Provinces.

Parameters

The GetColumnStateProvinceInvalidCount function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records that contain unrecognized US States or unrecognized Canadian Provinces.


GetColumnStateZipCodeMismatchCount#

Syntax:

GetColumnStateZipCodeMismatchCount();

Return Type:

int

This function returns a column’s number of records where there is a ZIP code that does not match the State. Only the 5-digit ZIP code is validated (not Plus 4.) This check is only to the state level, address and city information is not checked. Also, this statistic is only computed when both DataTypeStateOrProvince and DataTypeZipOrPostalCode are present or DataTypeCityStateZip is used. See ProfilerDataType for details.

Parameters

The GetColumnStateZipCodeMismatchCount function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records that contain mismatched values for ZIP code and State.


GetColumnProvincePostalCodeMismatchCount#

Syntax:

GetColumnProvincePostalCodeMismatchCount();

Return Type:

int

This function returns a column’s number of records where there is a Postal Code that does not match Province. This check is only to the province level, address and city information is not checked. Also, this statistic is only computed when both DataTypeStateOrProvince and DataTypeZipOrPostalCode are present or DataTypeCityStateZip is used. See ProfilerDataType for details.

Parameters

The GetColumnProvincePostalCodeMismatchCount function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records that contain mismatched values for Postal code and Province.


Column-Based Name Statistics#

The statistics are only accumulated for the DataTypeZipOrPostalCode and DataTypeCityStateZip data types. See ProfilerDataType for details. They should only be retrieved after calling ProfileData function.


GetColumnZipCodeCount#

Syntax:

GetColumnZipCodeCount();

Return Type:

int

This function returns a column’s number of records that contain US ZIP codes. This includes 5-digit ZIP and ZIP Plus 4 codes.

Parameters

The GetColumnZipCodeCount function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records that contain US Zip codes.


GetColumnPlus4Count#

Syntax:

GetColumnPlus4Count();

Return Type:

int

This function returns a column’s number of records with a full ZIP Plus 4 codes.

Parameters

The GetColumnPlus4Count function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records that contain full US ZIP Plus 4 codes.


GetColumnZipCodeInvalidCount#

Syntax:

GetColumnZipCodeInvalidCount();

Return Type:

int

This function returns a column’s number of records that contain invalid US ZIP codes. This is a check against known US ZIP codes, State is not taken into account for this check.

Parameters

The GetColumnZipCodeInvalidCount function has one parameter:

ColumnName, a string value that is the Column Name to get the number of records that contain invalid US Zip codes.


GetColumnPostalCodeCount#

Syntax:

GetColumnPostalCodeCount();

Return Type:

int

This function returns a column’s number of records that contain Canadian postal codes.

Parameters

The GetColumnPostalCodeCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records contains Canadian postal code.


GetColumnPostalCodeInvalidCount#

Syntax:

GetColumnPostalCodeInvalidCount();

Return Type:

int

This function returns a column’s number of records that contain invalid Canadian postal codes. This is a check against known Canadian postal codes, Province is not taken into account for this check.

Parameters

The GetColumnPostalCodeInvalidCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records that contain invalid Canadian postal codes.


GetColumnZipCodePostalCodeInvalidCount#

Syntax:

GetColumnZipCodePostalCodeInvalidCount();

Return Type:

int

This function returns a column’s number of records that contain neither US ZIP codes nor Canadian postal codes. The pattern doesn’t fit into either country’s postal code format.

Parameters

The GetColumnZipCodePostalCodeInvalidCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records that contain invalid ZIP/Postal codes.


GetColumnStateZipCodeMismatchCount#

Syntax:

GetColumnStateZipCodeMismatchCount();

Return Type:

int

This function returns a column’s number of records with a mismatch of US state and ZIP code.

Parameters

The GetColumnStateZipCodeMismatchCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records that contain mismatched US state and ZIP code.


GetColumnProvincePostalCodeMismatchCount#

Syntax:

GetColumnProvincePostalCodeMismatchCount();

Return Type:

int

This function returns a column’s number of records with a mismatch of Canadian province and postal code.

Parameters

The GetColumnProvincePostalCodeMismatchCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records that contain mismatched Canadian province and postal code.


Column-Based Country Statistics#

The statistics are only accumulated for the DataTypeCountry columns. See ProfilerDataType for details. They should only be retrieved after calling ProfileData function.


GetColumnCountryNonStandardCount#

Syntax:

GetColumnCountryNonStandardCount();

Return Type:

int

This function returns a column’s number of records that contain country names in a non-ISO standard.

Parameters

The GetColumnCountryNonStandardCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records that contain country names in a non-ISO standard.


GetColumnCountryInvalidCount#

Syntax:

GetColumnCountryInvalidCount();

Return Type:

int

This function returns a column’s number of records that contain non-recognized country names.

Parameters

The GetColumnCountryInvalidCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records that contain non-recognized country names.


Column-Based Email Statistics#

These statistics are only accumulated for DataTypeEmail columns. See ProfilerDataType for details. They should only be retrieved after calling ProfileData function.


GetColumnEmailSyntaxCount#

Syntax:

GetColumnEmailSyntaxCount();

Return Type:

int

This function returns a column’s number of records that contain emails with invalid syntax.

Parameters

The GetColumnEmailSyntaxCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records that contain emails with invalid syntax.


GetColumnEmailMobileDomainCount#

Syntax:

GetColumnEmailMobileDomainCount();

Return Type:

int

This function returns a column’s number of records that contain emails with mobile domains.

Parameters

The GetColumnEmailMobileDomainCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records that contain emails with mobile domains.


GetColumnEmailMisspelledDomainCount#

Syntax:

GetColumnEmailMisspelledDomainCount();

Return Type:

int

This function returns a column’s number of records that contain emails with misspelled domains. Misspellings are detected on minor typos on the top 100 most popular e-mail domain names.

Parameters

The GetColumnEmailMisspelledDomainCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records that contain emails with misspelled domains.


GetColumnEmailSpamtrapDomainCount#

Syntax:

GetColumnEmailSpamtrapDomainCount();

Return Type:

int

This function returns a column’s number of records that contain emails with spamtrap domains. Spamtraps are domains specifically set up to catch spammers. E-mailing to a spamtrap domain is likely to get the sender put onto e-mail blacklists.

Parameters

The GetColumnEmailSpamtrapDomainCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records that contain emails with spamtrap domains.


GetColumnEmailDisposableDomainCount#

Syntax:

GetColumnEmailDisposableDomainCount();

Return Type:

int

This function returns a column’s number of records that contain emails with disposable domains. Disposable domains are domains that let a user create an e-mail address on-the-fly, receive a specific e-mail, and then never use the address again. Users often use them when filling out web forms to avoid receiving spam from the web site.

Parameters

The GetColumnEmailDisposableDomainCount function has one parameter:

ColumnName, a string value that is the Column Name to get number of records that contain emails with disposable domains.


Column-Based Value Frequency Table Iteration#

These functions allow you to step through each distinct value for a specific column.


StartDataFrequency#

Syntax:

StartDataFrequency();

Return Type:

int

This function initiates the iterator. It returns 1 to indicate if there are records to iterate through. Otherwise it returns 0.

Parameters

The StartDataFrequency function has two parameters:

ColumnName, a string value that is the Column Name to start the iterator.

Order, an Order value that specifies how to order. See Order Enumerations for details.


GetDataFrequencyValue#

Syntax:

GetDataFrequencyValue();

Return Type:

string

This function returns a column’s distinct value.

Parameters

The GetDataFrequencyValue function has one parameter:

ColumnName, a string value that gets the column’s distinct value.


GetDataFrequencyCount#

Syntax:

GetDataFrequencyCount();

Return Type:

int

This function returns the number of times the value appeared in the profiled data for this particular column.

Parameters

The GetDataFrequencyCount function has one parameter:

ColumnName, a string value that get the number of times the value appeared in the profiled data.


GetNextDataFrequency#

Syntax:

GetNextDataFrequency();

Return Type:

int

This function steps to the next distinct value. It returns 1 if there are more distinct values and 0 when there are no more values.

Parameters

The GetNextDataFrequency function has one parameter:

ColumnName, a string value that get the next distinct value.


Column-Based Value Length Frequency Table Iteration#

These functions allow you to step through each distinct value length for a specific column.


StartLengthFrequency#

Syntax:

StartLengthFrequency();

Return Type:

int

This function initiates the iterator. It returns 1 to indicate if there are records to iterate through. Otherwise it returns 0.

Parameters

The StartLengthFrequency function has two parameters:

ColumnName, a string value that is the Column Name to start the iterator.

Order, an Order value that specifies how to order. See Order Enumerations for details.


GetLengthFrequencyValue#

Syntax:

GetLengthFrequencyValue();

Return Type:

int

This function returns a column’s distinct length.

Parameters

The GetLengthFrequencyValue function has one parameter:

ColumnName, a string value that is the Column Name to to get the column’s distinct length.


GetLengthFrequencyCount#

Syntax:

GetLengthFrequencyCount();

Return Type:

int

This function returns the number of times the length appears in the profiled data for this particular column.

Parameters

The GetLengthFrequencyCount function has one parameter:

ColumnName, a string value that is the Column Name to to get the number of times the length appears in the profiled data.


GetNextLengthFrequency#

Syntax:

GetNextLengthFrequency();

Return Type:

int

This function steps to the next distinct length. It returns 1 if there are more distinct lengths or 0 when there are no more lengths.

Parameters

The GetNextLengthFrequency function has one parameter:

ColumnName, a string value that is the Column Name to to get the next distinct length.


Column-Based Value Pattern Frequency Table Iteration#

These functions allow you to step through each distinct value pettern for a specific column.


StartPatternFrequency#

Syntax:

StartPatternFrequency();

Return Type:

int

This function initiates the iterator. It returns 1 to indicate if there are records to iterate through. Otherwise it returns 0.

Parameters

The StartPatternFrequency function has two parameters:

ColumnName, a string value that is the Column Name to start the iterator.

Order, an Order value that specifies how to order. See Order Enumerations for details.


GetPatternFrequencyValue#

Syntax:

GetPatternFrequencyValue();

Return Type:

string

This function returns a column’s distinct pattern.

Parameters

The GetPatternFrequencyValue function has one parameter:

ColumnName, a string value that is the Column Name to to get the column’s distinct pattern.


GetPatternFrequencyRegEx#

Syntax:

GetPatternFrequencyRegEx();

Return Type:

string

This function returns a regular expression for a distinct pattern. The regular expressions are ‘tuned’ for your specified data type. Where appropriate, letters or numbers may be lumped together using the ‘one or more’ quantifier.

Parameters

The GetPatternFrequencyRegEx function has two parameters:

ColumnName, a string value that is the Column Name to get a regular expression for a distinct pattern.


GetPatternFrequencyExample#

Syntax:

GetPatternFrequencyExample();

Return Type:

string

This function returns an example value represented by the pattern. This will always be the first value encountered while profiling.

Parameters

The GetPatternFrequencyExample function has two parameters:

ColumnName, a string value that is the Column Name to get an example value represented by the pattern.


GetPatternFrequencyCount#

Syntax:

GetPatternFrequencyCount();

Return Type:

int

This function returns the number of times the pattern appears in the profiled data for this particular column.

Parameters

The GetPatternFrequencyCount function has one parameter:

ColumnName, a string value that is the Column Name to to get the number of times the pattern appears in the profiled data.


GetNextPatternFrequency#

Syntax:

GetNextPatternFrequency();

Return Type:

int

This function steps to the next distinct pattern. It returns 1 if there are more distinct patterns or 0 when there are no more patterns.

Parameters

The GetNextPatternFrequency function has one parameter:

ColumnName, a string value that is the Column Name to to get the next distinct pattern.


Column-Based Value Date/Time Frequency Table Iteration#

These functions allow you to step through each distinct value date/time for a specific column. Date values are gathered for all column types, not just date/time data types.


StartDateFrequency#

Syntax:

StartDateFrequency();

Return Type:

int

This function initiates the iterator. It returns 1 to indicate if there are records to iterate through. Otherwise it returns 0.

Parameters

The StartDateFrequency function has three parameters:

ColumnName, a string value that is the Column Name to start the iterator.

Order, an Order value that specifies how to order. See Order Enumerations for details.

DateSpan, a DateSpan value that is the resolution to be used when stepping through each value (e.g., date, month, year, etc).


GetDateFrequencyValue#

Syntax:

GetDateFrequencyValue();

Return Type:

string

This function returns a column’s distinct value.

Parameters

The GetDateFrequencyValue function has one parameter:

ColumnName, a string value that is the Column Name to to get the column’s distinct value.


GetDateFrequencyCount#

Syntax:

GetDateFrequencyCount();

Return Type:

int

This function returns the number of times the value appears in the profiled data for this particular column.

Parameters

The GetDateFrequencyCount function has one parameter:

ColumnName, a string value that is the Column Name to to get the number of times the value appears in the profiled data.


GetNextDateFrequency#

Syntax:

GetNextDateFrequency();

Return Type:

int

This function steps to the next distinct value. It returns 1 if there are more distinct values or 0 when there are no more values.

Parameters

The GetNextDateFrequency function has one parameter:

ColumnName, a string value that is the Column Name to to get the next distinct value.


Column-Based Value SoundEx Frequency Table Iteration#

These functions allow you to step through each distinct SoundEx pattern for a specific column.


StartSoundExFrequency#

Syntax:

StartSoundExFrequency();

Return Type:

int

This function initiates the iterator. It returns 1 to indicate if there are records to iterate through. Otherwise it returns 0.

Parameters

The StartSoundExFrequency function has two parameters:

ColumnName, a string value that is the Column Name to start the iterator.

Order, an Order value that specifies how to order. See Order Enumerations for details.


GetSoundExFrequencyValue#

Syntax:

GetSoundExFrequencyValue();

Return Type:

string

This function returns a column’s distinct SoundEx pattern.

Parameters

The GetSoundExFrequencyValue function has one parameter:

ColumnName, a string value that is the Column Name to to get the column’s distinct SoundEx pattern.


GetSoundExFrequencyExample#

Syntax:

GetSoundExFrequencyExample();

Return Type:

string

This function returns an example value represented by the pattern. This will always be the first value encountered while profiling.

Parameters

The GetSoundExFrequencyExample function has one parameter:

ColumnName, a string value that is the Column Name to to get an example value represented by the pattern.


GetSoundExFrequencyCount#

Syntax:

GetSoundExFrequencyCount();

Return Type:

int

This function returns the number of times the pattern appears in the profiled data for this particular column.

Parameters

The GetSoundExFrequencyCount function has one parameter:

ColumnName, a string value that is the Column Name to to get the number of times the pattern appears in the profiled data.


GetNextSoundExFrequency#

Syntax:

GetNextSoundExFrequency();

Return Type:

int

This function steps to the next distinct pattern. It returns 1 if there are more distinct patterns or 0 when there are no more patterns.

Parameters

The GetNextSoundExFrequency function has one parameter:

ColumnName, a string value that is the Column Name to to get the next distinct pattern.


Column-Based Value Word Frequency Table Iteration#

These functions allow you to step through each distinct word for a specific column.


StartWordFrequency#

Syntax:

StartWordFrequency();

Return Type:

int

This function initiates the iterator. It returns 1 to indicate if there are records to iterate through. Otherwise it returns 0.

Parameters

The StartWordFrequency function has two parameters:

ColumnName, a string value that is the Column Name to start the iterator.

Order, an Order value that specifies how to order. See Order Enumerations for details.


GetWordFrequencyValue#

Syntax:

GetWordFrequencyValue();

Return Type:

string

This function returns a column’s distinct word.

Parameters

The GetWordFrequencyValue function has one parameter:

ColumnName, a string value that is the Column Name to to get the column’s distinct word.


GetWordFrequencyCount#

Syntax:

GetWordFrequencyCount();

Return Type:

int

This function returns the number of times the word appears in the profiled data for this particular column. Multiple occurrences of the same word in a single record will all be counted.

Parameters

The GetWordFrequencyCount function has one parameter:

ColumnName, a string value that is the Column Name to to get the number of times the word appears in the profiled data.


GetNextWordFrequency#

Syntax:

GetNextWordFrequency();

Return Type:

int

This function steps to the next distinct word. It returns 1 if there are more distinct words or 0 when there are no more words.

Parameters

The GetNextWordFrequency function has one parameter:

ColumnName, a string value that is the Column Name to to get the next distinct word.


Column-Based Value Word Length Frequency Table Iteration#

These functions allow you to step through each distinct word length for a specific column.


StartWordLengthFrequency#

Syntax:

StartWordLengthFrequency();

Return Type:

int

This function initiates the iterator. It returns 1 to indicate if there are records to iterate through. Otherwise it returns 0.

Parameters

The StartWordLengthFrequency function has two parameters:

ColumnName, a string value that is the Column Name to start the iterator.

Order, an Order value that specifies how to order. See Order Enumerations for details.


GetWordLengthFrequencyValue#

Syntax:

GetWordLengthFrequencyValue();

Return Type:

string

This function returns a column’s distinct word length.

Parameters

The GetWordLengthFrequencyValue function has one parameter:

ColumnName, a string value that is the Column Name to to get the column’s distinct word length.


GetWordLengthFrequencyCount#

Syntax:

GetWordLengthFrequencyCount();

Return Type:

int

This function returns the number of times the word appears in the profiled data for this particular column.

Parameters

The GetWordLengthFrequencyCount function has one parameter:

ColumnName, a string value that is the Column Name to to get the number of times the word length appears in the profiled data.


GetNextWordLengthFrequency#

Syntax:

GetNextWordLengthFrequency();

Return Type:

int

This function steps to the next distinct word length. It returns 1 if there are more distinct word lengths or 0 when there are no more word lengthss.

Parameters

The GetNextWordLengthFrequency function has one parameter:

ColumnName, a string value that is the Column Name to to get the next distinct word length.

Result Codes#

For details of all result codes please visit here

QS - Profiler Status#

Code

Short Description

Long Description

QS01

Empty Value

The value is empty or contains only spaces.

QS02

NULL Value

The value is NULL.

QS03

Default Value

The value is equal to the user-specified default.

QS04

Non-Printing Characters

The value contains non-printing characters (e.g. printer control characters, etc.)

QS05

Diacritic Characters

The value contains diacritic characters (e.g. accented characters.)

QS06

Non-English Characters

The value contains non-English characters.

QS07

Decorative Characters

The value contains decorative characters. Decorative characters are tabs, commas, or double quotes, found in the beginning or ending of the value. This may indicate an import issue where delimiters made their way into the value being evaluated.

QS08

Alphabetic Characters

The value contains only alphabetic characters.

QS09

Numeric Characters

The value contains only numeric characters.

QS10

Alphabetic and Numeric Characters

The value contains both alphabetic and numeric characters.

QS11

Upper-Case Alphabetic Characters

The value contains only upper-case alphabetic characters, and may contain non-alphabetic characters.

QS12

Lower-Case Alphabetic Characters

The value contains only lower-case alphabetic characters, and may contain non-alphabetic characters.

QS13

Upper and Lower Alphabetic Characters

The value contains both upper and lower-case alphabetic characters, and may contain non-alphabetic characters.

QS14

Single Space

Only a single space separates the words in value.

QS15

Multiple Spaces

Multiple spaces separate the words in value.

QS16

Leading Spaces

The value contains leading spaces.

QS17

Trailing Spaces

The value contains trailing spaces.

QS18

Profanity

The value contains profanity.

QS19

2-digit Year

The date/time value lacks the year’s century.

QS20

Inconsistent Name

The name value contains a name where the order is inconsistent with the user-specified data type.

QS21

Multiple Names

The name value contains more than one contact name.

QS22

Suspicious Name

The name value contains a suspicious name.

QS30

Non-Standard State/Province

The State/Province value contains a non-standard US state or Canadian province (i.e. not the official postal abbreviation).

QS40

5-digit ZIP/Postal Code

The ZIP/Postal Code value has a 5-digit Zip Code with no Plus 4.

QS50

Unrecognized Country ISO

The country value does not match any standard ISO country representation.

QS60

Mobile Domain

The e-mail value contains a mobile (cell phone) domain.

QS61

Spam Trap Domain

The e-mail value contains a known spam trap domain.

QS62

Disposable Domain

The e-mail value contains a known ‘disposable’ domain.

QS90

Embedded Row Delimiter

The record contained an embedded row delimiter.

QS91

Missing Fields

Not all fields were present in the record.

QS92

Extra Fields

Extra fields were present in the record.

QE - Profiler Error#

Code

Short Description

Long Description

QE01

Illegal UTF-8 Byte Sequence

The value contains an illegal UTF-8 byte sequence.

QE03

Invalid Integer

The value’s integer value is invalid.

QE04

Invalid Decimal

The value’s decimal value is invalid.

QE05

Invalid Floating Point

The value’s floating point value is invalid.

QE06

Invalid Date/Time

The value’s date/time value is invalid.

QE07

Invalid Boolean Value

The value’s boolean value is invalid.

QE08

Over Range

The value is above the user-specified range.

QE09

Under Range

The value is below the user-specified range.

QE10

Length Size Exceeded

The value’s length exceeds the user-specified size.

QE11

Precision Exceeded

The value’s precision exceeds the user-specified precision.

QE12

Precision Scale Exceeded

The value’s precision exceeds the user-specified scale.

QE13

No Regular Expression Match

The value does not match any of the user-specified regular expressions.

QE14

Data Type Mismatch

The value is inconsistent with the user-specified DataType (e.g. an address field containing a phone number.)

QE30

Unrecognized State/Province

The value contains an unrecognized state or province.

QE40

Invalid ZIP Code

The value contains a US ZIP code that is not valid (only the 5 digit zip is validated in this way.) This is returned only when getting the results for a column with a data type set as DataTypeZipOrPostalCode.

QE41

Invalid Postal Code

The value contains a Canadian Postal Code that is not valid. This is returned only when getting the results for a column with a data type set as DataTypeZipOrPostalCode.

QE42

ZIP Code Mismatch

The value’s Zip Code does not correctly correspond to the specified US State. This is returned only when getting the results for a column with a data type set as DataTypeStateOrProvince.

QE43

Postal Code Mismatch

The value’s Postal Code does not correctly correspond to the specified Canadian Province. This is returned only when getting the results for a column with a data type set as DataTypeStateOrProvince.

QE50

Unrecognized Country

The value contains an unrecognized country name.

QE60

Incorrect E-mail Syntax

The value contains an e-mail address with an incorrect syntax.

QE61

Misspelled Domain

The value contains an e-mail with a misspelled domain.

QE70

Unrecognizable Phone

The value contains an unrecognizable phone number.

QE90

Unbalanced Text Qualifiers

The record contained unbalancd text qualifiers.

QE91

Un-escaped Text Qualifiers

The record contained un-escaped text qualifiers.