Capabilities / Connected data

Import a CSV as queryable data

Upload a CSV, review column types, follow validation, and use the published connection in a report.

X4 Tech SolutionsUpdated September 10, 20265 min read

Import a CSV to create a queryable data connection for your report. Unity reads the file, lets you review column types, validates the data, and publishes a dataset that the assistant and SQL tools can query.

Use Upload File in the report toolbar for this workflow. To give the assistant a template, workbook, or supporting document, use Attach reference files in chat instead.

Import your first CSV

  1. Open a report with editing access.
  2. Click Upload File in the report toolbar.
  3. Drop a non-empty .csv file into the dialog or choose it from your computer.
  4. Keep the dialog open while the browser uploads the file.
  5. Review the preview. Use Import as to correct each column's type.
  6. Start the import and wait for Connection ready.
  7. Select the resulting connection, review its model, and ask the assistant to analyze it.
Example prompt
Inspect the imported dataset and its column types. Summarize its date
coverage, row grain, and any fields that need clarification. Then build
an HTML page with summary metrics and a searchable detail table.

Importing a file does not establish what its business measures mean. Review identifiers, date interpretation, and reusable calculations before relying on an analysis.

File requirements

PropertySupported value
File typeCSV. Convert other tabular formats to CSV for this importer.
File sizeUp to 256 MB in the upload UI.
RowsUp to 250,000 data rows.
ColumnsFrom 1 to 200.
HeadersNon-empty names, at most 255 characters each, unique after normalization.
DataAt least one data row; every row must have the expected number of values.

The reader handles UTF-8, BOM-marked UTF-16, and a Windows-1252 fallback, and detects common CSV delimiter conventions. A malformed row, unsupported value, or exceeded limit produces an error; the importer does not quietly publish a partial dataset as complete.

Review column types

The preview shows original column names, the normalized names used by the model, sample values, and the proposed type. Search with Find a column when the file has many fields.

Import typeUse for
TextNames, codes, postal codes, identifiers with leading zeros, or values whose exact text must be preserved.
Whole numberIntegers within the supported 64-bit range.
DecimalExact decimal values within the supported 38-digit precision.
True / falseBoolean values such as true/false, yes/no, or 1/0.
Date · ISODates written as YYYY-MM-DD.
Date / time · ISOISO date and time values.
Date · US / Date · EUExplicit MM/DD/YYYY or DD/MM/YYYY interpretation.
Date / time · US / EUDate and time with the corresponding month/day ordering.

For example, 03/04/2026 is ambiguous until you choose a date convention. An account code such as 00123 should generally stay Text.

Suggested types come from a preview. The import validates all rows afterward, so a value beyond the preview can still fail conversion. Correct the reported row or choose a compatible type and retry.

Follow import progress

State shown in the workflowWhat to do
Browser uploadingKeep the dialog open. Closing it interrupts the transfer.
Reading your fileWait for the preview; server processing can continue with the dialog closed.
File uploaded / type reviewOpen the review and confirm the column types.
Preparing your connectionWait for validation and publication. The status can show rows validated.
Connection readyUse the new connection for analysis.
Check your uploadRead the specific error and restart or correct the file.

A report status message lets you reopen an unfinished import. Cancel import stops an unfinished import; once it is ready, manage the resulting connection through the data controls.

Query the imported data

The published dataset is stored separately from chat attachments and queried by Unity's file connector using DuckDB. It participates in report connection and model workflows. Use its actual model entity and field names in SQL.

The imported dataset is a snapshot of the uploaded file. There is no automatic synchronization with the file on your computer. A subsequent import creates new imported data; existing visuals retain the connection they were saved against.

Troubleshoot an import

ErrorResolution
Duplicate normalized column namesRename conflicting headers in the source file.
Wrong number of values in a rowCorrect delimiters, quoting, or the malformed row.
Value cannot be convertedChange the column type or correct the reported value.
Numeric precision exceeds the limitChoose Text when preserving the exact original value matters.
Upload stoppedSelect the file again and keep the dialog open during transfer.
Size, row, or column limit exceededReduce or split the source before importing.

See Semantic models to define calculations and HTML visuals and data to use the result in a live report page.

Questions about your environment? Contact us.