Delimited csv file creation using Export step

Hi,

We are using Experian Aperture Data Studio version 2.14.14.40 and have changed the settings to accept csv delimiter to pipe (|) But there is a requirement to delimit csv files based on runtime configurations.

Is there a way to define the delimiter in the export step while writing datasets as csv likely from a parameter?

Answers

  • Josh Boxer
    Josh Boxer Administrator

    https://docs.experianaperture.io/data-quality/hosted-aperture-data-studio/data-studio-objects/workflows/#export_customsettingsforcsvfiles~workflow-steps

    You can specify a delimiter and filename extension for CSV files (created in an Export step or downloaded from a grid of data). Navigate to the installation folder (by default C:\Program Files\Experian\Aperture Data Studio {version}) and open the server.properties file. On a new line in the file, add the setting you want to modify:
    Data.csvDelimeter=PIPE

  • Josh Boxer
    Josh Boxer Administrator

    Other option:

  • Henry Simms
    Henry Simms Administrator

    My understanding of the question is that you want to be able (in a workflow) to define at runtime the delimiter to be used in the file export based on a parameter. If so, I don't think this is possible in a single Export step.

    What I would do instead is have some logic in the workflow that fired a different Custom Event depending on the delimiter needed. Something like:

     

    • The "Split based on delimiter" detects the value of a "delimiter" parameter (eg "pipe" or "comma") and thus triggers the appropriate Event
    • Each Custom Event triggers a workflow with a different Export step config (exporting the MySourceData) via a different secondary workflow execution.
    • The "fire only if input has rows" would mean only one of the Export workflow gets run (only one of the events is triggered)
    • To handle more than two delimiters, multiple Split steps and Events could be used.
    • The new Workflow Parameters Allowed values feature would mean you could only allow certain values to be supplied to the "delimiter" parameter.