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.