# TransformOperationProperty

A data transformation on a logical table.

This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

- Source: Generated code
- Type last changed: v2.143.0 · 24 May 2024

## 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 transformOperationProperty: quicksight.CfnDataSet.TransformOperationProperty = {
  castColumnTypeOperation: {
    columnName: 'columnName',
    newColumnType: 'newColumnType',

    // the properties below are optional
    format: 'format',
    subType: 'subType',
  },
  createColumnsOperation: {
    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',
      }],
    },
  },
  filterOperation: {
    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'],
        },
      },
    },
  },
  overrideDatasetParameterOperation: {
    parameterName: 'parameterName',

    // the properties below are optional
    newDefaultValues: {
      dateTimeStaticValues: ['dateTimeStaticValues'],
      decimalStaticValues: [123],
      integerStaticValues: [123],
      stringStaticValues: ['stringStaticValues'],
    },
    newParameterName: 'newParameterName',
  },
  projectOperation: {
    alias: 'alias',
    projectedColumns: ['projectedColumns'],
    source: {
      transformOperationId: 'transformOperationId',

      // the properties below are optional
      columnIdMappings: [{
        sourceColumnId: 'sourceColumnId',
        targetColumnId: 'targetColumnId',
      }],
    },
  },
  renameColumnOperation: {
    columnName: 'columnName',
    newColumnName: 'newColumnName',
  },
  tagColumnOperation: {
    columnName: 'columnName',
    tags: [{
      columnDescription: {
        text: 'text',
      },
      columnGeographicRole: 'columnGeographicRole',
    }],
  },
  untagColumnOperation: {
    columnName: 'columnName',
    tagNames: ['tagNames'],
  },
};
```

## Properties

- `castColumnTypeOperation`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSet.CastColumnTypeOperationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnDataSet.CastColumnTypeOperationProperty.html) — A transform operation that casts a column to a different type.

- `createColumnsOperation`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSet.CreateColumnsOperationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnDataSet.CreateColumnsOperationProperty.html) — An operation that creates calculated columns.

  Columns created in one such operation form a lexical closure.

- `filterOperation`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSet.FilterOperationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnDataSet.FilterOperationProperty.html) — An operation that filters rows based on some condition.

- `overrideDatasetParameterOperation`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSet.OverrideDatasetParameterOperationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnDataSet.OverrideDatasetParameterOperationProperty.html) — A transform operation that overrides the dataset parameter values that are defined in another dataset.

- `projectOperation`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSet.ProjectOperationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnDataSet.ProjectOperationProperty.html) — An operation that projects columns.

  Operations that come after a projection can only refer to projected columns.

- `renameColumnOperation`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSet.RenameColumnOperationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnDataSet.RenameColumnOperationProperty.html) — An operation that renames a column.

- `tagColumnOperation`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSet.TagColumnOperationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnDataSet.TagColumnOperationProperty.html) — An operation that tags a column with additional information.

- `untagColumnOperation`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSet.UntagColumnOperationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnDataSet.UntagColumnOperationProperty.html) — <p>A transform operation that removes tags associated with a column.</p>.
