Importing Data to Datatable from CSV File: Difference between revisions

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search
No edit summary
Line 16: Line 16:
* '''Skip errors''': Allows to continue the import when encountering errors and import ''null'' values in place of cells where the conversion could not be made. If error skipping is not in use, the import will stop to the first encountered error. The data conversions are checked before importing actual data to the datatables, so data conversion errors will not lead to partially done imported. When skipping errors, there is a summary of all the encountered errors during the import when the import is completed.
* '''Skip errors''': Allows to continue the import when encountering errors and import ''null'' values in place of cells where the conversion could not be made. If error skipping is not in use, the import will stop to the first encountered error. The data conversions are checked before importing actual data to the datatables, so data conversion errors will not lead to partially done imported. When skipping errors, there is a summary of all the encountered errors during the import when the import is completed.
* '''Character encoding''': Character encoding used by the CSV file. Most text files use UTF-8 encoding which is the default. If some of the characters in the CSV file look incorrect in the table preview, try to change other character encoding to find the correct one. Note that there is no automatic detection of the character encoding. Note also that changing the character encoding will reset all column specific settings
* '''Character encoding''': Character encoding used by the CSV file. Most text files use UTF-8 encoding which is the default. If some of the characters in the CSV file look incorrect in the table preview, try to change other character encoding to find the correct one. Note that there is no automatic detection of the character encoding. Note also that changing the character encoding will reset all column specific settings
== Column Settings ==
There is a settings section for each column in the CSV file, defining how the data is treated in the import. The title of the column shows the column name in the CSV file.
The following options are possible:
* '''Import data to a new column in the datatable''': Write a column name that doesn't exist in the datatable. When the import is started, the needed new columns are automatically created to the datatable. When importing to a new column, the data type for the new column can be chosen freely.
* '''Import data to an existing column in the datatable''': Choose an existing column in the datatable from the dropdown list. For existing columns, the data type of the column is visible and it cannot be changed, so only that type of data can be imported to the column.
* '''Not to import the data in the column''': When choosing ''<do not import>'', the column is ignored in the import.


== Data types ==
== Data types ==

Revision as of 14:10, 21 June 2021

Data can be imported to datatables from CSV files using the Workspace screen. Import is done as follows:

  1. On the left side projects hierarchy, select the project where the target datatable is located.
  2. Open the Datatables tab.
  3. Select the datatable where to import data.
  4. Click the Import button.
  5. Select the CSV file to be imported, adjust data type and conversion settings if needed, and click Start import.

When a CSV file is selected, the import tries to interpret the contents of the file and find the suitable data types and other conversion parameters for each column. In some special cases, the automatic data type detection does not work, and then the settings need to be set manually.

The import process can be cancelled. In that case data imported thus far is stored to the datatable.

Import Settings

The data import dialog has the following settings:

  • Select CSV file: Button to select the CSV file. You can use this button to change the CSV file if you want to change the file.
  • Column separator: Column separator character used by the CSV file. The column separator is automatically detected when the file is selected. In some cases, the automatic detection does not find the correct column separator, and this selection allows to change the column separator. If you want to use space as a column separator, select <space>, or if you want to use tabulator, select <tab>. Note that when changing the column separator, all column specific settings in the table are reset.
  • Skip errors: Allows to continue the import when encountering errors and import null values in place of cells where the conversion could not be made. If error skipping is not in use, the import will stop to the first encountered error. The data conversions are checked before importing actual data to the datatables, so data conversion errors will not lead to partially done imported. When skipping errors, there is a summary of all the encountered errors during the import when the import is completed.
  • Character encoding: Character encoding used by the CSV file. Most text files use UTF-8 encoding which is the default. If some of the characters in the CSV file look incorrect in the table preview, try to change other character encoding to find the correct one. Note that there is no automatic detection of the character encoding. Note also that changing the character encoding will reset all column specific settings

Column Settings

There is a settings section for each column in the CSV file, defining how the data is treated in the import. The title of the column shows the column name in the CSV file.

The following options are possible:

  • Import data to a new column in the datatable: Write a column name that doesn't exist in the datatable. When the import is started, the needed new columns are automatically created to the datatable. When importing to a new column, the data type for the new column can be chosen freely.
  • Import data to an existing column in the datatable: Choose an existing column in the datatable from the dropdown list. For existing columns, the data type of the column is visible and it cannot be changed, so only that type of data can be imported to the column.
  • Not to import the data in the column: When choosing <do not import>, the column is ignored in the import.

Data types

It's very important to set the most suitable data types for each column, as it greatly affects the usage of the data in the analyses. Incorrect data type usually make the analysis impossible. The following data types are available:

