# SectionBasedLayoutConfigurationProperty

The configuration for a section-based layout.

- Source: Generated code
- Type last changed: v2.93.0 · 23 Aug 2023

## 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 sectionBasedLayoutConfigurationProperty: quicksight.CfnAnalysis.SectionBasedLayoutConfigurationProperty = {
  bodySections: [{
    content: {
      layout: {
        freeFormLayout: {
          elements: [{
            elementId: 'elementId',
            elementType: 'elementType',
            height: 'height',
            width: 'width',
            xAxisLocation: 'xAxisLocation',
            yAxisLocation: 'yAxisLocation',

            // the properties below are optional
            backgroundStyle: {
              color: 'color',
              visibility: 'visibility',
            },
            borderRadius: 'borderRadius',
            borderStyle: {
              color: 'color',
              visibility: 'visibility',
              width: 'width',
            },
            loadingAnimation: {
              visibility: 'visibility',
            },
            padding: 'padding',
            renderingRules: [{
              configurationOverrides: {
                visibility: 'visibility',
              },
              expression: 'expression',
            }],
            selectedBorderStyle: {
              color: 'color',
              visibility: 'visibility',
              width: 'width',
            },
            visibility: 'visibility',
          }],
        },
      },
    },
    sectionId: 'sectionId',

    // the properties below are optional
    pageBreakConfiguration: {
      after: {
        status: 'status',
      },
    },
    repeatConfiguration: {
      dimensionConfigurations: [{
        dynamicCategoryDimensionConfiguration: {
          column: {
            columnName: 'columnName',

            // the properties below are optional
            dataSetIdentifier: 'dataSetIdentifier',
            topicIdentifier: 'topicIdentifier',
          },

          // the properties below are optional
          limit: 123,
          sortByMetrics: [{
            direction: 'direction',
            sortBy: {
              columnName: 'columnName',

              // the properties below are optional
              dataSetIdentifier: 'dataSetIdentifier',
              topicIdentifier: 'topicIdentifier',
            },

            // the properties below are optional
            aggregationFunction: {
              attributeAggregationFunction: {
                simpleAttributeAggregation: 'simpleAttributeAggregation',
                valueForMultipleValues: 'valueForMultipleValues',
              },
              categoricalAggregationFunction: 'categoricalAggregationFunction',
              dateAggregationFunction: 'dateAggregationFunction',
              numericalAggregationFunction: {
                percentileAggregation: {
                  percentileValue: 123,
                },
                simpleNumericalAggregation: 'simpleNumericalAggregation',
              },
            },
          }],
        },
        dynamicNumericDimensionConfiguration: {
          column: {
            columnName: 'columnName',

            // the properties below are optional
            dataSetIdentifier: 'dataSetIdentifier',
            topicIdentifier: 'topicIdentifier',
          },

          // the properties below are optional
          limit: 123,
          sortByMetrics: [{
            direction: 'direction',
            sortBy: {
              columnName: 'columnName',

              // the properties below are optional
              dataSetIdentifier: 'dataSetIdentifier',
              topicIdentifier: 'topicIdentifier',
            },

            // the properties below are optional
            aggregationFunction: {
              attributeAggregationFunction: {
                simpleAttributeAggregation: 'simpleAttributeAggregation',
                valueForMultipleValues: 'valueForMultipleValues',
              },
              categoricalAggregationFunction: 'categoricalAggregationFunction',
              dateAggregationFunction: 'dateAggregationFunction',
              numericalAggregationFunction: {
                percentileAggregation: {
                  percentileValue: 123,
                },
                simpleNumericalAggregation: 'simpleNumericalAggregation',
              },
            },
          }],
        },
      }],
      nonRepeatingVisuals: ['nonRepeatingVisuals'],
      pageBreakConfiguration: {
        after: {
          status: 'status',
        },
      },
    },
    style: {
      height: 'height',
      padding: {
        bottom: 'bottom',
        left: 'left',
        right: 'right',
        top: 'top',
      },
    },
  }],
  canvasSizeOptions: {
    paperCanvasSizeOptions: {
      paperMargin: {
        bottom: 'bottom',
        left: 'left',
        right: 'right',
        top: 'top',
      },
      paperOrientation: 'paperOrientation',
      paperSize: 'paperSize',
    },
  },
  footerSections: [{
    layout: {
      freeFormLayout: {
        elements: [{
          elementId: 'elementId',
          elementType: 'elementType',
          height: 'height',
          width: 'width',
          xAxisLocation: 'xAxisLocation',
          yAxisLocation: 'yAxisLocation',

          // the properties below are optional
          backgroundStyle: {
            color: 'color',
            visibility: 'visibility',
          },
          borderRadius: 'borderRadius',
          borderStyle: {
            color: 'color',
            visibility: 'visibility',
            width: 'width',
          },
          loadingAnimation: {
            visibility: 'visibility',
          },
          padding: 'padding',
          renderingRules: [{
            configurationOverrides: {
              visibility: 'visibility',
            },
            expression: 'expression',
          }],
          selectedBorderStyle: {
            color: 'color',
            visibility: 'visibility',
            width: 'width',
          },
          visibility: 'visibility',
        }],
      },
    },
    sectionId: 'sectionId',

    // the properties below are optional
    style: {
      height: 'height',
      padding: {
        bottom: 'bottom',
        left: 'left',
        right: 'right',
        top: 'top',
      },
    },
  }],
  headerSections: [{
    layout: {
      freeFormLayout: {
        elements: [{
          elementId: 'elementId',
          elementType: 'elementType',
          height: 'height',
          width: 'width',
          xAxisLocation: 'xAxisLocation',
          yAxisLocation: 'yAxisLocation',

          // the properties below are optional
          backgroundStyle: {
            color: 'color',
            visibility: 'visibility',
          },
          borderRadius: 'borderRadius',
          borderStyle: {
            color: 'color',
            visibility: 'visibility',
            width: 'width',
          },
          loadingAnimation: {
            visibility: 'visibility',
          },
          padding: 'padding',
          renderingRules: [{
            configurationOverrides: {
              visibility: 'visibility',
            },
            expression: 'expression',
          }],
          selectedBorderStyle: {
            color: 'color',
            visibility: 'visibility',
            width: 'width',
          },
          visibility: 'visibility',
        }],
      },
    },
    sectionId: 'sectionId',

    // the properties below are optional
    style: {
      height: 'height',
      padding: {
        bottom: 'bottom',
        left: 'left',
        right: 'right',
        top: 'top',
      },
    },
  }],
};
```

## Properties

- `bodySections`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnAnalysis.BodySectionConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnAnalysis.BodySectionConfigurationProperty.html)[] (required) — A list of body section configurations.

- `canvasSizeOptions`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnAnalysis.SectionBasedLayoutCanvasSizeOptionsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnAnalysis.SectionBasedLayoutCanvasSizeOptionsProperty.html) (required) — The options for the canvas of a section-based layout.

- `footerSections`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnAnalysis.HeaderFooterSectionConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnAnalysis.HeaderFooterSectionConfigurationProperty.html)[] (required) — A list of footer section configurations.

- `headerSections`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnAnalysis.HeaderFooterSectionConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_quicksight.CfnAnalysis.HeaderFooterSectionConfigurationProperty.html)[] (required) — A list of header section configurations.
