Skip to content
v2.275.0

DataPrepConfigurationProperty Struct ​

Configuration for data preparation operations, defining the complete pipeline from source tables through transformations to destination tables.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_quicksight as quicksight } from 'aws-cdk-lib';
const dataPrepConfigurationProperty: quicksight.CfnDataSet.DataPrepConfigurationProperty = {
  destinationTableMap: {
    destinationTableMapKey: {
      alias: 'alias',
      source: {
        transformOperationId: 'transformOperationId',
      },
    },
  },
  sourceTableMap: {
    sourceTableMapKey: {
      dataSet: {
        dataSetArn: 'dataSetArn',
        inputColumns: [{
          name: 'name',
          type: 'type',

          // the properties below are optional
          id: 'id',
          subType: 'subType',
        }],
      },
      physicalTableId: 'physicalTableId',
    },
  },
  transformStepMap: {
    transformStepMapKey: {
      aggregateStep: {
        aggregations: [{
          aggregationFunction: {
            listAggregation: {
              distinct: false,
              separator: 'separator',

              // the properties below are optional
              inputColumnName: 'inputColumnName',
            },
            percentileAggregation: {
              percentileValue: 123,

              // the properties below are optional
              inputColumnName: 'inputColumnName',
            },
            simpleAggregation: {
              functionType: 'functionType',

              // the properties below are optional
              inputColumnName: 'inputColumnName',
            },
          },
          newColumnId: 'newColumnId',
          newColumnName: 'newColumnName',
        }],
        alias: 'alias',
        source: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },

        // the properties below are optional
        groupByColumnNames: ['groupByColumnNames'],
      },
      appendStep: {
        alias: 'alias',
        appendedColumns: [{
          columnName: 'columnName',
          newColumnId: 'newColumnId',
        }],

        // the properties below are optional
        firstSource: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
        secondSource: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
      },
      castColumnTypesStep: {
        alias: 'alias',
        castColumnTypeOperations: [{
          columnName: 'columnName',
          newColumnType: 'newColumnType',

          // the properties below are optional
          format: 'format',
          subType: 'subType',
        }],
        source: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
      },
      createColumnsStep: {
        columns: [{
          columnId: 'columnId',
          columnName: 'columnName',
          expression: 'expression',
        }],

        // the properties below are optional
        alias: 'alias',
        source: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
      },
      filtersStep: {
        alias: 'alias',
        filterOperations: [{
          conditionExpression: 'conditionExpression',
          dateFilterCondition: {
            columnName: 'columnName',
            comparisonFilterCondition: {
              operator: 'operator',

              // the properties below are optional
              value: {
                staticValue: 'staticValue',
              },
            },
            rangeFilterCondition: {
              includeMaximum: false,
              includeMinimum: false,
              rangeMaximum: {
                staticValue: 'staticValue',
              },
              rangeMinimum: {
                staticValue: 'staticValue',
              },
            },
          },
          numericFilterCondition: {
            columnName: 'columnName',
            comparisonFilterCondition: {
              operator: 'operator',

              // the properties below are optional
              value: {
                staticValue: 123,
              },
            },
            rangeFilterCondition: {
              includeMaximum: false,
              includeMinimum: false,
              rangeMaximum: {
                staticValue: 123,
              },
              rangeMinimum: {
                staticValue: 123,
              },
            },
          },
          stringFilterCondition: {
            columnName: 'columnName',
            comparisonFilterCondition: {
              operator: 'operator',

              // the properties below are optional
              value: {
                staticValue: 'staticValue',
              },
            },
            listFilterCondition: {
              operator: 'operator',

              // the properties below are optional
              values: {
                staticValues: ['staticValues'],
              },
            },
          },
        }],
        source: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
      },
      importTableStep: {
        alias: 'alias',
        source: {
          sourceTableId: 'sourceTableId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
      },
      joinStep: {
        alias: 'alias',
        leftOperand: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
        onClause: 'onClause',
        rightOperand: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
        type: 'type',

        // the properties below are optional
        leftOperandProperties: {
          outputColumnNameOverrides: [{
            outputColumnName: 'outputColumnName',

            // the properties below are optional
            sourceColumnName: 'sourceColumnName',
          }],
        },
        rightOperandProperties: {
          outputColumnNameOverrides: [{
            outputColumnName: 'outputColumnName',

            // the properties below are optional
            sourceColumnName: 'sourceColumnName',
          }],
        },
      },
      pivotStep: {
        alias: 'alias',
        pivotConfiguration: {
          pivotedLabels: [{
            labelName: 'labelName',
            newColumnId: 'newColumnId',
            newColumnName: 'newColumnName',
          }],

          // the properties below are optional
          labelColumnName: 'labelColumnName',
        },
        source: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
        valueColumnConfiguration: {
          aggregationFunction: {
            listAggregation: {
              distinct: false,
              separator: 'separator',

              // the properties below are optional
              inputColumnName: 'inputColumnName',
            },
            percentileAggregation: {
              percentileValue: 123,

              // the properties below are optional
              inputColumnName: 'inputColumnName',
            },
            simpleAggregation: {
              functionType: 'functionType',

              // the properties below are optional
              inputColumnName: 'inputColumnName',
            },
          },
        },

        // the properties below are optional
        groupByColumnNames: ['groupByColumnNames'],
      },
      projectStep: {
        alias: 'alias',
        projectedColumns: ['projectedColumns'],
        source: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
      },
      renameColumnsStep: {
        alias: 'alias',
        renameColumnOperations: [{
          columnName: 'columnName',
          newColumnName: 'newColumnName',
        }],
        source: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
      },
      unpivotStep: {
        alias: 'alias',
        columnsToUnpivot: [{
          columnName: 'columnName',
          newValue: 'newValue',
        }],
        source: {
          transformOperationId: 'transformOperationId',

          // the properties below are optional
          columnIdMappings: [{
            sourceColumnId: 'sourceColumnId',
            targetColumnId: 'targetColumnId',
          }],
        },
        unpivotedLabelColumnId: 'unpivotedLabelColumnId',
        unpivotedLabelColumnName: 'unpivotedLabelColumnName',
        unpivotedValueColumnId: 'unpivotedValueColumnId',
        unpivotedValueColumnName: 'unpivotedValueColumnName',
      },
    },
  },
};

Properties ​

destinationTableMapIResolvable | { [key: string]: IResolvable | CfnDataSet.DestinationTableProperty }destination_table_maptyping.Union[IResolvable, typing.Mapping[str, typing.Union[IResolvable, DestinationTableProperty]]]destinationTableMapIResolvableDestinationTableMapIResolvableDestinationTableMapinterface{}required#
A map of destination tables that receive the final prepared data.
sourceTableMapIResolvable | { [key: string]: IResolvable | CfnDataSet.SourceTableProperty }source_table_maptyping.Union[IResolvable, typing.Mapping[str, typing.Union[IResolvable, SourceTableProperty]]]sourceTableMapIResolvableSourceTableMapIResolvableSourceTableMapinterface{}required#
A map of source tables that provide information about underlying sources.
transformStepMapIResolvable | { [key: string]: IResolvable | CfnDataSet.TransformStepProperty }transform_step_maptyping.Union[IResolvable, typing.Mapping[str, typing.Union[IResolvable, TransformStepProperty]]]transformStepMapIResolvableTransformStepMapIResolvableTransformStepMapinterface{}required#
A map of transformation steps that process the data.