Class: AWSCDK::CleanRooms::CfnConfiguredTable::AnalysisRuleAggregationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
clean_rooms/cfn_configured_table.rb

Overview

A type of analysis rule that enables query structure and specified queries that produce aggregate statistics.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(aggregate_columns:, dimension_columns:, join_columns:, output_constraints:, scalar_functions:, additional_analyses: nil, allowed_join_operators: nil, join_required: nil) ⇒ AnalysisRuleAggregationProperty

Returns a new instance of AnalysisRuleAggregationProperty.

Parameters:

  • aggregate_columns (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::CleanRooms::CfnConfiguredTable::AggregateColumnProperty>)

    The columns that query runners are allowed to use in aggregation queries.

  • dimension_columns (Array<String>)

    The columns that query runners are allowed to select, group by, or filter by.

  • join_columns (Array<String>)

    Columns in configured table that can be used in join statements and/or as aggregate columns.

  • output_constraints (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::CleanRooms::CfnConfiguredTable::AggregationConstraintProperty>)

    Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.

  • scalar_functions (Array<String>)

    Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.

  • additional_analyses (String, nil) (defaults to: nil)

    An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.

  • allowed_join_operators (Array<String>, nil) (defaults to: nil)

    Which logical operators (if any) are to be used in an INNER JOIN match condition.

  • join_required (String, nil) (defaults to: nil)

    Control that requires member who runs query to do a join with their configured table and/or other configured table in query.



728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
# File 'clean_rooms/cfn_configured_table.rb', line 728

def initialize(aggregate_columns:, dimension_columns:, join_columns:, output_constraints:, scalar_functions:, additional_analyses: nil, allowed_join_operators: nil, join_required: nil)
  @aggregate_columns = aggregate_columns
  Jsii::Type.check_type(@aggregate_columns, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xlYW5yb29tcy5DZm5Db25maWd1cmVkVGFibGUuQWdncmVnYXRlQ29sdW1uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "aggregateColumns")
  @dimension_columns = dimension_columns
  Jsii::Type.check_type(@dimension_columns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "dimensionColumns")
  @join_columns = join_columns
  Jsii::Type.check_type(@join_columns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "joinColumns")
  @output_constraints = output_constraints
  Jsii::Type.check_type(@output_constraints, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xlYW5yb29tcy5DZm5Db25maWd1cmVkVGFibGUuQWdncmVnYXRpb25Db25zdHJhaW50UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "outputConstraints")
  @scalar_functions = scalar_functions
  Jsii::Type.check_type(@scalar_functions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "scalarFunctions")
  @additional_analyses = additional_analyses
  Jsii::Type.check_type(@additional_analyses, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "additionalAnalyses") unless @additional_analyses.nil?
  @allowed_join_operators = allowed_join_operators
  Jsii::Type.check_type(@allowed_join_operators, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "allowedJoinOperators") unless @allowed_join_operators.nil?
  @join_required = join_required
  Jsii::Type.check_type(@join_required, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "joinRequired") unless @join_required.nil?
end

Instance Attribute Details

#additional_analysesString? (readonly)

An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.

The additional_analyses parameter is currently supported for the list analysis rule ( AnalysisRuleList ) and the custom analysis rule ( AnalysisRuleCustom ).



780
781
782
# File 'clean_rooms/cfn_configured_table.rb', line 780

def additional_analyses
  @additional_analyses
end

#allowed_join_operatorsArray<String>? (readonly)

Which logical operators (if any) are to be used in an INNER JOIN match condition.

Default is AND .



787
788
789
# File 'clean_rooms/cfn_configured_table.rb', line 787

def allowed_join_operators
  @allowed_join_operators
end

#dimension_columnsArray<String> (readonly)

The columns that query runners are allowed to select, group by, or filter by.



756
757
758
# File 'clean_rooms/cfn_configured_table.rb', line 756

def dimension_columns
  @dimension_columns
end

#join_columnsArray<String> (readonly)

Columns in configured table that can be used in join statements and/or as aggregate columns.

They can never be outputted directly.



763
764
765
# File 'clean_rooms/cfn_configured_table.rb', line 763

def join_columns
  @join_columns
end

#join_requiredString? (readonly)

Control that requires member who runs query to do a join with their configured table and/or other configured table in query.



792
793
794
# File 'clean_rooms/cfn_configured_table.rb', line 792

def join_required
  @join_required
end

#output_constraintsAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::CleanRooms::CfnConfiguredTable::AggregationConstraintProperty> (readonly)

Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.



768
769
770
# File 'clean_rooms/cfn_configured_table.rb', line 768

def output_constraints
  @output_constraints
end

#scalar_functionsArray<String> (readonly)

Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.



773
774
775
# File 'clean_rooms/cfn_configured_table.rb', line 773

def scalar_functions
  @scalar_functions
end

Class Method Details

.jsii_propertiesObject



794
795
796
797
798
799
800
801
802
803
804
805
# File 'clean_rooms/cfn_configured_table.rb', line 794

def self.jsii_properties
  {
    :aggregate_columns => "aggregateColumns",
    :dimension_columns => "dimensionColumns",
    :join_columns => "joinColumns",
    :output_constraints => "outputConstraints",
    :scalar_functions => "scalarFunctions",
    :additional_analyses => "additionalAnalyses",
    :allowed_join_operators => "allowedJoinOperators",
    :join_required => "joinRequired",
  }
end

Instance Method Details

#to_jsiiObject



807
808
809
810
811
812
813
814
815
816
817
818
819
820
# File 'clean_rooms/cfn_configured_table.rb', line 807

def to_jsii
  result = {}
  result.merge!({
    "aggregateColumns" => @aggregate_columns,
    "dimensionColumns" => @dimension_columns,
    "joinColumns" => @join_columns,
    "outputConstraints" => @output_constraints,
    "scalarFunctions" => @scalar_functions,
    "additionalAnalyses" => @additional_analyses,
    "allowedJoinOperators" => @allowed_join_operators,
    "joinRequired" => @join_required,
  })
  result.compact
end