Show / Hide Table of Contents

Class CfnDashboard.DashboardVersionDefinitionProperty

The contents of a dashboard.

Inheritance
System.Object
CfnDashboard.DashboardVersionDefinitionProperty
Implements
CfnDashboard.IDashboardVersionDefinitionProperty
Namespace: Amazon.CDK.AWS.QuickSight
Assembly: Amazon.CDK.AWS.QuickSight.dll
Syntax (csharp)
public class DashboardVersionDefinitionProperty : Object, CfnDashboard.IDashboardVersionDefinitionProperty
Syntax (vb)
Public Class DashboardVersionDefinitionProperty
    Inherits Object
    Implements CfnDashboard.IDashboardVersionDefinitionProperty
Remarks

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardversiondefinition.html

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.QuickSight;

var dataDriven;

var dashboardVersionDefinitionProperty = new DashboardVersionDefinitionProperty {
    DataSetIdentifierDeclarations = new [] { new DataSetIdentifierDeclarationProperty {
        DataSetArn = "dataSetArn",
        Identifier = "identifier"
    } },

    // the properties below are optional
    AnalysisDefaults = new AnalysisDefaultsProperty {
        DefaultNewSheetConfiguration = new DefaultNewSheetConfigurationProperty {
            InteractiveLayoutConfiguration = new DefaultInteractiveLayoutConfigurationProperty {
                FreeForm = new DefaultFreeFormLayoutConfigurationProperty {
                    CanvasSizeOptions = new FreeFormLayoutCanvasSizeOptionsProperty {
                        ScreenCanvasSizeOptions = new FreeFormLayoutScreenCanvasSizeOptionsProperty {
                            OptimizedViewPortWidth = "optimizedViewPortWidth"
                        }
                    }
                },
                Grid = new DefaultGridLayoutConfigurationProperty {
                    CanvasSizeOptions = new GridLayoutCanvasSizeOptionsProperty {
                        ScreenCanvasSizeOptions = new GridLayoutScreenCanvasSizeOptionsProperty {
                            ResizeOption = "resizeOption",

                            // the properties below are optional
                            OptimizedViewPortWidth = "optimizedViewPortWidth"
                        }
                    }
                }
            },
            PaginatedLayoutConfiguration = new DefaultPaginatedLayoutConfigurationProperty {
                SectionBased = new DefaultSectionBasedLayoutConfigurationProperty {
                    CanvasSizeOptions = new SectionBasedLayoutCanvasSizeOptionsProperty {
                        PaperCanvasSizeOptions = new SectionBasedLayoutPaperCanvasSizeOptionsProperty {
                            PaperMargin = new SpacingProperty {
                                Bottom = "bottom",
                                Left = "left",
                                Right = "right",
                                Top = "top"
                            },
                            PaperOrientation = "paperOrientation",
                            PaperSize = "paperSize"
                        }
                    }
                }
            },
            SheetContentType = "sheetContentType"
        }
    },
    CalculatedFields = new [] { new CalculatedFieldProperty {
        DataSetIdentifier = "dataSetIdentifier",
        Expression = "expression",
        Name = "name"
    } },
    ColumnConfigurations = new [] { new ColumnConfigurationProperty {
        Column = new ColumnIdentifierProperty {
            ColumnName = "columnName",
            DataSetIdentifier = "dataSetIdentifier"
        },

        // the properties below are optional
        ColorsConfiguration = new ColorsConfigurationProperty {
            CustomColors = new [] { new CustomColorProperty {
                Color = "color",

                // the properties below are optional
                FieldValue = "fieldValue",
                SpecialValue = "specialValue"
            } }
        },
        FormatConfiguration = new FormatConfigurationProperty {
            DateTimeFormatConfiguration = new DateTimeFormatConfigurationProperty {
                DateTimeFormat = "dateTimeFormat",
                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                    NullString = "nullString"
                },
                NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                    CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                            DecimalPlaces = 123
                        },
                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                            DisplayMode = "displayMode"
                        },
                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                            NullString = "nullString"
                        },
                        NumberScale = "numberScale",
                        Prefix = "prefix",
                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                            DecimalSeparator = "decimalSeparator",
                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                Symbol = "symbol",
                                Visibility = "visibility"
                            }
                        },
                        Suffix = "suffix",
                        Symbol = "symbol"
                    },
                    NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                            DecimalPlaces = 123
                        },
                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                            DisplayMode = "displayMode"
                        },
                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                            NullString = "nullString"
                        },
                        NumberScale = "numberScale",
                        Prefix = "prefix",
                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                            DecimalSeparator = "decimalSeparator",
                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                Symbol = "symbol",
                                Visibility = "visibility"
                            }
                        },
                        Suffix = "suffix"
                    },
                    PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                            DecimalPlaces = 123
                        },
                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                            DisplayMode = "displayMode"
                        },
                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                            NullString = "nullString"
                        },
                        Prefix = "prefix",
                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                            DecimalSeparator = "decimalSeparator",
                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                Symbol = "symbol",
                                Visibility = "visibility"
                            }
                        },
                        Suffix = "suffix"
                    }
                }
            },
            NumberFormatConfiguration = new NumberFormatConfigurationProperty {
                FormatConfiguration = new NumericFormatConfigurationProperty {
                    CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                            DecimalPlaces = 123
                        },
                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                            DisplayMode = "displayMode"
                        },
                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                            NullString = "nullString"
                        },
                        NumberScale = "numberScale",
                        Prefix = "prefix",
                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                            DecimalSeparator = "decimalSeparator",
                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                Symbol = "symbol",
                                Visibility = "visibility"
                            }
                        },
                        Suffix = "suffix",
                        Symbol = "symbol"
                    },
                    NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                            DecimalPlaces = 123
                        },
                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                            DisplayMode = "displayMode"
                        },
                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                            NullString = "nullString"
                        },
                        NumberScale = "numberScale",
                        Prefix = "prefix",
                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                            DecimalSeparator = "decimalSeparator",
                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                Symbol = "symbol",
                                Visibility = "visibility"
                            }
                        },
                        Suffix = "suffix"
                    },
                    PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                            DecimalPlaces = 123
                        },
                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                            DisplayMode = "displayMode"
                        },
                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                            NullString = "nullString"
                        },
                        Prefix = "prefix",
                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                            DecimalSeparator = "decimalSeparator",
                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                Symbol = "symbol",
                                Visibility = "visibility"
                            }
                        },
                        Suffix = "suffix"
                    }
                }
            },
            StringFormatConfiguration = new StringFormatConfigurationProperty {
                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                    NullString = "nullString"
                },
                NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                    CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                            DecimalPlaces = 123
                        },
                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                            DisplayMode = "displayMode"
                        },
                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                            NullString = "nullString"
                        },
                        NumberScale = "numberScale",
                        Prefix = "prefix",
                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                            DecimalSeparator = "decimalSeparator",
                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                Symbol = "symbol",
                                Visibility = "visibility"
                            }
                        },
                        Suffix = "suffix",
                        Symbol = "symbol"
                    },
                    NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                            DecimalPlaces = 123
                        },
                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                            DisplayMode = "displayMode"
                        },
                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                            NullString = "nullString"
                        },
                        NumberScale = "numberScale",
                        Prefix = "prefix",
                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                            DecimalSeparator = "decimalSeparator",
                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                Symbol = "symbol",
                                Visibility = "visibility"
                            }
                        },
                        Suffix = "suffix"
                    },
                    PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                            DecimalPlaces = 123
                        },
                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                            DisplayMode = "displayMode"
                        },
                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                            NullString = "nullString"
                        },
                        Prefix = "prefix",
                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                            DecimalSeparator = "decimalSeparator",
                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                Symbol = "symbol",
                                Visibility = "visibility"
                            }
                        },
                        Suffix = "suffix"
                    }
                }
            }
        },
        Role = "role"
    } },
    FilterGroups = new [] { new FilterGroupProperty {
        CrossDataset = "crossDataset",
        FilterGroupId = "filterGroupId",
        Filters = new [] { new FilterProperty {
            CategoryFilter = new CategoryFilterProperty {
                Column = new ColumnIdentifierProperty {
                    ColumnName = "columnName",
                    DataSetIdentifier = "dataSetIdentifier"
                },
                Configuration = new CategoryFilterConfigurationProperty {
                    CustomFilterConfiguration = new CustomFilterConfigurationProperty {
                        MatchOperator = "matchOperator",
                        NullOption = "nullOption",

                        // the properties below are optional
                        CategoryValue = "categoryValue",
                        ParameterName = "parameterName",
                        SelectAllOptions = "selectAllOptions"
                    },
                    CustomFilterListConfiguration = new CustomFilterListConfigurationProperty {
                        MatchOperator = "matchOperator",
                        NullOption = "nullOption",

                        // the properties below are optional
                        CategoryValues = new [] { "categoryValues" },
                        SelectAllOptions = "selectAllOptions"
                    },
                    FilterListConfiguration = new FilterListConfigurationProperty {
                        MatchOperator = "matchOperator",

                        // the properties below are optional
                        CategoryValues = new [] { "categoryValues" },
                        SelectAllOptions = "selectAllOptions"
                    }
                },
                FilterId = "filterId"
            },
            NumericEqualityFilter = new NumericEqualityFilterProperty {
                Column = new ColumnIdentifierProperty {
                    ColumnName = "columnName",
                    DataSetIdentifier = "dataSetIdentifier"
                },
                FilterId = "filterId",
                MatchOperator = "matchOperator",
                NullOption = "nullOption",

                // the properties below are optional
                AggregationFunction = new AggregationFunctionProperty {
                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                    DateAggregationFunction = "dateAggregationFunction",
                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                        PercentileAggregation = new PercentileAggregationProperty {
                            PercentileValue = 123
                        },
                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                    }
                },
                ParameterName = "parameterName",
                SelectAllOptions = "selectAllOptions",
                Value = 123
            },
            NumericRangeFilter = new NumericRangeFilterProperty {
                Column = new ColumnIdentifierProperty {
                    ColumnName = "columnName",
                    DataSetIdentifier = "dataSetIdentifier"
                },
                FilterId = "filterId",
                NullOption = "nullOption",

                // the properties below are optional
                AggregationFunction = new AggregationFunctionProperty {
                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                    DateAggregationFunction = "dateAggregationFunction",
                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                        PercentileAggregation = new PercentileAggregationProperty {
                            PercentileValue = 123
                        },
                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                    }
                },
                IncludeMaximum = false,
                IncludeMinimum = false,
                RangeMaximum = new NumericRangeFilterValueProperty {
                    Parameter = "parameter",
                    StaticValue = 123
                },
                RangeMinimum = new NumericRangeFilterValueProperty {
                    Parameter = "parameter",
                    StaticValue = 123
                },
                SelectAllOptions = "selectAllOptions"
            },
            RelativeDatesFilter = new RelativeDatesFilterProperty {
                AnchorDateConfiguration = new AnchorDateConfigurationProperty {
                    AnchorOption = "anchorOption",
                    ParameterName = "parameterName"
                },
                Column = new ColumnIdentifierProperty {
                    ColumnName = "columnName",
                    DataSetIdentifier = "dataSetIdentifier"
                },
                FilterId = "filterId",
                NullOption = "nullOption",
                RelativeDateType = "relativeDateType",
                TimeGranularity = "timeGranularity",

                // the properties below are optional
                ExcludePeriodConfiguration = new ExcludePeriodConfigurationProperty {
                    Amount = 123,
                    Granularity = "granularity",

                    // the properties below are optional
                    Status = "status"
                },
                MinimumGranularity = "minimumGranularity",
                ParameterName = "parameterName",
                RelativeDateValue = 123
            },
            TimeEqualityFilter = new TimeEqualityFilterProperty {
                Column = new ColumnIdentifierProperty {
                    ColumnName = "columnName",
                    DataSetIdentifier = "dataSetIdentifier"
                },
                FilterId = "filterId",

                // the properties below are optional
                ParameterName = "parameterName",
                TimeGranularity = "timeGranularity",
                Value = "value"
            },
            TimeRangeFilter = new TimeRangeFilterProperty {
                Column = new ColumnIdentifierProperty {
                    ColumnName = "columnName",
                    DataSetIdentifier = "dataSetIdentifier"
                },
                FilterId = "filterId",
                NullOption = "nullOption",

                // the properties below are optional
                ExcludePeriodConfiguration = new ExcludePeriodConfigurationProperty {
                    Amount = 123,
                    Granularity = "granularity",

                    // the properties below are optional
                    Status = "status"
                },
                IncludeMaximum = false,
                IncludeMinimum = false,
                RangeMaximumValue = new TimeRangeFilterValueProperty {
                    Parameter = "parameter",
                    RollingDate = new RollingDateConfigurationProperty {
                        Expression = "expression",

                        // the properties below are optional
                        DataSetIdentifier = "dataSetIdentifier"
                    },
                    StaticValue = "staticValue"
                },
                RangeMinimumValue = new TimeRangeFilterValueProperty {
                    Parameter = "parameter",
                    RollingDate = new RollingDateConfigurationProperty {
                        Expression = "expression",

                        // the properties below are optional
                        DataSetIdentifier = "dataSetIdentifier"
                    },
                    StaticValue = "staticValue"
                },
                TimeGranularity = "timeGranularity"
            },
            TopBottomFilter = new TopBottomFilterProperty {
                AggregationSortConfigurations = new [] { new AggregationSortConfigurationProperty {
                    AggregationFunction = new AggregationFunctionProperty {
                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                        DateAggregationFunction = "dateAggregationFunction",
                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                            PercentileAggregation = new PercentileAggregationProperty {
                                PercentileValue = 123
                            },
                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                        }
                    },
                    Column = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    },
                    SortDirection = "sortDirection"
                } },
                Column = new ColumnIdentifierProperty {
                    ColumnName = "columnName",
                    DataSetIdentifier = "dataSetIdentifier"
                },
                FilterId = "filterId",

                // the properties below are optional
                Limit = 123,
                ParameterName = "parameterName",
                TimeGranularity = "timeGranularity"
            }
        } },
        ScopeConfiguration = new FilterScopeConfigurationProperty {
            SelectedSheets = new SelectedSheetsFilterScopeConfigurationProperty {
                SheetVisualScopingConfigurations = new [] { new SheetVisualScopingConfigurationProperty {
                    Scope = "scope",
                    SheetId = "sheetId",

                    // the properties below are optional
                    VisualIds = new [] { "visualIds" }
                } }
            }
        },

        // the properties below are optional
        Status = "status"
    } },
    ParameterDeclarations = new [] { new ParameterDeclarationProperty {
        DateTimeParameterDeclaration = new DateTimeParameterDeclarationProperty {
            Name = "name",

            // the properties below are optional
            DefaultValues = new DateTimeDefaultValuesProperty {
                DynamicValue = new DynamicDefaultValueProperty {
                    DefaultValueColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    },

                    // the properties below are optional
                    GroupNameColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    },
                    UserNameColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    }
                },
                RollingDate = new RollingDateConfigurationProperty {
                    Expression = "expression",

                    // the properties below are optional
                    DataSetIdentifier = "dataSetIdentifier"
                },
                StaticValues = new [] { "staticValues" }
            },
            MappedDataSetParameters = new [] { new MappedDataSetParameterProperty {
                DataSetIdentifier = "dataSetIdentifier",
                DataSetParameterName = "dataSetParameterName"
            } },
            TimeGranularity = "timeGranularity",
            ValueWhenUnset = new DateTimeValueWhenUnsetConfigurationProperty {
                CustomValue = "customValue",
                ValueWhenUnsetOption = "valueWhenUnsetOption"
            }
        },
        DecimalParameterDeclaration = new DecimalParameterDeclarationProperty {
            Name = "name",
            ParameterValueType = "parameterValueType",

            // the properties below are optional
            DefaultValues = new DecimalDefaultValuesProperty {
                DynamicValue = new DynamicDefaultValueProperty {
                    DefaultValueColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    },

                    // the properties below are optional
                    GroupNameColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    },
                    UserNameColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    }
                },
                StaticValues = new [] { 123 }
            },
            MappedDataSetParameters = new [] { new MappedDataSetParameterProperty {
                DataSetIdentifier = "dataSetIdentifier",
                DataSetParameterName = "dataSetParameterName"
            } },
            ValueWhenUnset = new DecimalValueWhenUnsetConfigurationProperty {
                CustomValue = 123,
                ValueWhenUnsetOption = "valueWhenUnsetOption"
            }
        },
        IntegerParameterDeclaration = new IntegerParameterDeclarationProperty {
            Name = "name",
            ParameterValueType = "parameterValueType",

            // the properties below are optional
            DefaultValues = new IntegerDefaultValuesProperty {
                DynamicValue = new DynamicDefaultValueProperty {
                    DefaultValueColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    },

                    // the properties below are optional
                    GroupNameColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    },
                    UserNameColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    }
                },
                StaticValues = new [] { 123 }
            },
            MappedDataSetParameters = new [] { new MappedDataSetParameterProperty {
                DataSetIdentifier = "dataSetIdentifier",
                DataSetParameterName = "dataSetParameterName"
            } },
            ValueWhenUnset = new IntegerValueWhenUnsetConfigurationProperty {
                CustomValue = 123,
                ValueWhenUnsetOption = "valueWhenUnsetOption"
            }
        },
        StringParameterDeclaration = new StringParameterDeclarationProperty {
            Name = "name",
            ParameterValueType = "parameterValueType",

            // the properties below are optional
            DefaultValues = new StringDefaultValuesProperty {
                DynamicValue = new DynamicDefaultValueProperty {
                    DefaultValueColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    },

                    // the properties below are optional
                    GroupNameColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    },
                    UserNameColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    }
                },
                StaticValues = new [] { "staticValues" }
            },
            MappedDataSetParameters = new [] { new MappedDataSetParameterProperty {
                DataSetIdentifier = "dataSetIdentifier",
                DataSetParameterName = "dataSetParameterName"
            } },
            ValueWhenUnset = new StringValueWhenUnsetConfigurationProperty {
                CustomValue = "customValue",
                ValueWhenUnsetOption = "valueWhenUnsetOption"
            }
        }
    } },
    Sheets = new [] { new SheetDefinitionProperty {
        SheetId = "sheetId",

        // the properties below are optional
        ContentType = "contentType",
        Description = "description",
        FilterControls = new [] { new FilterControlProperty {
            DateTimePicker = new FilterDateTimePickerControlProperty {
                FilterControlId = "filterControlId",
                SourceFilterId = "sourceFilterId",
                Title = "title",

                // the properties below are optional
                DisplayOptions = new DateTimePickerControlDisplayOptionsProperty {
                    DateTimeFormat = "dateTimeFormat",
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                },
                Type = "type"
            },
            Dropdown = new FilterDropDownControlProperty {
                FilterControlId = "filterControlId",
                SourceFilterId = "sourceFilterId",
                Title = "title",

                // the properties below are optional
                CascadingControlConfiguration = new CascadingControlConfigurationProperty {
                    SourceControls = new [] { new CascadingControlSourceProperty {
                        ColumnToMatch = new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        },
                        SourceSheetControlId = "sourceSheetControlId"
                    } }
                },
                DisplayOptions = new DropDownControlDisplayOptionsProperty {
                    SelectAllOptions = new ListControlSelectAllOptionsProperty {
                        Visibility = "visibility"
                    },
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                },
                SelectableValues = new FilterSelectableValuesProperty {
                    Values = new [] { "values" }
                },
                Type = "type"
            },
            List = new FilterListControlProperty {
                FilterControlId = "filterControlId",
                SourceFilterId = "sourceFilterId",
                Title = "title",

                // the properties below are optional
                CascadingControlConfiguration = new CascadingControlConfigurationProperty {
                    SourceControls = new [] { new CascadingControlSourceProperty {
                        ColumnToMatch = new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        },
                        SourceSheetControlId = "sourceSheetControlId"
                    } }
                },
                DisplayOptions = new ListControlDisplayOptionsProperty {
                    SearchOptions = new ListControlSearchOptionsProperty {
                        Visibility = "visibility"
                    },
                    SelectAllOptions = new ListControlSelectAllOptionsProperty {
                        Visibility = "visibility"
                    },
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                },
                SelectableValues = new FilterSelectableValuesProperty {
                    Values = new [] { "values" }
                },
                Type = "type"
            },
            RelativeDateTime = new FilterRelativeDateTimeControlProperty {
                FilterControlId = "filterControlId",
                SourceFilterId = "sourceFilterId",
                Title = "title",

                // the properties below are optional
                DisplayOptions = new RelativeDateTimeControlDisplayOptionsProperty {
                    DateTimeFormat = "dateTimeFormat",
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                }
            },
            Slider = new FilterSliderControlProperty {
                FilterControlId = "filterControlId",
                MaximumValue = 123,
                MinimumValue = 123,
                SourceFilterId = "sourceFilterId",
                StepSize = 123,
                Title = "title",

                // the properties below are optional
                DisplayOptions = new SliderControlDisplayOptionsProperty {
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                },
                Type = "type"
            },
            TextArea = new FilterTextAreaControlProperty {
                FilterControlId = "filterControlId",
                SourceFilterId = "sourceFilterId",
                Title = "title",

                // the properties below are optional
                Delimiter = "delimiter",
                DisplayOptions = new TextAreaControlDisplayOptionsProperty {
                    PlaceholderOptions = new TextControlPlaceholderOptionsProperty {
                        Visibility = "visibility"
                    },
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                }
            },
            TextField = new FilterTextFieldControlProperty {
                FilterControlId = "filterControlId",
                SourceFilterId = "sourceFilterId",
                Title = "title",

                // the properties below are optional
                DisplayOptions = new TextFieldControlDisplayOptionsProperty {
                    PlaceholderOptions = new TextControlPlaceholderOptionsProperty {
                        Visibility = "visibility"
                    },
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                }
            }
        } },
        Layouts = new [] { new LayoutProperty {
            Configuration = new LayoutConfigurationProperty {
                FreeFormLayout = new FreeFormLayoutConfigurationProperty {
                    Elements = new [] { new FreeFormLayoutElementProperty {
                        ElementId = "elementId",
                        ElementType = "elementType",
                        Height = "height",
                        Width = "width",
                        XAxisLocation = "xAxisLocation",
                        YAxisLocation = "yAxisLocation",

                        // the properties below are optional
                        BackgroundStyle = new FreeFormLayoutElementBackgroundStyleProperty {
                            Color = "color",
                            Visibility = "visibility"
                        },
                        BorderStyle = new FreeFormLayoutElementBorderStyleProperty {
                            Color = "color",
                            Visibility = "visibility"
                        },
                        LoadingAnimation = new LoadingAnimationProperty {
                            Visibility = "visibility"
                        },
                        RenderingRules = new [] { new SheetElementRenderingRuleProperty {
                            ConfigurationOverrides = new SheetElementConfigurationOverridesProperty {
                                Visibility = "visibility"
                            },
                            Expression = "expression"
                        } },
                        SelectedBorderStyle = new FreeFormLayoutElementBorderStyleProperty {
                            Color = "color",
                            Visibility = "visibility"
                        },
                        Visibility = "visibility"
                    } },

                    // the properties below are optional
                    CanvasSizeOptions = new FreeFormLayoutCanvasSizeOptionsProperty {
                        ScreenCanvasSizeOptions = new FreeFormLayoutScreenCanvasSizeOptionsProperty {
                            OptimizedViewPortWidth = "optimizedViewPortWidth"
                        }
                    }
                },
                GridLayout = new GridLayoutConfigurationProperty {
                    Elements = new [] { new GridLayoutElementProperty {
                        ColumnSpan = 123,
                        ElementId = "elementId",
                        ElementType = "elementType",
                        RowSpan = 123,

                        // the properties below are optional
                        ColumnIndex = 123,
                        RowIndex = 123
                    } },

                    // the properties below are optional
                    CanvasSizeOptions = new GridLayoutCanvasSizeOptionsProperty {
                        ScreenCanvasSizeOptions = new GridLayoutScreenCanvasSizeOptionsProperty {
                            ResizeOption = "resizeOption",

                            // the properties below are optional
                            OptimizedViewPortWidth = "optimizedViewPortWidth"
                        }
                    }
                },
                SectionBasedLayout = new SectionBasedLayoutConfigurationProperty {
                    BodySections = new [] { new BodySectionConfigurationProperty {
                        Content = new BodySectionContentProperty {
                            Layout = new SectionLayoutConfigurationProperty {
                                FreeFormLayout = new FreeFormSectionLayoutConfigurationProperty {
                                    Elements = new [] { new FreeFormLayoutElementProperty {
                                        ElementId = "elementId",
                                        ElementType = "elementType",
                                        Height = "height",
                                        Width = "width",
                                        XAxisLocation = "xAxisLocation",
                                        YAxisLocation = "yAxisLocation",

                                        // the properties below are optional
                                        BackgroundStyle = new FreeFormLayoutElementBackgroundStyleProperty {
                                            Color = "color",
                                            Visibility = "visibility"
                                        },
                                        BorderStyle = new FreeFormLayoutElementBorderStyleProperty {
                                            Color = "color",
                                            Visibility = "visibility"
                                        },
                                        LoadingAnimation = new LoadingAnimationProperty {
                                            Visibility = "visibility"
                                        },
                                        RenderingRules = new [] { new SheetElementRenderingRuleProperty {
                                            ConfigurationOverrides = new SheetElementConfigurationOverridesProperty {
                                                Visibility = "visibility"
                                            },
                                            Expression = "expression"
                                        } },
                                        SelectedBorderStyle = new FreeFormLayoutElementBorderStyleProperty {
                                            Color = "color",
                                            Visibility = "visibility"
                                        },
                                        Visibility = "visibility"
                                    } }
                                }
                            }
                        },
                        SectionId = "sectionId",

                        // the properties below are optional
                        PageBreakConfiguration = new SectionPageBreakConfigurationProperty {
                            After = new SectionAfterPageBreakProperty {
                                Status = "status"
                            }
                        },
                        Style = new SectionStyleProperty {
                            Height = "height",
                            Padding = new SpacingProperty {
                                Bottom = "bottom",
                                Left = "left",
                                Right = "right",
                                Top = "top"
                            }
                        }
                    } },
                    CanvasSizeOptions = new SectionBasedLayoutCanvasSizeOptionsProperty {
                        PaperCanvasSizeOptions = new SectionBasedLayoutPaperCanvasSizeOptionsProperty {
                            PaperMargin = new SpacingProperty {
                                Bottom = "bottom",
                                Left = "left",
                                Right = "right",
                                Top = "top"
                            },
                            PaperOrientation = "paperOrientation",
                            PaperSize = "paperSize"
                        }
                    },
                    FooterSections = new [] { new HeaderFooterSectionConfigurationProperty {
                        Layout = new SectionLayoutConfigurationProperty {
                            FreeFormLayout = new FreeFormSectionLayoutConfigurationProperty {
                                Elements = new [] { new FreeFormLayoutElementProperty {
                                    ElementId = "elementId",
                                    ElementType = "elementType",
                                    Height = "height",
                                    Width = "width",
                                    XAxisLocation = "xAxisLocation",
                                    YAxisLocation = "yAxisLocation",

                                    // the properties below are optional
                                    BackgroundStyle = new FreeFormLayoutElementBackgroundStyleProperty {
                                        Color = "color",
                                        Visibility = "visibility"
                                    },
                                    BorderStyle = new FreeFormLayoutElementBorderStyleProperty {
                                        Color = "color",
                                        Visibility = "visibility"
                                    },
                                    LoadingAnimation = new LoadingAnimationProperty {
                                        Visibility = "visibility"
                                    },
                                    RenderingRules = new [] { new SheetElementRenderingRuleProperty {
                                        ConfigurationOverrides = new SheetElementConfigurationOverridesProperty {
                                            Visibility = "visibility"
                                        },
                                        Expression = "expression"
                                    } },
                                    SelectedBorderStyle = new FreeFormLayoutElementBorderStyleProperty {
                                        Color = "color",
                                        Visibility = "visibility"
                                    },
                                    Visibility = "visibility"
                                } }
                            }
                        },
                        SectionId = "sectionId",

                        // the properties below are optional
                        Style = new SectionStyleProperty {
                            Height = "height",
                            Padding = new SpacingProperty {
                                Bottom = "bottom",
                                Left = "left",
                                Right = "right",
                                Top = "top"
                            }
                        }
                    } },
                    HeaderSections = new [] { new HeaderFooterSectionConfigurationProperty {
                        Layout = new SectionLayoutConfigurationProperty {
                            FreeFormLayout = new FreeFormSectionLayoutConfigurationProperty {
                                Elements = new [] { new FreeFormLayoutElementProperty {
                                    ElementId = "elementId",
                                    ElementType = "elementType",
                                    Height = "height",
                                    Width = "width",
                                    XAxisLocation = "xAxisLocation",
                                    YAxisLocation = "yAxisLocation",

                                    // the properties below are optional
                                    BackgroundStyle = new FreeFormLayoutElementBackgroundStyleProperty {
                                        Color = "color",
                                        Visibility = "visibility"
                                    },
                                    BorderStyle = new FreeFormLayoutElementBorderStyleProperty {
                                        Color = "color",
                                        Visibility = "visibility"
                                    },
                                    LoadingAnimation = new LoadingAnimationProperty {
                                        Visibility = "visibility"
                                    },
                                    RenderingRules = new [] { new SheetElementRenderingRuleProperty {
                                        ConfigurationOverrides = new SheetElementConfigurationOverridesProperty {
                                            Visibility = "visibility"
                                        },
                                        Expression = "expression"
                                    } },
                                    SelectedBorderStyle = new FreeFormLayoutElementBorderStyleProperty {
                                        Color = "color",
                                        Visibility = "visibility"
                                    },
                                    Visibility = "visibility"
                                } }
                            }
                        },
                        SectionId = "sectionId",

                        // the properties below are optional
                        Style = new SectionStyleProperty {
                            Height = "height",
                            Padding = new SpacingProperty {
                                Bottom = "bottom",
                                Left = "left",
                                Right = "right",
                                Top = "top"
                            }
                        }
                    } }
                }
            }
        } },
        Name = "name",
        ParameterControls = new [] { new ParameterControlProperty {
            DateTimePicker = new ParameterDateTimePickerControlProperty {
                ParameterControlId = "parameterControlId",
                SourceParameterName = "sourceParameterName",
                Title = "title",

                // the properties below are optional
                DisplayOptions = new DateTimePickerControlDisplayOptionsProperty {
                    DateTimeFormat = "dateTimeFormat",
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                }
            },
            Dropdown = new ParameterDropDownControlProperty {
                ParameterControlId = "parameterControlId",
                SourceParameterName = "sourceParameterName",
                Title = "title",

                // the properties below are optional
                CascadingControlConfiguration = new CascadingControlConfigurationProperty {
                    SourceControls = new [] { new CascadingControlSourceProperty {
                        ColumnToMatch = new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        },
                        SourceSheetControlId = "sourceSheetControlId"
                    } }
                },
                DisplayOptions = new DropDownControlDisplayOptionsProperty {
                    SelectAllOptions = new ListControlSelectAllOptionsProperty {
                        Visibility = "visibility"
                    },
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                },
                SelectableValues = new ParameterSelectableValuesProperty {
                    LinkToDataSetColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    },
                    Values = new [] { "values" }
                },
                Type = "type"
            },
            List = new ParameterListControlProperty {
                ParameterControlId = "parameterControlId",
                SourceParameterName = "sourceParameterName",
                Title = "title",

                // the properties below are optional
                CascadingControlConfiguration = new CascadingControlConfigurationProperty {
                    SourceControls = new [] { new CascadingControlSourceProperty {
                        ColumnToMatch = new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        },
                        SourceSheetControlId = "sourceSheetControlId"
                    } }
                },
                DisplayOptions = new ListControlDisplayOptionsProperty {
                    SearchOptions = new ListControlSearchOptionsProperty {
                        Visibility = "visibility"
                    },
                    SelectAllOptions = new ListControlSelectAllOptionsProperty {
                        Visibility = "visibility"
                    },
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                },
                SelectableValues = new ParameterSelectableValuesProperty {
                    LinkToDataSetColumn = new ColumnIdentifierProperty {
                        ColumnName = "columnName",
                        DataSetIdentifier = "dataSetIdentifier"
                    },
                    Values = new [] { "values" }
                },
                Type = "type"
            },
            Slider = new ParameterSliderControlProperty {
                MaximumValue = 123,
                MinimumValue = 123,
                ParameterControlId = "parameterControlId",
                SourceParameterName = "sourceParameterName",
                StepSize = 123,
                Title = "title",

                // the properties below are optional
                DisplayOptions = new SliderControlDisplayOptionsProperty {
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                }
            },
            TextArea = new ParameterTextAreaControlProperty {
                ParameterControlId = "parameterControlId",
                SourceParameterName = "sourceParameterName",
                Title = "title",

                // the properties below are optional
                Delimiter = "delimiter",
                DisplayOptions = new TextAreaControlDisplayOptionsProperty {
                    PlaceholderOptions = new TextControlPlaceholderOptionsProperty {
                        Visibility = "visibility"
                    },
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                }
            },
            TextField = new ParameterTextFieldControlProperty {
                ParameterControlId = "parameterControlId",
                SourceParameterName = "sourceParameterName",
                Title = "title",

                // the properties below are optional
                DisplayOptions = new TextFieldControlDisplayOptionsProperty {
                    PlaceholderOptions = new TextControlPlaceholderOptionsProperty {
                        Visibility = "visibility"
                    },
                    TitleOptions = new LabelOptionsProperty {
                        CustomLabel = "customLabel",
                        FontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        Visibility = "visibility"
                    }
                }
            }
        } },
        SheetControlLayouts = new [] { new SheetControlLayoutProperty {
            Configuration = new SheetControlLayoutConfigurationProperty {
                GridLayout = new GridLayoutConfigurationProperty {
                    Elements = new [] { new GridLayoutElementProperty {
                        ColumnSpan = 123,
                        ElementId = "elementId",
                        ElementType = "elementType",
                        RowSpan = 123,

                        // the properties below are optional
                        ColumnIndex = 123,
                        RowIndex = 123
                    } },

                    // the properties below are optional
                    CanvasSizeOptions = new GridLayoutCanvasSizeOptionsProperty {
                        ScreenCanvasSizeOptions = new GridLayoutScreenCanvasSizeOptionsProperty {
                            ResizeOption = "resizeOption",

                            // the properties below are optional
                            OptimizedViewPortWidth = "optimizedViewPortWidth"
                        }
                    }
                }
            }
        } },
        TextBoxes = new [] { new SheetTextBoxProperty {
            SheetTextBoxId = "sheetTextBoxId",

            // the properties below are optional
            Content = "content"
        } },
        Title = "title",
        Visuals = new [] { new VisualProperty {
            BarChartVisual = new BarChartVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new BarChartConfigurationProperty {
                    BarsArrangement = "barsArrangement",
                    CategoryAxis = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    CategoryLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    ColorLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    ContributionAnalysisDefaults = new [] { new ContributionAnalysisDefaultProperty {
                        ContributorDimensions = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        MeasureFieldId = "measureFieldId"
                    } },
                    DataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    FieldWells = new BarChartFieldWellsProperty {
                        BarChartAggregatedFieldWells = new BarChartAggregatedFieldWellsProperty {
                            Category = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Colors = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            SmallMultiples = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    Orientation = "orientation",
                    ReferenceLines = new [] { new ReferenceLineProperty {
                        DataConfiguration = new ReferenceLineDataConfigurationProperty {
                            AxisBinding = "axisBinding",
                            DynamicConfiguration = new ReferenceLineDynamicDataConfigurationProperty {
                                Calculation = new NumericalAggregationFunctionProperty {
                                    PercentileAggregation = new PercentileAggregationProperty {
                                        PercentileValue = 123
                                    },
                                    SimpleNumericalAggregation = "simpleNumericalAggregation"
                                },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                MeasureAggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            StaticConfiguration = new ReferenceLineStaticDataConfigurationProperty {
                                Value = 123
                            }
                        },

                        // the properties below are optional
                        LabelConfiguration = new ReferenceLineLabelConfigurationProperty {
                            CustomLabelConfiguration = new ReferenceLineCustomLabelConfigurationProperty {
                                CustomLabel = "customLabel"
                            },
                            FontColor = "fontColor",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            HorizontalPosition = "horizontalPosition",
                            ValueLabelConfiguration = new ReferenceLineValueLabelConfigurationProperty {
                                FormatConfiguration = new NumericFormatConfigurationProperty {
                                    CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumberScale = "numberScale",
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix",
                                        Symbol = "symbol"
                                    },
                                    NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumberScale = "numberScale",
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix"
                                    },
                                    PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix"
                                    }
                                },
                                RelativePosition = "relativePosition"
                            },
                            VerticalPosition = "verticalPosition"
                        },
                        Status = "status",
                        StyleConfiguration = new ReferenceLineStyleConfigurationProperty {
                            Color = "color",
                            Pattern = "pattern"
                        }
                    } },
                    SmallMultiplesOptions = new SmallMultiplesOptionsProperty {
                        MaxVisibleColumns = 123,
                        MaxVisibleRows = 123,
                        PanelConfiguration = new PanelConfigurationProperty {
                            BackgroundColor = "backgroundColor",
                            BackgroundVisibility = "backgroundVisibility",
                            BorderColor = "borderColor",
                            BorderStyle = "borderStyle",
                            BorderThickness = "borderThickness",
                            BorderVisibility = "borderVisibility",
                            GutterSpacing = "gutterSpacing",
                            GutterVisibility = "gutterVisibility",
                            Title = new PanelTitleOptionsProperty {
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                Visibility = "visibility"
                            }
                        }
                    },
                    SortConfiguration = new BarChartSortConfigurationProperty {
                        CategoryItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        CategorySort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } },
                        ColorItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        ColorSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } },
                        SmallMultiplesLimitConfiguration = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        SmallMultiplesSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    },
                    ValueAxis = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    ValueLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            BoxPlotVisual = new BoxPlotVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new BoxPlotChartConfigurationProperty {
                    BoxPlotOptions = new BoxPlotOptionsProperty {
                        AllDataPointsVisibility = "allDataPointsVisibility",
                        OutlierVisibility = "outlierVisibility",
                        StyleOptions = new BoxPlotStyleOptionsProperty {
                            FillStyle = "fillStyle"
                        }
                    },
                    CategoryAxis = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    CategoryLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    FieldWells = new BoxPlotFieldWellsProperty {
                        BoxPlotAggregatedFieldWells = new BoxPlotAggregatedFieldWellsProperty {
                            GroupBy = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    PrimaryYAxisDisplayOptions = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    PrimaryYAxisLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    ReferenceLines = new [] { new ReferenceLineProperty {
                        DataConfiguration = new ReferenceLineDataConfigurationProperty {
                            AxisBinding = "axisBinding",
                            DynamicConfiguration = new ReferenceLineDynamicDataConfigurationProperty {
                                Calculation = new NumericalAggregationFunctionProperty {
                                    PercentileAggregation = new PercentileAggregationProperty {
                                        PercentileValue = 123
                                    },
                                    SimpleNumericalAggregation = "simpleNumericalAggregation"
                                },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                MeasureAggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            StaticConfiguration = new ReferenceLineStaticDataConfigurationProperty {
                                Value = 123
                            }
                        },

                        // the properties below are optional
                        LabelConfiguration = new ReferenceLineLabelConfigurationProperty {
                            CustomLabelConfiguration = new ReferenceLineCustomLabelConfigurationProperty {
                                CustomLabel = "customLabel"
                            },
                            FontColor = "fontColor",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            HorizontalPosition = "horizontalPosition",
                            ValueLabelConfiguration = new ReferenceLineValueLabelConfigurationProperty {
                                FormatConfiguration = new NumericFormatConfigurationProperty {
                                    CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumberScale = "numberScale",
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix",
                                        Symbol = "symbol"
                                    },
                                    NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumberScale = "numberScale",
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix"
                                    },
                                    PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix"
                                    }
                                },
                                RelativePosition = "relativePosition"
                            },
                            VerticalPosition = "verticalPosition"
                        },
                        Status = "status",
                        StyleConfiguration = new ReferenceLineStyleConfigurationProperty {
                            Color = "color",
                            Pattern = "pattern"
                        }
                    } },
                    SortConfiguration = new BoxPlotSortConfigurationProperty {
                        CategorySort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } },
                        PaginationConfiguration = new PaginationConfigurationProperty {
                            PageNumber = 123,
                            PageSize = 123
                        }
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    },
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            ComboChartVisual = new ComboChartVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new ComboChartConfigurationProperty {
                    BarDataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    BarsArrangement = "barsArrangement",
                    CategoryAxis = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    CategoryLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    ColorLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    FieldWells = new ComboChartFieldWellsProperty {
                        ComboChartAggregatedFieldWells = new ComboChartAggregatedFieldWellsProperty {
                            BarValues = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } },
                            Category = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Colors = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            LineValues = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    LineDataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    PrimaryYAxisDisplayOptions = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    PrimaryYAxisLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    ReferenceLines = new [] { new ReferenceLineProperty {
                        DataConfiguration = new ReferenceLineDataConfigurationProperty {
                            AxisBinding = "axisBinding",
                            DynamicConfiguration = new ReferenceLineDynamicDataConfigurationProperty {
                                Calculation = new NumericalAggregationFunctionProperty {
                                    PercentileAggregation = new PercentileAggregationProperty {
                                        PercentileValue = 123
                                    },
                                    SimpleNumericalAggregation = "simpleNumericalAggregation"
                                },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                MeasureAggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            StaticConfiguration = new ReferenceLineStaticDataConfigurationProperty {
                                Value = 123
                            }
                        },

                        // the properties below are optional
                        LabelConfiguration = new ReferenceLineLabelConfigurationProperty {
                            CustomLabelConfiguration = new ReferenceLineCustomLabelConfigurationProperty {
                                CustomLabel = "customLabel"
                            },
                            FontColor = "fontColor",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            HorizontalPosition = "horizontalPosition",
                            ValueLabelConfiguration = new ReferenceLineValueLabelConfigurationProperty {
                                FormatConfiguration = new NumericFormatConfigurationProperty {
                                    CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumberScale = "numberScale",
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix",
                                        Symbol = "symbol"
                                    },
                                    NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumberScale = "numberScale",
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix"
                                    },
                                    PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix"
                                    }
                                },
                                RelativePosition = "relativePosition"
                            },
                            VerticalPosition = "verticalPosition"
                        },
                        Status = "status",
                        StyleConfiguration = new ReferenceLineStyleConfigurationProperty {
                            Color = "color",
                            Pattern = "pattern"
                        }
                    } },
                    SecondaryYAxisDisplayOptions = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    SecondaryYAxisLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    SortConfiguration = new ComboChartSortConfigurationProperty {
                        CategoryItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        CategorySort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } },
                        ColorItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        ColorSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    },
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            CustomContentVisual = new CustomContentVisualProperty {
                DataSetIdentifier = "dataSetIdentifier",
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new CustomContentConfigurationProperty {
                    ContentType = "contentType",
                    ContentUrl = "contentUrl",
                    ImageScaling = "imageScaling"
                },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            EmptyVisual = new EmptyVisualProperty {
                DataSetIdentifier = "dataSetIdentifier",
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } }
            },
            FilledMapVisual = new FilledMapVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new FilledMapConfigurationProperty {
                    FieldWells = new FilledMapFieldWellsProperty {
                        FilledMapAggregatedFieldWells = new FilledMapAggregatedFieldWellsProperty {
                            Geospatial = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    MapStyleOptions = new GeospatialMapStyleOptionsProperty {
                        BaseMapStyle = "baseMapStyle"
                    },
                    SortConfiguration = new FilledMapSortConfigurationProperty {
                        CategorySort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    },
                    WindowOptions = new GeospatialWindowOptionsProperty {
                        Bounds = new GeospatialCoordinateBoundsProperty {
                            East = 123,
                            North = 123,
                            South = 123,
                            West = 123
                        },
                        MapZoomMode = "mapZoomMode"
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                ConditionalFormatting = new FilledMapConditionalFormattingProperty {
                    ConditionalFormattingOptions = new [] { new FilledMapConditionalFormattingOptionProperty {
                        Shape = new FilledMapShapeConditionalFormattingProperty {
                            FieldId = "fieldId",

                            // the properties below are optional
                            Format = new ShapeConditionalFormatProperty {
                                BackgroundColor = new ConditionalFormattingColorProperty {
                                    Gradient = new ConditionalFormattingGradientColorProperty {
                                        Color = new GradientColorProperty {
                                            Stops = new [] { new GradientStopProperty {
                                                GradientOffset = 123,

                                                // the properties below are optional
                                                Color = "color",
                                                DataValue = 123
                                            } }
                                        },
                                        Expression = "expression"
                                    },
                                    Solid = new ConditionalFormattingSolidColorProperty {
                                        Expression = "expression",

                                        // the properties below are optional
                                        Color = "color"
                                    }
                                }
                            }
                        }
                    } }
                },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            FunnelChartVisual = new FunnelChartVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new FunnelChartConfigurationProperty {
                    CategoryLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    DataLabelOptions = new FunnelChartDataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        LabelColor = "labelColor",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureDataLabelStyle = "measureDataLabelStyle",
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    FieldWells = new FunnelChartFieldWellsProperty {
                        FunnelChartAggregatedFieldWells = new FunnelChartAggregatedFieldWellsProperty {
                            Category = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    SortConfiguration = new FunnelChartSortConfigurationProperty {
                        CategoryItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        CategorySort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    },
                    ValueLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            GaugeChartVisual = new GaugeChartVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new GaugeChartConfigurationProperty {
                    DataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    FieldWells = new GaugeChartFieldWellsProperty {
                        TargetValues = new [] { new MeasureFieldProperty {
                            CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                Expression = "expression",
                                FieldId = "fieldId"
                            },
                            CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = "aggregationFunction",
                                FormatConfiguration = new StringFormatConfigurationProperty {
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            },
                            DateMeasureField = new DateMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = "aggregationFunction",
                                FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                    DateTimeFormat = "dateTimeFormat",
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            },
                            NumericalMeasureField = new NumericalMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = new NumericalAggregationFunctionProperty {
                                    PercentileAggregation = new PercentileAggregationProperty {
                                        PercentileValue = 123
                                    },
                                    SimpleNumericalAggregation = "simpleNumericalAggregation"
                                },
                                FormatConfiguration = new NumberFormatConfigurationProperty {
                                    FormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            }
                        } },
                        Values = new [] { new MeasureFieldProperty {
                            CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                Expression = "expression",
                                FieldId = "fieldId"
                            },
                            CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = "aggregationFunction",
                                FormatConfiguration = new StringFormatConfigurationProperty {
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            },
                            DateMeasureField = new DateMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = "aggregationFunction",
                                FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                    DateTimeFormat = "dateTimeFormat",
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            },
                            NumericalMeasureField = new NumericalMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = new NumericalAggregationFunctionProperty {
                                    PercentileAggregation = new PercentileAggregationProperty {
                                        PercentileValue = 123
                                    },
                                    SimpleNumericalAggregation = "simpleNumericalAggregation"
                                },
                                FormatConfiguration = new NumberFormatConfigurationProperty {
                                    FormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            }
                        } }
                    },
                    GaugeChartOptions = new GaugeChartOptionsProperty {
                        Arc = new ArcConfigurationProperty {
                            ArcAngle = 123,
                            ArcThickness = "arcThickness"
                        },
                        ArcAxis = new ArcAxisConfigurationProperty {
                            Range = new ArcAxisDisplayRangeProperty {
                                Max = 123,
                                Min = 123
                            },
                            ReserveRange = 123
                        },
                        Comparison = new ComparisonConfigurationProperty {
                            ComparisonFormat = new ComparisonFormatConfigurationProperty {
                                NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                    DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                        DecimalPlaces = 123
                                    },
                                    NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                        DisplayMode = "displayMode"
                                    },
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumberScale = "numberScale",
                                    Prefix = "prefix",
                                    SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                        DecimalSeparator = "decimalSeparator",
                                        ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                            Symbol = "symbol",
                                            Visibility = "visibility"
                                        }
                                    },
                                    Suffix = "suffix"
                                },
                                PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                    DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                        DecimalPlaces = 123
                                    },
                                    NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                        DisplayMode = "displayMode"
                                    },
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    Prefix = "prefix",
                                    SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                        DecimalSeparator = "decimalSeparator",
                                        ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                            Symbol = "symbol",
                                            Visibility = "visibility"
                                        }
                                    },
                                    Suffix = "suffix"
                                }
                            },
                            ComparisonMethod = "comparisonMethod"
                        },
                        PrimaryValueDisplayType = "primaryValueDisplayType",
                        PrimaryValueFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        }
                    },
                    TooltipOptions = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    },
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    }
                },
                ConditionalFormatting = new GaugeChartConditionalFormattingProperty {
                    ConditionalFormattingOptions = new [] { new GaugeChartConditionalFormattingOptionProperty {
                        Arc = new GaugeChartArcConditionalFormattingProperty {
                            ForegroundColor = new ConditionalFormattingColorProperty {
                                Gradient = new ConditionalFormattingGradientColorProperty {
                                    Color = new GradientColorProperty {
                                        Stops = new [] { new GradientStopProperty {
                                            GradientOffset = 123,

                                            // the properties below are optional
                                            Color = "color",
                                            DataValue = 123
                                        } }
                                    },
                                    Expression = "expression"
                                },
                                Solid = new ConditionalFormattingSolidColorProperty {
                                    Expression = "expression",

                                    // the properties below are optional
                                    Color = "color"
                                }
                            }
                        },
                        PrimaryValue = new GaugeChartPrimaryValueConditionalFormattingProperty {
                            Icon = new ConditionalFormattingIconProperty {
                                CustomCondition = new ConditionalFormattingCustomIconConditionProperty {
                                    Expression = "expression",
                                    IconOptions = new ConditionalFormattingCustomIconOptionsProperty {
                                        Icon = "icon",
                                        UnicodeIcon = "unicodeIcon"
                                    },

                                    // the properties below are optional
                                    Color = "color",
                                    DisplayConfiguration = new ConditionalFormattingIconDisplayConfigurationProperty {
                                        IconDisplayOption = "iconDisplayOption"
                                    }
                                },
                                IconSet = new ConditionalFormattingIconSetProperty {
                                    Expression = "expression",

                                    // the properties below are optional
                                    IconSetType = "iconSetType"
                                }
                            },
                            TextColor = new ConditionalFormattingColorProperty {
                                Gradient = new ConditionalFormattingGradientColorProperty {
                                    Color = new GradientColorProperty {
                                        Stops = new [] { new GradientStopProperty {
                                            GradientOffset = 123,

                                            // the properties below are optional
                                            Color = "color",
                                            DataValue = 123
                                        } }
                                    },
                                    Expression = "expression"
                                },
                                Solid = new ConditionalFormattingSolidColorProperty {
                                    Expression = "expression",

                                    // the properties below are optional
                                    Color = "color"
                                }
                            }
                        }
                    } }
                },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            GeospatialMapVisual = new GeospatialMapVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new GeospatialMapConfigurationProperty {
                    FieldWells = new GeospatialMapFieldWellsProperty {
                        GeospatialMapAggregatedFieldWells = new GeospatialMapAggregatedFieldWellsProperty {
                            Colors = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Geospatial = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    MapStyleOptions = new GeospatialMapStyleOptionsProperty {
                        BaseMapStyle = "baseMapStyle"
                    },
                    PointStyleOptions = new GeospatialPointStyleOptionsProperty {
                        ClusterMarkerConfiguration = new ClusterMarkerConfigurationProperty {
                            ClusterMarker = new ClusterMarkerProperty {
                                SimpleClusterMarker = new SimpleClusterMarkerProperty {
                                    Color = "color"
                                }
                            }
                        },
                        SelectedPointStyle = "selectedPointStyle"
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    },
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    },
                    WindowOptions = new GeospatialWindowOptionsProperty {
                        Bounds = new GeospatialCoordinateBoundsProperty {
                            East = 123,
                            North = 123,
                            South = 123,
                            West = 123
                        },
                        MapZoomMode = "mapZoomMode"
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            HeatMapVisual = new HeatMapVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new HeatMapConfigurationProperty {
                    ColorScale = new ColorScaleProperty {
                        ColorFillType = "colorFillType",
                        Colors = new [] { new DataColorProperty {
                            Color = "color",
                            DataValue = 123
                        } },

                        // the properties below are optional
                        NullValueColor = new DataColorProperty {
                            Color = "color",
                            DataValue = 123
                        }
                    },
                    ColumnLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    DataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    FieldWells = new HeatMapFieldWellsProperty {
                        HeatMapAggregatedFieldWells = new HeatMapAggregatedFieldWellsProperty {
                            Columns = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Rows = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    RowLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    SortConfiguration = new HeatMapSortConfigurationProperty {
                        HeatMapColumnItemsLimitConfiguration = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        HeatMapColumnSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } },
                        HeatMapRowItemsLimitConfiguration = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        HeatMapRowSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            HistogramVisual = new HistogramVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new HistogramConfigurationProperty {
                    BinOptions = new HistogramBinOptionsProperty {
                        BinCount = new BinCountOptionsProperty {
                            Value = 123
                        },
                        BinWidth = new BinWidthOptionsProperty {
                            BinCountLimit = 123,
                            Value = 123
                        },
                        SelectedBinType = "selectedBinType",
                        StartValue = 123
                    },
                    DataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    FieldWells = new HistogramFieldWellsProperty {
                        HistogramAggregatedFieldWells = new HistogramAggregatedFieldWellsProperty {
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    },
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    },
                    XAxisDisplayOptions = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    XAxisLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    YAxisDisplayOptions = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    }
                },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            InsightVisual = new InsightVisualProperty {
                DataSetIdentifier = "dataSetIdentifier",
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                InsightConfiguration = new InsightConfigurationProperty {
                    Computations = new [] { new ComputationProperty {
                        Forecast = new ForecastComputationProperty {
                            ComputationId = "computationId",
                            Time = new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            },

                            // the properties below are optional
                            CustomSeasonalityValue = 123,
                            LowerBoundary = 123,
                            Name = "name",
                            PeriodsBackward = 123,
                            PeriodsForward = 123,
                            PredictionInterval = 123,
                            Seasonality = "seasonality",
                            UpperBoundary = 123,
                            Value = new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        GrowthRate = new GrowthRateComputationProperty {
                            ComputationId = "computationId",
                            Time = new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            },

                            // the properties below are optional
                            Name = "name",
                            PeriodSize = 123,
                            Value = new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        MaximumMinimum = new MaximumMinimumComputationProperty {
                            ComputationId = "computationId",
                            Time = new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            },
                            Type = "type",

                            // the properties below are optional
                            Name = "name",
                            Value = new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        MetricComparison = new MetricComparisonComputationProperty {
                            ComputationId = "computationId",
                            FromValue = new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            },
                            TargetValue = new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            },
                            Time = new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            },

                            // the properties below are optional
                            Name = "name"
                        },
                        PeriodOverPeriod = new PeriodOverPeriodComputationProperty {
                            ComputationId = "computationId",
                            Time = new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            },

                            // the properties below are optional
                            Name = "name",
                            Value = new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        PeriodToDate = new PeriodToDateComputationProperty {
                            ComputationId = "computationId",
                            Time = new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            },

                            // the properties below are optional
                            Name = "name",
                            PeriodTimeGranularity = "periodTimeGranularity",
                            Value = new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        TopBottomMovers = new TopBottomMoversComputationProperty {
                            Category = new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            },
                            ComputationId = "computationId",
                            Time = new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            },
                            Type = "type",

                            // the properties below are optional
                            MoverSize = 123,
                            Name = "name",
                            SortOrder = "sortOrder",
                            Value = new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        TopBottomRanked = new TopBottomRankedComputationProperty {
                            Category = new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            },
                            ComputationId = "computationId",
                            Type = "type",

                            // the properties below are optional
                            Name = "name",
                            ResultSize = 123,
                            Value = new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        TotalAggregation = new TotalAggregationComputationProperty {
                            ComputationId = "computationId",
                            Value = new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            },

                            // the properties below are optional
                            Name = "name"
                        },
                        UniqueValues = new UniqueValuesComputationProperty {
                            Category = new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            },
                            ComputationId = "computationId",

                            // the properties below are optional
                            Name = "name"
                        }
                    } },
                    CustomNarrative = new CustomNarrativeOptionsProperty {
                        Narrative = "narrative"
                    }
                },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            KpiVisual = new KPIVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new KPIConfigurationProperty {
                    FieldWells = new KPIFieldWellsProperty {
                        TargetValues = new [] { new MeasureFieldProperty {
                            CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                Expression = "expression",
                                FieldId = "fieldId"
                            },
                            CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = "aggregationFunction",
                                FormatConfiguration = new StringFormatConfigurationProperty {
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            },
                            DateMeasureField = new DateMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = "aggregationFunction",
                                FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                    DateTimeFormat = "dateTimeFormat",
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            },
                            NumericalMeasureField = new NumericalMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = new NumericalAggregationFunctionProperty {
                                    PercentileAggregation = new PercentileAggregationProperty {
                                        PercentileValue = 123
                                    },
                                    SimpleNumericalAggregation = "simpleNumericalAggregation"
                                },
                                FormatConfiguration = new NumberFormatConfigurationProperty {
                                    FormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            }
                        } },
                        TrendGroups = new [] { new DimensionFieldProperty {
                            CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                FormatConfiguration = new StringFormatConfigurationProperty {
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                },
                                HierarchyId = "hierarchyId"
                            },
                            DateDimensionField = new DateDimensionFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                DateGranularity = "dateGranularity",
                                FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                    DateTimeFormat = "dateTimeFormat",
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                },
                                HierarchyId = "hierarchyId"
                            },
                            NumericalDimensionField = new NumericalDimensionFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                FormatConfiguration = new NumberFormatConfigurationProperty {
                                    FormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                },
                                HierarchyId = "hierarchyId"
                            }
                        } },
                        Values = new [] { new MeasureFieldProperty {
                            CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                Expression = "expression",
                                FieldId = "fieldId"
                            },
                            CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = "aggregationFunction",
                                FormatConfiguration = new StringFormatConfigurationProperty {
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            },
                            DateMeasureField = new DateMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = "aggregationFunction",
                                FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                    DateTimeFormat = "dateTimeFormat",
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            },
                            NumericalMeasureField = new NumericalMeasureFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                AggregationFunction = new NumericalAggregationFunctionProperty {
                                    PercentileAggregation = new PercentileAggregationProperty {
                                        PercentileValue = 123
                                    },
                                    SimpleNumericalAggregation = "simpleNumericalAggregation"
                                },
                                FormatConfiguration = new NumberFormatConfigurationProperty {
                                    FormatConfiguration = new NumericFormatConfigurationProperty {
                                        CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix",
                                            Symbol = "symbol"
                                        },
                                        NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            NumberScale = "numberScale",
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        },
                                        PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                            DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                DecimalPlaces = 123
                                            },
                                            NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                DisplayMode = "displayMode"
                                            },
                                            NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                NullString = "nullString"
                                            },
                                            Prefix = "prefix",
                                            SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                DecimalSeparator = "decimalSeparator",
                                                ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                    Symbol = "symbol",
                                                    Visibility = "visibility"
                                                }
                                            },
                                            Suffix = "suffix"
                                        }
                                    }
                                }
                            }
                        } }
                    },
                    KpiOptions = new KPIOptionsProperty {
                        Comparison = new ComparisonConfigurationProperty {
                            ComparisonFormat = new ComparisonFormatConfigurationProperty {
                                NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                    DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                        DecimalPlaces = 123
                                    },
                                    NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                        DisplayMode = "displayMode"
                                    },
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    NumberScale = "numberScale",
                                    Prefix = "prefix",
                                    SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                        DecimalSeparator = "decimalSeparator",
                                        ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                            Symbol = "symbol",
                                            Visibility = "visibility"
                                        }
                                    },
                                    Suffix = "suffix"
                                },
                                PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                    DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                        DecimalPlaces = 123
                                    },
                                    NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                        DisplayMode = "displayMode"
                                    },
                                    NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                        NullString = "nullString"
                                    },
                                    Prefix = "prefix",
                                    SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                        DecimalSeparator = "decimalSeparator",
                                        ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                            Symbol = "symbol",
                                            Visibility = "visibility"
                                        }
                                    },
                                    Suffix = "suffix"
                                }
                            },
                            ComparisonMethod = "comparisonMethod"
                        },
                        PrimaryValueDisplayType = "primaryValueDisplayType",
                        PrimaryValueFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        ProgressBar = new ProgressBarOptionsProperty {
                            Visibility = "visibility"
                        },
                        SecondaryValue = new SecondaryValueOptionsProperty {
                            Visibility = "visibility"
                        },
                        SecondaryValueFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        TrendArrows = new TrendArrowOptionsProperty {
                            Visibility = "visibility"
                        }
                    },
                    SortConfiguration = new KPISortConfigurationProperty {
                        TrendGroupSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                ConditionalFormatting = new KPIConditionalFormattingProperty {
                    ConditionalFormattingOptions = new [] { new KPIConditionalFormattingOptionProperty {
                        PrimaryValue = new KPIPrimaryValueConditionalFormattingProperty {
                            Icon = new ConditionalFormattingIconProperty {
                                CustomCondition = new ConditionalFormattingCustomIconConditionProperty {
                                    Expression = "expression",
                                    IconOptions = new ConditionalFormattingCustomIconOptionsProperty {
                                        Icon = "icon",
                                        UnicodeIcon = "unicodeIcon"
                                    },

                                    // the properties below are optional
                                    Color = "color",
                                    DisplayConfiguration = new ConditionalFormattingIconDisplayConfigurationProperty {
                                        IconDisplayOption = "iconDisplayOption"
                                    }
                                },
                                IconSet = new ConditionalFormattingIconSetProperty {
                                    Expression = "expression",

                                    // the properties below are optional
                                    IconSetType = "iconSetType"
                                }
                            },
                            TextColor = new ConditionalFormattingColorProperty {
                                Gradient = new ConditionalFormattingGradientColorProperty {
                                    Color = new GradientColorProperty {
                                        Stops = new [] { new GradientStopProperty {
                                            GradientOffset = 123,

                                            // the properties below are optional
                                            Color = "color",
                                            DataValue = 123
                                        } }
                                    },
                                    Expression = "expression"
                                },
                                Solid = new ConditionalFormattingSolidColorProperty {
                                    Expression = "expression",

                                    // the properties below are optional
                                    Color = "color"
                                }
                            }
                        },
                        ProgressBar = new KPIProgressBarConditionalFormattingProperty {
                            ForegroundColor = new ConditionalFormattingColorProperty {
                                Gradient = new ConditionalFormattingGradientColorProperty {
                                    Color = new GradientColorProperty {
                                        Stops = new [] { new GradientStopProperty {
                                            GradientOffset = 123,

                                            // the properties below are optional
                                            Color = "color",
                                            DataValue = 123
                                        } }
                                    },
                                    Expression = "expression"
                                },
                                Solid = new ConditionalFormattingSolidColorProperty {
                                    Expression = "expression",

                                    // the properties below are optional
                                    Color = "color"
                                }
                            }
                        }
                    } }
                },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            LineChartVisual = new LineChartVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new LineChartConfigurationProperty {
                    ContributionAnalysisDefaults = new [] { new ContributionAnalysisDefaultProperty {
                        ContributorDimensions = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        MeasureFieldId = "measureFieldId"
                    } },
                    DataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    DefaultSeriesSettings = new LineChartDefaultSeriesSettingsProperty {
                        AxisBinding = "axisBinding",
                        LineStyleSettings = new LineChartLineStyleSettingsProperty {
                            LineInterpolation = "lineInterpolation",
                            LineStyle = "lineStyle",
                            LineVisibility = "lineVisibility",
                            LineWidth = "lineWidth"
                        },
                        MarkerStyleSettings = new LineChartMarkerStyleSettingsProperty {
                            MarkerColor = "markerColor",
                            MarkerShape = "markerShape",
                            MarkerSize = "markerSize",
                            MarkerVisibility = "markerVisibility"
                        }
                    },
                    FieldWells = new LineChartFieldWellsProperty {
                        LineChartAggregatedFieldWells = new LineChartAggregatedFieldWellsProperty {
                            Category = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Colors = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            SmallMultiples = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    ForecastConfigurations = new [] { new ForecastConfigurationProperty {
                        ForecastProperties = new TimeBasedForecastPropertiesProperty {
                            LowerBoundary = 123,
                            PeriodsBackward = 123,
                            PeriodsForward = 123,
                            PredictionInterval = 123,
                            Seasonality = 123,
                            UpperBoundary = 123
                        },
                        Scenario = new ForecastScenarioProperty {
                            WhatIfPointScenario = new WhatIfPointScenarioProperty {
                                Date = "date",
                                Value = 123
                            },
                            WhatIfRangeScenario = new WhatIfRangeScenarioProperty {
                                EndDate = "endDate",
                                StartDate = "startDate",
                                Value = 123
                            }
                        }
                    } },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    PrimaryYAxisDisplayOptions = new LineSeriesAxisDisplayOptionsProperty {
                        AxisOptions = new AxisDisplayOptionsProperty {
                            AxisLineVisibility = "axisLineVisibility",
                            AxisOffset = "axisOffset",
                            DataOptions = new AxisDataOptionsProperty {
                                DateAxisOptions = new DateAxisOptionsProperty {
                                    MissingDateVisibility = "missingDateVisibility"
                                },
                                NumericAxisOptions = new NumericAxisOptionsProperty {
                                    Range = new AxisDisplayRangeProperty {
                                        DataDriven = dataDriven,
                                        MinMax = new AxisDisplayMinMaxRangeProperty {
                                            Maximum = 123,
                                            Minimum = 123
                                        }
                                    },
                                    Scale = new AxisScaleProperty {
                                        Linear = new AxisLinearScaleProperty {
                                            StepCount = 123,
                                            StepSize = 123
                                        },
                                        Logarithmic = new AxisLogarithmicScaleProperty {
                                            Base = 123
                                        }
                                    }
                                }
                            },
                            GridLineVisibility = "gridLineVisibility",
                            ScrollbarOptions = new ScrollBarOptionsProperty {
                                Visibility = "visibility",
                                VisibleRange = new VisibleRangeOptionsProperty {
                                    PercentRange = new PercentVisibleRangeProperty {
                                        From = 123,
                                        To = 123
                                    }
                                }
                            },
                            TickLabelOptions = new AxisTickLabelOptionsProperty {
                                LabelOptions = new LabelOptionsProperty {
                                    CustomLabel = "customLabel",
                                    FontConfiguration = new FontConfigurationProperty {
                                        FontColor = "fontColor",
                                        FontDecoration = "fontDecoration",
                                        FontSize = new FontSizeProperty {
                                            Relative = "relative"
                                        },
                                        FontStyle = "fontStyle",
                                        FontWeight = new FontWeightProperty {
                                            Name = "name"
                                        }
                                    },
                                    Visibility = "visibility"
                                },
                                RotationAngle = 123
                            }
                        },
                        MissingDataConfigurations = new [] { new MissingDataConfigurationProperty {
                            TreatmentOption = "treatmentOption"
                        } }
                    },
                    PrimaryYAxisLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    ReferenceLines = new [] { new ReferenceLineProperty {
                        DataConfiguration = new ReferenceLineDataConfigurationProperty {
                            AxisBinding = "axisBinding",
                            DynamicConfiguration = new ReferenceLineDynamicDataConfigurationProperty {
                                Calculation = new NumericalAggregationFunctionProperty {
                                    PercentileAggregation = new PercentileAggregationProperty {
                                        PercentileValue = 123
                                    },
                                    SimpleNumericalAggregation = "simpleNumericalAggregation"
                                },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                MeasureAggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            StaticConfiguration = new ReferenceLineStaticDataConfigurationProperty {
                                Value = 123
                            }
                        },

                        // the properties below are optional
                        LabelConfiguration = new ReferenceLineLabelConfigurationProperty {
                            CustomLabelConfiguration = new ReferenceLineCustomLabelConfigurationProperty {
                                CustomLabel = "customLabel"
                            },
                            FontColor = "fontColor",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            HorizontalPosition = "horizontalPosition",
                            ValueLabelConfiguration = new ReferenceLineValueLabelConfigurationProperty {
                                FormatConfiguration = new NumericFormatConfigurationProperty {
                                    CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumberScale = "numberScale",
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix",
                                        Symbol = "symbol"
                                    },
                                    NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumberScale = "numberScale",
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix"
                                    },
                                    PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                        DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                            DecimalPlaces = 123
                                        },
                                        NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                            DisplayMode = "displayMode"
                                        },
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        Prefix = "prefix",
                                        SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                            DecimalSeparator = "decimalSeparator",
                                            ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                Symbol = "symbol",
                                                Visibility = "visibility"
                                            }
                                        },
                                        Suffix = "suffix"
                                    }
                                },
                                RelativePosition = "relativePosition"
                            },
                            VerticalPosition = "verticalPosition"
                        },
                        Status = "status",
                        StyleConfiguration = new ReferenceLineStyleConfigurationProperty {
                            Color = "color",
                            Pattern = "pattern"
                        }
                    } },
                    SecondaryYAxisDisplayOptions = new LineSeriesAxisDisplayOptionsProperty {
                        AxisOptions = new AxisDisplayOptionsProperty {
                            AxisLineVisibility = "axisLineVisibility",
                            AxisOffset = "axisOffset",
                            DataOptions = new AxisDataOptionsProperty {
                                DateAxisOptions = new DateAxisOptionsProperty {
                                    MissingDateVisibility = "missingDateVisibility"
                                },
                                NumericAxisOptions = new NumericAxisOptionsProperty {
                                    Range = new AxisDisplayRangeProperty {
                                        DataDriven = dataDriven,
                                        MinMax = new AxisDisplayMinMaxRangeProperty {
                                            Maximum = 123,
                                            Minimum = 123
                                        }
                                    },
                                    Scale = new AxisScaleProperty {
                                        Linear = new AxisLinearScaleProperty {
                                            StepCount = 123,
                                            StepSize = 123
                                        },
                                        Logarithmic = new AxisLogarithmicScaleProperty {
                                            Base = 123
                                        }
                                    }
                                }
                            },
                            GridLineVisibility = "gridLineVisibility",
                            ScrollbarOptions = new ScrollBarOptionsProperty {
                                Visibility = "visibility",
                                VisibleRange = new VisibleRangeOptionsProperty {
                                    PercentRange = new PercentVisibleRangeProperty {
                                        From = 123,
                                        To = 123
                                    }
                                }
                            },
                            TickLabelOptions = new AxisTickLabelOptionsProperty {
                                LabelOptions = new LabelOptionsProperty {
                                    CustomLabel = "customLabel",
                                    FontConfiguration = new FontConfigurationProperty {
                                        FontColor = "fontColor",
                                        FontDecoration = "fontDecoration",
                                        FontSize = new FontSizeProperty {
                                            Relative = "relative"
                                        },
                                        FontStyle = "fontStyle",
                                        FontWeight = new FontWeightProperty {
                                            Name = "name"
                                        }
                                    },
                                    Visibility = "visibility"
                                },
                                RotationAngle = 123
                            }
                        },
                        MissingDataConfigurations = new [] { new MissingDataConfigurationProperty {
                            TreatmentOption = "treatmentOption"
                        } }
                    },
                    SecondaryYAxisLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    Series = new [] { new SeriesItemProperty {
                        DataFieldSeriesItem = new DataFieldSeriesItemProperty {
                            AxisBinding = "axisBinding",
                            FieldId = "fieldId",

                            // the properties below are optional
                            FieldValue = "fieldValue",
                            Settings = new LineChartSeriesSettingsProperty {
                                LineStyleSettings = new LineChartLineStyleSettingsProperty {
                                    LineInterpolation = "lineInterpolation",
                                    LineStyle = "lineStyle",
                                    LineVisibility = "lineVisibility",
                                    LineWidth = "lineWidth"
                                },
                                MarkerStyleSettings = new LineChartMarkerStyleSettingsProperty {
                                    MarkerColor = "markerColor",
                                    MarkerShape = "markerShape",
                                    MarkerSize = "markerSize",
                                    MarkerVisibility = "markerVisibility"
                                }
                            }
                        },
                        FieldSeriesItem = new FieldSeriesItemProperty {
                            AxisBinding = "axisBinding",
                            FieldId = "fieldId",

                            // the properties below are optional
                            Settings = new LineChartSeriesSettingsProperty {
                                LineStyleSettings = new LineChartLineStyleSettingsProperty {
                                    LineInterpolation = "lineInterpolation",
                                    LineStyle = "lineStyle",
                                    LineVisibility = "lineVisibility",
                                    LineWidth = "lineWidth"
                                },
                                MarkerStyleSettings = new LineChartMarkerStyleSettingsProperty {
                                    MarkerColor = "markerColor",
                                    MarkerShape = "markerShape",
                                    MarkerSize = "markerSize",
                                    MarkerVisibility = "markerVisibility"
                                }
                            }
                        }
                    } },
                    SmallMultiplesOptions = new SmallMultiplesOptionsProperty {
                        MaxVisibleColumns = 123,
                        MaxVisibleRows = 123,
                        PanelConfiguration = new PanelConfigurationProperty {
                            BackgroundColor = "backgroundColor",
                            BackgroundVisibility = "backgroundVisibility",
                            BorderColor = "borderColor",
                            BorderStyle = "borderStyle",
                            BorderThickness = "borderThickness",
                            BorderVisibility = "borderVisibility",
                            GutterSpacing = "gutterSpacing",
                            GutterVisibility = "gutterVisibility",
                            Title = new PanelTitleOptionsProperty {
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                Visibility = "visibility"
                            }
                        }
                    },
                    SortConfiguration = new LineChartSortConfigurationProperty {
                        CategoryItemsLimitConfiguration = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        CategorySort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } },
                        ColorItemsLimitConfiguration = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        SmallMultiplesLimitConfiguration = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        SmallMultiplesSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    },
                    Type = "type",
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    },
                    XAxisDisplayOptions = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    XAxisLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            PieChartVisual = new PieChartVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new PieChartConfigurationProperty {
                    CategoryLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    ContributionAnalysisDefaults = new [] { new ContributionAnalysisDefaultProperty {
                        ContributorDimensions = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        MeasureFieldId = "measureFieldId"
                    } },
                    DataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    DonutOptions = new DonutOptionsProperty {
                        ArcOptions = new ArcOptionsProperty {
                            ArcThickness = "arcThickness"
                        },
                        DonutCenterOptions = new DonutCenterOptionsProperty {
                            LabelVisibility = "labelVisibility"
                        }
                    },
                    FieldWells = new PieChartFieldWellsProperty {
                        PieChartAggregatedFieldWells = new PieChartAggregatedFieldWellsProperty {
                            Category = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            SmallMultiples = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    SmallMultiplesOptions = new SmallMultiplesOptionsProperty {
                        MaxVisibleColumns = 123,
                        MaxVisibleRows = 123,
                        PanelConfiguration = new PanelConfigurationProperty {
                            BackgroundColor = "backgroundColor",
                            BackgroundVisibility = "backgroundVisibility",
                            BorderColor = "borderColor",
                            BorderStyle = "borderStyle",
                            BorderThickness = "borderThickness",
                            BorderVisibility = "borderVisibility",
                            GutterSpacing = "gutterSpacing",
                            GutterVisibility = "gutterVisibility",
                            Title = new PanelTitleOptionsProperty {
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                Visibility = "visibility"
                            }
                        }
                    },
                    SortConfiguration = new PieChartSortConfigurationProperty {
                        CategoryItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        CategorySort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } },
                        SmallMultiplesLimitConfiguration = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        SmallMultiplesSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    },
                    ValueLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            PivotTableVisual = new PivotTableVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new PivotTableConfigurationProperty {
                    FieldOptions = new PivotTableFieldOptionsProperty {
                        DataPathOptions = new [] { new PivotTableDataPathOptionProperty {
                            DataPathList = new [] { new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            } },

                            // the properties below are optional
                            Width = "width"
                        } },
                        SelectedFieldOptions = new [] { new PivotTableFieldOptionProperty {
                            FieldId = "fieldId",

                            // the properties below are optional
                            CustomLabel = "customLabel",
                            Visibility = "visibility"
                        } }
                    },
                    FieldWells = new PivotTableFieldWellsProperty {
                        PivotTableAggregatedFieldWells = new PivotTableAggregatedFieldWellsProperty {
                            Columns = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Rows = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    PaginatedReportOptions = new PivotTablePaginatedReportOptionsProperty {
                        OverflowColumnHeaderVisibility = "overflowColumnHeaderVisibility",
                        VerticalOverflowVisibility = "verticalOverflowVisibility"
                    },
                    SortConfiguration = new PivotTableSortConfigurationProperty {
                        FieldSortOptions = new [] { new PivotFieldSortOptionsProperty {
                            FieldId = "fieldId",
                            SortBy = new PivotTableSortByProperty {
                                Column = new ColumnSortProperty {
                                    Direction = "direction",
                                    SortBy = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    AggregationFunction = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    }
                                },
                                DataPath = new DataPathSortProperty {
                                    Direction = "direction",
                                    SortPaths = new [] { new DataPathValueProperty {
                                        FieldId = "fieldId",
                                        FieldValue = "fieldValue"
                                    } }
                                },
                                Field = new FieldSortProperty {
                                    Direction = "direction",
                                    FieldId = "fieldId"
                                }
                            }
                        } }
                    },
                    TableOptions = new PivotTableOptionsProperty {
                        CellStyle = new TableCellStyleProperty {
                            BackgroundColor = "backgroundColor",
                            Border = new GlobalTableBorderOptionsProperty {
                                SideSpecificBorder = new TableSideBorderOptionsProperty {
                                    Bottom = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerHorizontal = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerVertical = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Left = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Right = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Top = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                UniformBorder = new TableBorderOptionsProperty {
                                    Color = "color",
                                    Style = "style",
                                    Thickness = 123
                                }
                            },
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Height = 123,
                            HorizontalTextAlignment = "horizontalTextAlignment",
                            TextWrap = "textWrap",
                            VerticalTextAlignment = "verticalTextAlignment",
                            Visibility = "visibility"
                        },
                        ColumnHeaderStyle = new TableCellStyleProperty {
                            BackgroundColor = "backgroundColor",
                            Border = new GlobalTableBorderOptionsProperty {
                                SideSpecificBorder = new TableSideBorderOptionsProperty {
                                    Bottom = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerHorizontal = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerVertical = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Left = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Right = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Top = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                UniformBorder = new TableBorderOptionsProperty {
                                    Color = "color",
                                    Style = "style",
                                    Thickness = 123
                                }
                            },
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Height = 123,
                            HorizontalTextAlignment = "horizontalTextAlignment",
                            TextWrap = "textWrap",
                            VerticalTextAlignment = "verticalTextAlignment",
                            Visibility = "visibility"
                        },
                        ColumnNamesVisibility = "columnNamesVisibility",
                        MetricPlacement = "metricPlacement",
                        RowAlternateColorOptions = new RowAlternateColorOptionsProperty {
                            RowAlternateColors = new [] { "rowAlternateColors" },
                            Status = "status"
                        },
                        RowFieldNamesStyle = new TableCellStyleProperty {
                            BackgroundColor = "backgroundColor",
                            Border = new GlobalTableBorderOptionsProperty {
                                SideSpecificBorder = new TableSideBorderOptionsProperty {
                                    Bottom = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerHorizontal = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerVertical = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Left = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Right = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Top = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                UniformBorder = new TableBorderOptionsProperty {
                                    Color = "color",
                                    Style = "style",
                                    Thickness = 123
                                }
                            },
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Height = 123,
                            HorizontalTextAlignment = "horizontalTextAlignment",
                            TextWrap = "textWrap",
                            VerticalTextAlignment = "verticalTextAlignment",
                            Visibility = "visibility"
                        },
                        RowHeaderStyle = new TableCellStyleProperty {
                            BackgroundColor = "backgroundColor",
                            Border = new GlobalTableBorderOptionsProperty {
                                SideSpecificBorder = new TableSideBorderOptionsProperty {
                                    Bottom = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerHorizontal = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerVertical = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Left = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Right = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Top = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                UniformBorder = new TableBorderOptionsProperty {
                                    Color = "color",
                                    Style = "style",
                                    Thickness = 123
                                }
                            },
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Height = 123,
                            HorizontalTextAlignment = "horizontalTextAlignment",
                            TextWrap = "textWrap",
                            VerticalTextAlignment = "verticalTextAlignment",
                            Visibility = "visibility"
                        },
                        SingleMetricVisibility = "singleMetricVisibility",
                        ToggleButtonsVisibility = "toggleButtonsVisibility"
                    },
                    TotalOptions = new PivotTableTotalOptionsProperty {
                        ColumnSubtotalOptions = new SubtotalOptionsProperty {
                            CustomLabel = "customLabel",
                            FieldLevel = "fieldLevel",
                            FieldLevelOptions = new [] { new PivotTableFieldSubtotalOptionsProperty {
                                FieldId = "fieldId"
                            } },
                            MetricHeaderCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            },
                            TotalCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            },
                            TotalsVisibility = "totalsVisibility",
                            ValueCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            }
                        },
                        ColumnTotalOptions = new PivotTotalOptionsProperty {
                            CustomLabel = "customLabel",
                            MetricHeaderCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            },
                            Placement = "placement",
                            ScrollStatus = "scrollStatus",
                            TotalCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            },
                            TotalsVisibility = "totalsVisibility",
                            ValueCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            }
                        },
                        RowSubtotalOptions = new SubtotalOptionsProperty {
                            CustomLabel = "customLabel",
                            FieldLevel = "fieldLevel",
                            FieldLevelOptions = new [] { new PivotTableFieldSubtotalOptionsProperty {
                                FieldId = "fieldId"
                            } },
                            MetricHeaderCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            },
                            TotalCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            },
                            TotalsVisibility = "totalsVisibility",
                            ValueCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            }
                        },
                        RowTotalOptions = new PivotTotalOptionsProperty {
                            CustomLabel = "customLabel",
                            MetricHeaderCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            },
                            Placement = "placement",
                            ScrollStatus = "scrollStatus",
                            TotalCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            },
                            TotalsVisibility = "totalsVisibility",
                            ValueCellStyle = new TableCellStyleProperty {
                                BackgroundColor = "backgroundColor",
                                Border = new GlobalTableBorderOptionsProperty {
                                    SideSpecificBorder = new TableSideBorderOptionsProperty {
                                        Bottom = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerHorizontal = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        InnerVertical = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Left = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Right = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        },
                                        Top = new TableBorderOptionsProperty {
                                            Color = "color",
                                            Style = "style",
                                            Thickness = 123
                                        }
                                    },
                                    UniformBorder = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Height = 123,
                                HorizontalTextAlignment = "horizontalTextAlignment",
                                TextWrap = "textWrap",
                                VerticalTextAlignment = "verticalTextAlignment",
                                Visibility = "visibility"
                            }
                        }
                    }
                },
                ConditionalFormatting = new PivotTableConditionalFormattingProperty {
                    ConditionalFormattingOptions = new [] { new PivotTableConditionalFormattingOptionProperty {
                        Cell = new PivotTableCellConditionalFormattingProperty {
                            FieldId = "fieldId",

                            // the properties below are optional
                            Scope = new PivotTableConditionalFormattingScopeProperty {
                                Role = "role"
                            },
                            TextFormat = new TextConditionalFormatProperty {
                                BackgroundColor = new ConditionalFormattingColorProperty {
                                    Gradient = new ConditionalFormattingGradientColorProperty {
                                        Color = new GradientColorProperty {
                                            Stops = new [] { new GradientStopProperty {
                                                GradientOffset = 123,

                                                // the properties below are optional
                                                Color = "color",
                                                DataValue = 123
                                            } }
                                        },
                                        Expression = "expression"
                                    },
                                    Solid = new ConditionalFormattingSolidColorProperty {
                                        Expression = "expression",

                                        // the properties below are optional
                                        Color = "color"
                                    }
                                },
                                Icon = new ConditionalFormattingIconProperty {
                                    CustomCondition = new ConditionalFormattingCustomIconConditionProperty {
                                        Expression = "expression",
                                        IconOptions = new ConditionalFormattingCustomIconOptionsProperty {
                                            Icon = "icon",
                                            UnicodeIcon = "unicodeIcon"
                                        },

                                        // the properties below are optional
                                        Color = "color",
                                        DisplayConfiguration = new ConditionalFormattingIconDisplayConfigurationProperty {
                                            IconDisplayOption = "iconDisplayOption"
                                        }
                                    },
                                    IconSet = new ConditionalFormattingIconSetProperty {
                                        Expression = "expression",

                                        // the properties below are optional
                                        IconSetType = "iconSetType"
                                    }
                                },
                                TextColor = new ConditionalFormattingColorProperty {
                                    Gradient = new ConditionalFormattingGradientColorProperty {
                                        Color = new GradientColorProperty {
                                            Stops = new [] { new GradientStopProperty {
                                                GradientOffset = 123,

                                                // the properties below are optional
                                                Color = "color",
                                                DataValue = 123
                                            } }
                                        },
                                        Expression = "expression"
                                    },
                                    Solid = new ConditionalFormattingSolidColorProperty {
                                        Expression = "expression",

                                        // the properties below are optional
                                        Color = "color"
                                    }
                                }
                            }
                        }
                    } }
                },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            RadarChartVisual = new RadarChartVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new RadarChartConfigurationProperty {
                    AlternateBandColorsVisibility = "alternateBandColorsVisibility",
                    AlternateBandEvenColor = "alternateBandEvenColor",
                    AlternateBandOddColor = "alternateBandOddColor",
                    BaseSeriesSettings = new RadarChartSeriesSettingsProperty {
                        AreaStyleSettings = new RadarChartAreaStyleSettingsProperty {
                            Visibility = "visibility"
                        }
                    },
                    CategoryAxis = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    CategoryLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    ColorAxis = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    ColorLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    FieldWells = new RadarChartFieldWellsProperty {
                        RadarChartAggregatedFieldWells = new RadarChartAggregatedFieldWellsProperty {
                            Category = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Color = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    Shape = "shape",
                    SortConfiguration = new RadarChartSortConfigurationProperty {
                        CategoryItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        CategorySort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } },
                        ColorItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        ColorSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    StartAngle = 123,
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            SankeyDiagramVisual = new SankeyDiagramVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new SankeyDiagramChartConfigurationProperty {
                    DataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    FieldWells = new SankeyDiagramFieldWellsProperty {
                        SankeyDiagramAggregatedFieldWells = new SankeyDiagramAggregatedFieldWellsProperty {
                            Destination = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Source = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Weight = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    SortConfiguration = new SankeyDiagramSortConfigurationProperty {
                        DestinationItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        SourceItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        WeightSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    }
                },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            ScatterPlotVisual = new ScatterPlotVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new ScatterPlotConfigurationProperty {
                    DataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    FieldWells = new ScatterPlotFieldWellsProperty {
                        ScatterPlotCategoricallyAggregatedFieldWells = new ScatterPlotCategoricallyAggregatedFieldWellsProperty {
                            Category = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Size = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } },
                            XAxis = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } },
                            YAxis = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        },
                        ScatterPlotUnaggregatedFieldWells = new ScatterPlotUnaggregatedFieldWellsProperty {
                            Size = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } },
                            XAxis = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            YAxis = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } }
                        }
                    },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    },
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    },
                    XAxisDisplayOptions = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    XAxisLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    YAxisDisplayOptions = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    YAxisLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            TableVisual = new TableVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new TableConfigurationProperty {
                    FieldOptions = new TableFieldOptionsProperty {
                        Order = new [] { "order" },
                        SelectedFieldOptions = new [] { new TableFieldOptionProperty {
                            FieldId = "fieldId",

                            // the properties below are optional
                            CustomLabel = "customLabel",
                            UrlStyling = new TableFieldURLConfigurationProperty {
                                ImageConfiguration = new TableFieldImageConfigurationProperty {
                                    SizingOptions = new TableCellImageSizingConfigurationProperty {
                                        TableCellImageScalingConfiguration = "tableCellImageScalingConfiguration"
                                    }
                                },
                                LinkConfiguration = new TableFieldLinkConfigurationProperty {
                                    Content = new TableFieldLinkContentConfigurationProperty {
                                        CustomIconContent = new TableFieldCustomIconContentProperty {
                                            Icon = "icon"
                                        },
                                        CustomTextContent = new TableFieldCustomTextContentProperty {
                                            FontConfiguration = new FontConfigurationProperty {
                                                FontColor = "fontColor",
                                                FontDecoration = "fontDecoration",
                                                FontSize = new FontSizeProperty {
                                                    Relative = "relative"
                                                },
                                                FontStyle = "fontStyle",
                                                FontWeight = new FontWeightProperty {
                                                    Name = "name"
                                                }
                                            },

                                            // the properties below are optional
                                            Value = "value"
                                        }
                                    },
                                    Target = "target"
                                }
                            },
                            Visibility = "visibility",
                            Width = "width"
                        } }
                    },
                    FieldWells = new TableFieldWellsProperty {
                        TableAggregatedFieldWells = new TableAggregatedFieldWellsProperty {
                            GroupBy = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        },
                        TableUnaggregatedFieldWells = new TableUnaggregatedFieldWellsProperty {
                            Values = new [] { new UnaggregatedFieldProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId",

                                // the properties below are optional
                                FormatConfiguration = new FormatConfigurationProperty {
                                    DateTimeFormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    NumberFormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    StringFormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    PaginatedReportOptions = new TablePaginatedReportOptionsProperty {
                        OverflowColumnHeaderVisibility = "overflowColumnHeaderVisibility",
                        VerticalOverflowVisibility = "verticalOverflowVisibility"
                    },
                    SortConfiguration = new TableSortConfigurationProperty {
                        PaginationConfiguration = new PaginationConfigurationProperty {
                            PageNumber = 123,
                            PageSize = 123
                        },
                        RowSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    TableInlineVisualizations = new [] { new TableInlineVisualizationProperty {
                        DataBars = new DataBarsOptionsProperty {
                            FieldId = "fieldId",

                            // the properties below are optional
                            NegativeColor = "negativeColor",
                            PositiveColor = "positiveColor"
                        }
                    } },
                    TableOptions = new TableOptionsProperty {
                        CellStyle = new TableCellStyleProperty {
                            BackgroundColor = "backgroundColor",
                            Border = new GlobalTableBorderOptionsProperty {
                                SideSpecificBorder = new TableSideBorderOptionsProperty {
                                    Bottom = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerHorizontal = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerVertical = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Left = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Right = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Top = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                UniformBorder = new TableBorderOptionsProperty {
                                    Color = "color",
                                    Style = "style",
                                    Thickness = 123
                                }
                            },
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Height = 123,
                            HorizontalTextAlignment = "horizontalTextAlignment",
                            TextWrap = "textWrap",
                            VerticalTextAlignment = "verticalTextAlignment",
                            Visibility = "visibility"
                        },
                        HeaderStyle = new TableCellStyleProperty {
                            BackgroundColor = "backgroundColor",
                            Border = new GlobalTableBorderOptionsProperty {
                                SideSpecificBorder = new TableSideBorderOptionsProperty {
                                    Bottom = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerHorizontal = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerVertical = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Left = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Right = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Top = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                UniformBorder = new TableBorderOptionsProperty {
                                    Color = "color",
                                    Style = "style",
                                    Thickness = 123
                                }
                            },
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Height = 123,
                            HorizontalTextAlignment = "horizontalTextAlignment",
                            TextWrap = "textWrap",
                            VerticalTextAlignment = "verticalTextAlignment",
                            Visibility = "visibility"
                        },
                        Orientation = "orientation",
                        RowAlternateColorOptions = new RowAlternateColorOptionsProperty {
                            RowAlternateColors = new [] { "rowAlternateColors" },
                            Status = "status"
                        }
                    },
                    TotalOptions = new TotalOptionsProperty {
                        CustomLabel = "customLabel",
                        Placement = "placement",
                        ScrollStatus = "scrollStatus",
                        TotalCellStyle = new TableCellStyleProperty {
                            BackgroundColor = "backgroundColor",
                            Border = new GlobalTableBorderOptionsProperty {
                                SideSpecificBorder = new TableSideBorderOptionsProperty {
                                    Bottom = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerHorizontal = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    InnerVertical = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Left = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Right = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    },
                                    Top = new TableBorderOptionsProperty {
                                        Color = "color",
                                        Style = "style",
                                        Thickness = 123
                                    }
                                },
                                UniformBorder = new TableBorderOptionsProperty {
                                    Color = "color",
                                    Style = "style",
                                    Thickness = 123
                                }
                            },
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Height = 123,
                            HorizontalTextAlignment = "horizontalTextAlignment",
                            TextWrap = "textWrap",
                            VerticalTextAlignment = "verticalTextAlignment",
                            Visibility = "visibility"
                        },
                        TotalsVisibility = "totalsVisibility"
                    }
                },
                ConditionalFormatting = new TableConditionalFormattingProperty {
                    ConditionalFormattingOptions = new [] { new TableConditionalFormattingOptionProperty {
                        Cell = new TableCellConditionalFormattingProperty {
                            FieldId = "fieldId",

                            // the properties below are optional
                            TextFormat = new TextConditionalFormatProperty {
                                BackgroundColor = new ConditionalFormattingColorProperty {
                                    Gradient = new ConditionalFormattingGradientColorProperty {
                                        Color = new GradientColorProperty {
                                            Stops = new [] { new GradientStopProperty {
                                                GradientOffset = 123,

                                                // the properties below are optional
                                                Color = "color",
                                                DataValue = 123
                                            } }
                                        },
                                        Expression = "expression"
                                    },
                                    Solid = new ConditionalFormattingSolidColorProperty {
                                        Expression = "expression",

                                        // the properties below are optional
                                        Color = "color"
                                    }
                                },
                                Icon = new ConditionalFormattingIconProperty {
                                    CustomCondition = new ConditionalFormattingCustomIconConditionProperty {
                                        Expression = "expression",
                                        IconOptions = new ConditionalFormattingCustomIconOptionsProperty {
                                            Icon = "icon",
                                            UnicodeIcon = "unicodeIcon"
                                        },

                                        // the properties below are optional
                                        Color = "color",
                                        DisplayConfiguration = new ConditionalFormattingIconDisplayConfigurationProperty {
                                            IconDisplayOption = "iconDisplayOption"
                                        }
                                    },
                                    IconSet = new ConditionalFormattingIconSetProperty {
                                        Expression = "expression",

                                        // the properties below are optional
                                        IconSetType = "iconSetType"
                                    }
                                },
                                TextColor = new ConditionalFormattingColorProperty {
                                    Gradient = new ConditionalFormattingGradientColorProperty {
                                        Color = new GradientColorProperty {
                                            Stops = new [] { new GradientStopProperty {
                                                GradientOffset = 123,

                                                // the properties below are optional
                                                Color = "color",
                                                DataValue = 123
                                            } }
                                        },
                                        Expression = "expression"
                                    },
                                    Solid = new ConditionalFormattingSolidColorProperty {
                                        Expression = "expression",

                                        // the properties below are optional
                                        Color = "color"
                                    }
                                }
                            }
                        },
                        Row = new TableRowConditionalFormattingProperty {
                            BackgroundColor = new ConditionalFormattingColorProperty {
                                Gradient = new ConditionalFormattingGradientColorProperty {
                                    Color = new GradientColorProperty {
                                        Stops = new [] { new GradientStopProperty {
                                            GradientOffset = 123,

                                            // the properties below are optional
                                            Color = "color",
                                            DataValue = 123
                                        } }
                                    },
                                    Expression = "expression"
                                },
                                Solid = new ConditionalFormattingSolidColorProperty {
                                    Expression = "expression",

                                    // the properties below are optional
                                    Color = "color"
                                }
                            },
                            TextColor = new ConditionalFormattingColorProperty {
                                Gradient = new ConditionalFormattingGradientColorProperty {
                                    Color = new GradientColorProperty {
                                        Stops = new [] { new GradientStopProperty {
                                            GradientOffset = 123,

                                            // the properties below are optional
                                            Color = "color",
                                            DataValue = 123
                                        } }
                                    },
                                    Expression = "expression"
                                },
                                Solid = new ConditionalFormattingSolidColorProperty {
                                    Expression = "expression",

                                    // the properties below are optional
                                    Color = "color"
                                }
                            }
                        }
                    } }
                },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            TreeMapVisual = new TreeMapVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new TreeMapConfigurationProperty {
                    ColorLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    ColorScale = new ColorScaleProperty {
                        ColorFillType = "colorFillType",
                        Colors = new [] { new DataColorProperty {
                            Color = "color",
                            DataValue = 123
                        } },

                        // the properties below are optional
                        NullValueColor = new DataColorProperty {
                            Color = "color",
                            DataValue = 123
                        }
                    },
                    DataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    FieldWells = new TreeMapFieldWellsProperty {
                        TreeMapAggregatedFieldWells = new TreeMapAggregatedFieldWellsProperty {
                            Colors = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } },
                            Groups = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Sizes = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    GroupLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    SizeLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    SortConfiguration = new TreeMapSortConfigurationProperty {
                        TreeMapGroupItemsLimitConfiguration = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        TreeMapSort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    Tooltip = new TooltipOptionsProperty {
                        FieldBasedTooltip = new FieldBasedTooltipProperty {
                            AggregationVisibility = "aggregationVisibility",
                            TooltipFields = new [] { new TooltipItemProperty {
                                ColumnTooltipItem = new ColumnTooltipItemProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },

                                    // the properties below are optional
                                    Aggregation = new AggregationFunctionProperty {
                                        CategoricalAggregationFunction = "categoricalAggregationFunction",
                                        DateAggregationFunction = "dateAggregationFunction",
                                        NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                            PercentileAggregation = new PercentileAggregationProperty {
                                                PercentileValue = 123
                                            },
                                            SimpleNumericalAggregation = "simpleNumericalAggregation"
                                        }
                                    },
                                    Label = "label",
                                    Visibility = "visibility"
                                },
                                FieldTooltipItem = new FieldTooltipItemProperty {
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    Label = "label",
                                    Visibility = "visibility"
                                }
                            } },
                            TooltipTitleType = "tooltipTitleType"
                        },
                        SelectedTooltipType = "selectedTooltipType",
                        TooltipVisibility = "tooltipVisibility"
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            WaterfallVisual = new WaterfallVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new WaterfallChartConfigurationProperty {
                    CategoryAxisDisplayOptions = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    CategoryAxisLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    DataLabels = new DataLabelOptionsProperty {
                        CategoryLabelVisibility = "categoryLabelVisibility",
                        DataLabelTypes = new [] { new DataLabelTypeProperty {
                            DataPathLabelType = new DataPathLabelTypeProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue",
                                Visibility = "visibility"
                            },
                            FieldLabelType = new FieldLabelTypeProperty {
                                FieldId = "fieldId",
                                Visibility = "visibility"
                            },
                            MaximumLabelType = new MaximumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            MinimumLabelType = new MinimumLabelTypeProperty {
                                Visibility = "visibility"
                            },
                            RangeEndsLabelType = new RangeEndsLabelTypeProperty {
                                Visibility = "visibility"
                            }
                        } },
                        LabelColor = "labelColor",
                        LabelContent = "labelContent",
                        LabelFontConfiguration = new FontConfigurationProperty {
                            FontColor = "fontColor",
                            FontDecoration = "fontDecoration",
                            FontSize = new FontSizeProperty {
                                Relative = "relative"
                            },
                            FontStyle = "fontStyle",
                            FontWeight = new FontWeightProperty {
                                Name = "name"
                            }
                        },
                        MeasureLabelVisibility = "measureLabelVisibility",
                        Overlap = "overlap",
                        Position = "position",
                        Visibility = "visibility"
                    },
                    FieldWells = new WaterfallChartFieldWellsProperty {
                        WaterfallChartAggregatedFieldWells = new WaterfallChartAggregatedFieldWellsProperty {
                            Breakdowns = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Categories = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Values = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    Legend = new LegendOptionsProperty {
                        Height = "height",
                        Position = "position",
                        Title = new LabelOptionsProperty {
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            },
                            Visibility = "visibility"
                        },
                        Visibility = "visibility",
                        Width = "width"
                    },
                    PrimaryYAxisDisplayOptions = new AxisDisplayOptionsProperty {
                        AxisLineVisibility = "axisLineVisibility",
                        AxisOffset = "axisOffset",
                        DataOptions = new AxisDataOptionsProperty {
                            DateAxisOptions = new DateAxisOptionsProperty {
                                MissingDateVisibility = "missingDateVisibility"
                            },
                            NumericAxisOptions = new NumericAxisOptionsProperty {
                                Range = new AxisDisplayRangeProperty {
                                    DataDriven = dataDriven,
                                    MinMax = new AxisDisplayMinMaxRangeProperty {
                                        Maximum = 123,
                                        Minimum = 123
                                    }
                                },
                                Scale = new AxisScaleProperty {
                                    Linear = new AxisLinearScaleProperty {
                                        StepCount = 123,
                                        StepSize = 123
                                    },
                                    Logarithmic = new AxisLogarithmicScaleProperty {
                                        Base = 123
                                    }
                                }
                            }
                        },
                        GridLineVisibility = "gridLineVisibility",
                        ScrollbarOptions = new ScrollBarOptionsProperty {
                            Visibility = "visibility",
                            VisibleRange = new VisibleRangeOptionsProperty {
                                PercentRange = new PercentVisibleRangeProperty {
                                    From = 123,
                                    To = 123
                                }
                            }
                        },
                        TickLabelOptions = new AxisTickLabelOptionsProperty {
                            LabelOptions = new LabelOptionsProperty {
                                CustomLabel = "customLabel",
                                FontConfiguration = new FontConfigurationProperty {
                                    FontColor = "fontColor",
                                    FontDecoration = "fontDecoration",
                                    FontSize = new FontSizeProperty {
                                        Relative = "relative"
                                    },
                                    FontStyle = "fontStyle",
                                    FontWeight = new FontWeightProperty {
                                        Name = "name"
                                    }
                                },
                                Visibility = "visibility"
                            },
                            RotationAngle = 123
                        }
                    },
                    PrimaryYAxisLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    SortConfiguration = new WaterfallChartSortConfigurationProperty {
                        BreakdownItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        CategorySort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    VisualPalette = new VisualPaletteProperty {
                        ChartColor = "chartColor",
                        ColorMap = new [] { new DataPathColorProperty {
                            Color = "color",
                            Element = new DataPathValueProperty {
                                FieldId = "fieldId",
                                FieldValue = "fieldValue"
                            },

                            // the properties below are optional
                            TimeGranularity = "timeGranularity"
                        } }
                    },
                    WaterfallChartOptions = new WaterfallChartOptionsProperty {
                        TotalBarLabel = "totalBarLabel"
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            },
            WordCloudVisual = new WordCloudVisualProperty {
                VisualId = "visualId",

                // the properties below are optional
                Actions = new [] { new VisualCustomActionProperty {
                    ActionOperations = new [] { new VisualCustomActionOperationProperty {
                        FilterOperation = new CustomActionFilterOperationProperty {
                            SelectedFieldsConfiguration = new FilterOperationSelectedFieldsConfigurationProperty {
                                SelectedFieldOptions = "selectedFieldOptions",
                                SelectedFields = new [] { "selectedFields" }
                            },
                            TargetVisualsConfiguration = new FilterOperationTargetVisualsConfigurationProperty {
                                SameSheetTargetVisualConfiguration = new SameSheetTargetVisualConfigurationProperty {
                                    TargetVisualOptions = "targetVisualOptions",
                                    TargetVisuals = new [] { "targetVisuals" }
                                }
                            }
                        },
                        NavigationOperation = new CustomActionNavigationOperationProperty {
                            LocalNavigationConfiguration = new LocalNavigationConfigurationProperty {
                                TargetSheetId = "targetSheetId"
                            }
                        },
                        SetParametersOperation = new CustomActionSetParametersOperationProperty {
                            ParameterValueConfigurations = new [] { new SetParameterValueConfigurationProperty {
                                DestinationParameterName = "destinationParameterName",
                                Value = new DestinationParameterValueConfigurationProperty {
                                    CustomValuesConfiguration = new CustomValuesConfigurationProperty {
                                        CustomValues = new CustomParameterValuesProperty {
                                            DateTimeValues = new [] { "dateTimeValues" },
                                            DecimalValues = new [] { 123 },
                                            IntegerValues = new [] { 123 },
                                            StringValues = new [] { "stringValues" }
                                        },

                                        // the properties below are optional
                                        IncludeNullValue = false
                                    },
                                    SelectAllValueOptions = "selectAllValueOptions",
                                    SourceField = "sourceField",
                                    SourceParameterName = "sourceParameterName"
                                }
                            } }
                        },
                        UrlOperation = new CustomActionURLOperationProperty {
                            UrlTarget = "urlTarget",
                            UrlTemplate = "urlTemplate"
                        }
                    } },
                    CustomActionId = "customActionId",
                    Name = "name",
                    Trigger = "trigger",

                    // the properties below are optional
                    Status = "status"
                } },
                ChartConfiguration = new WordCloudChartConfigurationProperty {
                    CategoryLabelOptions = new ChartAxisLabelOptionsProperty {
                        AxisLabelOptions = new [] { new AxisLabelOptionsProperty {
                            ApplyTo = new AxisLabelReferenceOptionsProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                FieldId = "fieldId"
                            },
                            CustomLabel = "customLabel",
                            FontConfiguration = new FontConfigurationProperty {
                                FontColor = "fontColor",
                                FontDecoration = "fontDecoration",
                                FontSize = new FontSizeProperty {
                                    Relative = "relative"
                                },
                                FontStyle = "fontStyle",
                                FontWeight = new FontWeightProperty {
                                    Name = "name"
                                }
                            }
                        } },
                        SortIconVisibility = "sortIconVisibility",
                        Visibility = "visibility"
                    },
                    FieldWells = new WordCloudFieldWellsProperty {
                        WordCloudAggregatedFieldWells = new WordCloudAggregatedFieldWellsProperty {
                            GroupBy = new [] { new DimensionFieldProperty {
                                CategoricalDimensionField = new CategoricalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                DateDimensionField = new DateDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    DateGranularity = "dateGranularity",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                },
                                NumericalDimensionField = new NumericalDimensionFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    },
                                    HierarchyId = "hierarchyId"
                                }
                            } },
                            Size = new [] { new MeasureFieldProperty {
                                CalculatedMeasureField = new CalculatedMeasureFieldProperty {
                                    Expression = "expression",
                                    FieldId = "fieldId"
                                },
                                CategoricalMeasureField = new CategoricalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new StringFormatConfigurationProperty {
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                DateMeasureField = new DateMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = "aggregationFunction",
                                    FormatConfiguration = new DateTimeFormatConfigurationProperty {
                                        DateTimeFormat = "dateTimeFormat",
                                        NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                            NullString = "nullString"
                                        },
                                        NumericFormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                },
                                NumericalMeasureField = new NumericalMeasureFieldProperty {
                                    Column = new ColumnIdentifierProperty {
                                        ColumnName = "columnName",
                                        DataSetIdentifier = "dataSetIdentifier"
                                    },
                                    FieldId = "fieldId",

                                    // the properties below are optional
                                    AggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    },
                                    FormatConfiguration = new NumberFormatConfigurationProperty {
                                        FormatConfiguration = new NumericFormatConfigurationProperty {
                                            CurrencyDisplayFormatConfiguration = new CurrencyDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix",
                                                Symbol = "symbol"
                                            },
                                            NumberDisplayFormatConfiguration = new NumberDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                NumberScale = "numberScale",
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            },
                                            PercentageDisplayFormatConfiguration = new PercentageDisplayFormatConfigurationProperty {
                                                DecimalPlacesConfiguration = new DecimalPlacesConfigurationProperty {
                                                    DecimalPlaces = 123
                                                },
                                                NegativeValueConfiguration = new NegativeValueConfigurationProperty {
                                                    DisplayMode = "displayMode"
                                                },
                                                NullValueFormatConfiguration = new NullValueFormatConfigurationProperty {
                                                    NullString = "nullString"
                                                },
                                                Prefix = "prefix",
                                                SeparatorConfiguration = new NumericSeparatorConfigurationProperty {
                                                    DecimalSeparator = "decimalSeparator",
                                                    ThousandsSeparator = new ThousandSeparatorOptionsProperty {
                                                        Symbol = "symbol",
                                                        Visibility = "visibility"
                                                    }
                                                },
                                                Suffix = "suffix"
                                            }
                                        }
                                    }
                                }
                            } }
                        }
                    },
                    SortConfiguration = new WordCloudSortConfigurationProperty {
                        CategoryItemsLimit = new ItemsLimitConfigurationProperty {
                            ItemsLimit = 123,
                            OtherCategories = "otherCategories"
                        },
                        CategorySort = new [] { new FieldSortOptionsProperty {
                            ColumnSort = new ColumnSortProperty {
                                Direction = "direction",
                                SortBy = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },

                                // the properties below are optional
                                AggregationFunction = new AggregationFunctionProperty {
                                    CategoricalAggregationFunction = "categoricalAggregationFunction",
                                    DateAggregationFunction = "dateAggregationFunction",
                                    NumericalAggregationFunction = new NumericalAggregationFunctionProperty {
                                        PercentileAggregation = new PercentileAggregationProperty {
                                            PercentileValue = 123
                                        },
                                        SimpleNumericalAggregation = "simpleNumericalAggregation"
                                    }
                                }
                            },
                            FieldSort = new FieldSortProperty {
                                Direction = "direction",
                                FieldId = "fieldId"
                            }
                        } }
                    },
                    WordCloudOptions = new WordCloudOptionsProperty {
                        CloudLayout = "cloudLayout",
                        MaximumStringLength = 123,
                        WordCasing = "wordCasing",
                        WordOrientation = "wordOrientation",
                        WordPadding = "wordPadding",
                        WordScaling = "wordScaling"
                    }
                },
                ColumnHierarchies = new [] { new ColumnHierarchyProperty {
                    DateTimeHierarchy = new DateTimeHierarchyProperty {
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    ExplicitHierarchy = new ExplicitHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    },
                    PredefinedHierarchy = new PredefinedHierarchyProperty {
                        Columns = new [] { new ColumnIdentifierProperty {
                            ColumnName = "columnName",
                            DataSetIdentifier = "dataSetIdentifier"
                        } },
                        HierarchyId = "hierarchyId",

                        // the properties below are optional
                        DrillDownFilters = new [] { new DrillDownFilterProperty {
                            CategoryFilter = new CategoryDrillDownFilterProperty {
                                CategoryValues = new [] { "categoryValues" },
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                }
                            },
                            NumericEqualityFilter = new NumericEqualityDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                Value = 123
                            },
                            TimeRangeFilter = new TimeRangeDrillDownFilterProperty {
                                Column = new ColumnIdentifierProperty {
                                    ColumnName = "columnName",
                                    DataSetIdentifier = "dataSetIdentifier"
                                },
                                RangeMaximum = "rangeMaximum",
                                RangeMinimum = "rangeMinimum",
                                TimeGranularity = "timeGranularity"
                            }
                        } }
                    }
                } },
                Subtitle = new VisualSubtitleLabelOptionsProperty {
                    FormatText = new LongFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                },
                Title = new VisualTitleLabelOptionsProperty {
                    FormatText = new ShortFormatTextProperty {
                        PlainText = "plainText",
                        RichText = "richText"
                    },
                    Visibility = "visibility"
                }
            }
        } }
    } }
};