Data type Use Settings
String Data type for textual data. Also suitable for distinct classification values that are not numerical, e.g. "low", "medium", "high". The length of the string is unlimited, but in practice it's more efficient to use shorter strings (e.g. maximum of 100 characters) for process mining purposes. The string data type make a distinction between empty string and null value. The CSV file import does not import any empty strings, as empty data is imported as nulls.
  • Null value: Text that is imported as null.
Integer Data type for whole numbers, i.e. numbers that don't need decimals. Integers are also suitable for storing distinct values that can be ordered (e.g. 1=low, 2=medium, 3=high), which makes it easier to visualize data in a logical way. Integers have a advantage over decimal numbers: it's possible to make equality comparisons for integers. Converted text can contain thousand separators, which are automatically detected.
  • Unit: If there is a (textual) unit in the CSV file, it needs to be written here, so that the textual part can be omitted and the data can be interpreted as numerical.
  • Null value: Text that is imported as null.
Decimal number Data type that stores numerical data with decimals. It's not possible to make equality comparisons for decimal numbers (i.e. equals than, not equals than, less or equal than, greater or equal than). Only more than and less than comparison can be made for example when filtering data. Converted text can contain thousand separators, which are automatically detected.
  • Unit: If there is a (textual) unit in the CSV file, it needs to be written here, so that the textual part can be omitted and the data can be interpreted as numerical.
  • Null value: Text that is imported as null.
Date Data type stores a precise timestamp, which is an essential data type for process mining. This data type can also be used to store less fine graining time units, such as days, weeks, months or years. In that case the stored timestamp is the point of time in the beginning of the day, week etc.
  • Date format: Describes how the data is interpreted as date.
Boolean Data type that contains only two values, true and false. The null' value is also available (like in other data types) which in practise is the third possible value for boolean type of data. If no more values are needed, boolean is the most efficient data type to use. Note that in dashboards, the true and false values can be translated into user understandable texts, such as "yes" and "no".
  • True value: Text that is imported as true value.
  • False value: Text that is imported as false value.
  • Null value: Text that is imported as null.
Duration Data type that contains a time duration (e.g. 5 hours, 14 days, 3 seconds, etc.). Corresponding expression language data type is Timespan. Duration is quite close to decimal number, except its benefit is that it also contains the duration unit (thus it doesn't need to be agreed separately). Duration type of data is also very easy to show in any other duration unit with a simple selection in the dashboard. Note that the duration data type does not store information when the duration started or ended, but only the duration itself.
  • Time unit: Time unit that the number represents.
  • Unit: If there is a (textual) unit in the CSV file, it needs to be written here, so that the textual part can be omitted and the data can be interpreted as numerical.
  • Null value: Text that is imported as null.

Date Formats

The date format defines how a text is interpreted and converted to a date. There are different parts that can be used in the date format, listed below. In addition, date format can contain any other characters which need to exists as such in the same position in the text to be converted into date. If the timezone offset is provided, dates are imported as UTC.

  • yyyy: year as four digits
  • yy: year as two digits (the last digits of the year)
  • MM: month as two digits (e.g. 01, 02, ... 10, 11, 12)
  • M: month as one or two digits (e.g. 1, 2, ... 10, 11, 12)
  • dd: day as two digits (e.g. 01, 02, ...)
  • d: day as one or two digits (e.g. 1, 2, ... 10, 11, 12, ...)
  • HH: hours as two digits based on 24-hour clock (e.g. 00, 01, 02, ... 23)
  • H: hours as one or two digits based on 24-hour clock (e.g. 1, 2, ... 23)
  • hh: same as HH, except for 12-hour clock
  • h: same as H, except for 12-hour clock
  • mm: similar as HH except for minutes
  • m: similar as H except for minutes
  • ss: similar as HH except for seconds
  • s: similar as H except for seconds
  • fff: 1/1000th of second as three digits (e.g. 000, 001, 002, ... 999)
  • ff: 1/100th of second as two digits (e.g. 00, 01, 02, ... 99)
  • f: 1/10th of second as one digit (e.g. 0, 1, 2, ... 9)
  • aa: either "AM" or "PM" indicating before or after midday (needed when h/hh is used)
  • a: either "A" or "P" indicating before or after midday (needed when h/hh is used)
  • tt: same as "aa"
  • t: same as "a"
  • zzz: Timezone offset as hours and minutes in format (+/-)<hours>:<minutes> (e.g. -23:00, -07:00, +00:00, +00:30, +02:00, +23:00)
  • zz: Timezone offset hours as two digits preceded by plus/minus (e.g. -23, ..., -01, +00, +01, ... +23)
  • z: Timezone offset hours as one or two digits preceded by plus/minus (e.g. -23, ..., -1, +0, +1, ... +23)

Supported CSV Formats