Synopsis

Constructors

DashboardVersionDefinitionProperty()

Properties

AnalysisDefaults

CfnDashboard.DashboardVersionDefinitionProperty.AnalysisDefaults.

CalculatedFields

An array of calculated field definitions for the dashboard.

ColumnConfigurations

An array of dashboard-level column configurations.

DataSetIdentifierDeclarations

An array of dataset identifier declarations.

FilterGroups

The filter definitions for a dashboard.

ParameterDeclarations

The parameter declarations for a dashboard.

Sheets

An array of sheet definitions for a dashboard.

Constructors

DashboardVersionDefinitionProperty()

public DashboardVersionDefinitionProperty()

Properties

AnalysisDefaults

CfnDashboard.DashboardVersionDefinitionProperty.AnalysisDefaults.

public object AnalysisDefaults { get; set; }
Property Value

System.Object

Remarks

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardversiondefinition.html#cfn-quicksight-dashboard-dashboardversiondefinition-analysisdefaults

CalculatedFields

An array of calculated field definitions for the dashboard.

public object CalculatedFields { get; set; }
Property Value

System.Object

Remarks

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardversiondefinition.html#cfn-quicksight-dashboard-dashboardversiondefinition-calculatedfields

ColumnConfigurations

An array of dashboard-level column configurations.

public object ColumnConfigurations { get; set; }
Property Value

System.Object

Remarks

Column configurations are used to set the default formatting for a column that is used throughout a dashboard.

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardversiondefinition.html#cfn-quicksight-dashboard-dashboardversiondefinition-columnconfigurations

DataSetIdentifierDeclarations

An array of dataset identifier declarations.

public object DataSetIdentifierDeclarations { get; set; }
Property Value

System.Object

Remarks

With this mapping,you can use dataset identifiers instead of dataset Amazon Resource Names (ARNs) throughout the dashboard's sub-structures.

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardversiondefinition.html#cfn-quicksight-dashboard-dashboardversiondefinition-datasetidentifierdeclarations

FilterGroups

The filter definitions for a dashboard.

public object FilterGroups { get; set; }
Property Value

System.Object

Remarks

For more information, see Filtering Data in Amazon QuickSight in the Amazon QuickSight User Guide .

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardversiondefinition.html#cfn-quicksight-dashboard-dashboardversiondefinition-filtergroups

ParameterDeclarations

The parameter declarations for a dashboard.

public object ParameterDeclarations { get; set; }
Property Value

System.Object

Remarks

Parameters are named variables that can transfer a value for use by an action or an object.

For more information, see Parameters in Amazon QuickSight in the Amazon QuickSight User Guide .

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardversiondefinition.html#cfn-quicksight-dashboard-dashboardversiondefinition-parameterdeclarations

Sheets

An array of sheet definitions for a dashboard.

public object Sheets { get; set; }
Property Value

System.Object

Remarks

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-dashboardversiondefinition.html#cfn-quicksight-dashboard-dashboardversiondefinition-sheets

Implements

CfnDashboard.IDashboardVersionDefinitionProperty
Back to top Generated by DocFX