Repository: great-expectations/great_expectations

Issue:
Use cleaner solution for non-truncating division in python 2
Prefer `from __future__ import division` to `1.*x/y`


Discussion:
Done inline during improve_partitions push.

Resolving patch:
diff --git a/great_expectations/rule_based_profiler/data_assistant/data_assistant.py b/great_expectations/rule_based_profiler/data_assistant/data_assistant.py
--- a/great_expectations/rule_based_profiler/data_assistant/data_assistant.py
+++ b/great_expectations/rule_based_profiler/data_assistant/data_assistant.py
@@ -297,17 +297,27 @@ def build_numeric_metric_multi_batch_parameter_builder(
 
         @staticmethod
         def build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name: str,
+            metric_name: Optional[str] = None,
             metric_value_kwargs: Optional[Union[str, dict]] = None,
+            evaluation_parameter_builder_configs: Optional[
+                List[ParameterBuilderConfig]
+            ] = None,
         ) -> NumericMetricRangeMultiBatchParameterBuilder:
             """
             This method instantiates "MetricMultiBatchParameterBuilder" class with specific arguments for given purpose.
             """
+            metric_multi_batch_parameter_builder_name: Optional[str] = None
+            if metric_name is None:
+                metric_name = evaluation_parameter_builder_configs[0]["metric_name"]
+                metric_multi_batch_parameter_builder_name = (
+                    evaluation_parameter_builder_configs[0].name
+                )
+
             name: str = sanitize_parameter_name(name=f"{metric_name}.range")
             return NumericMetricRangeMultiBatchParameterBuilder(
                 name=name,
                 metric_name=metric_name,
-                metric_multi_batch_parameter_builder_name=None,
+                metric_multi_batch_parameter_builder_name=metric_multi_batch_parameter_builder_name,
                 metric_domain_kwargs=DOMAIN_KWARGS_PARAMETER_FULLY_QUALIFIED_NAME,
                 metric_value_kwargs=metric_value_kwargs,
                 enforce_numeric_metric=True,
@@ -321,7 +331,7 @@ def build_numeric_metric_range_multi_batch_parameter_builder(
                 include_estimator_samples_histogram_in_details=f"{VARIABLES_KEY}include_estimator_samples_histogram_in_details",
                 truncate_values=f"{VARIABLES_KEY}truncate_values",
                 round_decimals=f"{VARIABLES_KEY}round_decimals",
-                evaluation_parameter_builder_configs=None,
+                evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
                 data_context=None,
             )
 
@@ -651,6 +661,9 @@ def build_map_metric_rule(
     rule_name: str,
     expectation_type: str,
     map_metric_name: str,
+    total_count_metric_multi_batch_parameter_builder_for_evaluations: Optional[
+        ParameterBuilder
+    ] = None,
     include_column_names: Optional[Union[str, Optional[List[str]]]] = None,
     exclude_column_names: Optional[Union[str, Optional[List[str]]]] = None,
     include_column_name_suffixes: Optional[Union[str, Iterable, List[str]]] = None,
@@ -705,9 +718,11 @@ def build_map_metric_rule(
 
     # Step-3: Set up "MeanUnexpectedMapMetricMultiBatchParameterBuilder" to compute "condition" for emitting "ExpectationConfiguration" (based on "Domain" data).
 
-    total_count_metric_multi_batch_parameter_builder_for_evaluations: ParameterBuilder = (
-        DataAssistant.commonly_used_parameter_builders.get_table_row_count_metric_multi_batch_parameter_builder()
-    )
+    if total_count_metric_multi_batch_parameter_builder_for_evaluations is None:
+        total_count_metric_multi_batch_parameter_builder_for_evaluations = (
+            DataAssistant.commonly_used_parameter_builders.get_table_row_count_metric_multi_batch_parameter_builder()
+        )
+
     column_values_nonnull_unexpected_count_metric_multi_batch_parameter_builder_for_evaluations: ParameterBuilder = (
         DataAssistant.commonly_used_parameter_builders.get_column_values_nonnull_unexpected_count_metric_multi_batch_parameter_builder()
     )
diff --git a/great_expectations/rule_based_profiler/data_assistant/onboarding_data_assistant.py b/great_expectations/rule_based_profiler/data_assistant/onboarding_data_assistant.py
--- a/great_expectations/rule_based_profiler/data_assistant/onboarding_data_assistant.py
+++ b/great_expectations/rule_based_profiler/data_assistant/onboarding_data_assistant.py
@@ -70,10 +70,16 @@ def get_rules(self) -> Optional[List[Rule]]:
             Optional custom list of "Rule" objects implementing particular "DataAssistant" functionality.
         """
         table_rule: Rule = self._build_table_rule()
+
+        total_count_metric_multi_batch_parameter_builder_for_evaluations: ParameterBuilder = (
+            DataAssistant.commonly_used_parameter_builders.get_table_row_count_metric_multi_batch_parameter_builder()
+        )
+
         column_value_uniqueness_rule: Rule = build_map_metric_rule(
             rule_name="column_value_uniqueness_rule",
             expectation_type="expect_column_values_to_be_unique",
             map_metric_name="column_values.unique",
+            total_count_metric_multi_batch_parameter_builder_for_evaluations=total_count_metric_multi_batch_parameter_builder_for_evaluations,
             include_column_names=None,
             exclude_column_names=None,
             include_column_name_suffixes=None,
@@ -90,6 +96,7 @@ def get_rules(self) -> Optional[List[Rule]]:
             rule_name="column_value_nullity_rule",
             expectation_type="expect_column_values_to_be_null",
             map_metric_name="column_values.null",
+            total_count_metric_multi_batch_parameter_builder_for_evaluations=total_count_metric_multi_batch_parameter_builder_for_evaluations,
             include_column_names=None,
             exclude_column_names=None,
             include_column_name_suffixes=None,
@@ -106,6 +113,7 @@ def get_rules(self) -> Optional[List[Rule]]:
             rule_name="column_value_nonnullity_rule",
             expectation_type="expect_column_values_to_not_be_null",
             map_metric_name="column_values.nonnull",
+            total_count_metric_multi_batch_parameter_builder_for_evaluations=total_count_metric_multi_batch_parameter_builder_for_evaluations,
             include_column_names=None,
             exclude_column_names=None,
             include_column_name_suffixes=None,
@@ -169,10 +177,17 @@ def _build_table_rule() -> Rule:
 
         # Step-3: Declare "ParameterBuilder" for every "validation" need in "ExpectationConfigurationBuilder" objects.
 
+        evaluation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]] = [
+            ParameterBuilderConfig(
+                **table_row_count_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         table_row_count_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="table.row_count",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
+
         mean_table_columns_set_match_multi_batch_parameter_builder_for_validations: ParameterBuilder = MeanTableColumnsSetMatchMultiBatchParameterBuilder(
             name="column_names_set_estimator",
             metric_domain_kwargs=DOMAIN_KWARGS_PARAMETER_FULLY_QUALIFIED_NAME,
@@ -288,7 +303,7 @@ def _build_numeric_columns_rule() -> Rule:
         column_max_metric_multi_batch_parameter_builder_for_metrics: ParameterBuilder = (
             DataAssistant.commonly_used_parameter_builders.get_column_max_metric_multi_batch_parameter_builder()
         )
-        column_column_quantile_values_metric_multi_batch_parameter_builder_for_metrics: ParameterBuilder = (
+        column_quantile_values_metric_multi_batch_parameter_builder_for_metrics: ParameterBuilder = (
             DataAssistant.commonly_used_parameter_builders.get_column_quantile_values_metric_multi_batch_parameter_builder()
         )
         column_median_metric_multi_batch_parameter_builder_for_metrics: ParameterBuilder = (
@@ -303,38 +318,81 @@ def _build_numeric_columns_rule() -> Rule:
 
         # Step-3: Declare "ParameterBuilder" for every "validation" need in "ExpectationConfigurationBuilder" objects.
 
+        evaluation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]]
+
+        evaluation_parameter_builder_configs = [
+            ParameterBuilderConfig(
+                **column_min_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_min_values_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column.min",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
+
+        evaluation_parameter_builder_configs = [
+            ParameterBuilderConfig(
+                **column_max_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_max_values_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column.max",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
+
+        evaluation_parameter_builder_configs = [
+            ParameterBuilderConfig(
+                **column_quantile_values_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_quantile_values_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column.quantile_values",
+            metric_name=None,
             metric_value_kwargs={
                 "quantiles": f"{VARIABLES_KEY}quantiles",
                 "allow_relative_error": f"{VARIABLES_KEY}allow_relative_error",
             },
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
+
+        evaluation_parameter_builder_configs = [
+            ParameterBuilderConfig(
+                **column_median_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_median_values_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column.median",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
+
+        evaluation_parameter_builder_configs = [
+            ParameterBuilderConfig(
+                **column_mean_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_mean_values_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column.mean",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
+
+        evaluation_parameter_builder_configs = [
+            ParameterBuilderConfig(
+                **column_standard_deviation_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_standard_deviation_values_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column.standard_deviation",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
 
-        validation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]]
-
         # Step-4: Pass "validation" "ParameterBuilderConfig" objects to every "DefaultExpectationConfigurationBuilder", responsible for emitting "ExpectationConfiguration" (with specified "expectation_type").
 
+        validation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]]
+
         validation_parameter_builder_configs = [
             ParameterBuilderConfig(
                 **column_min_values_range_parameter_builder_for_validations.to_json_dict(),
@@ -497,7 +555,7 @@ def _build_numeric_columns_rule() -> Rule:
             column_partition_parameter_builder_for_metrics,
             column_min_metric_multi_batch_parameter_builder_for_metrics,
             column_max_metric_multi_batch_parameter_builder_for_metrics,
-            column_column_quantile_values_metric_multi_batch_parameter_builder_for_metrics,
+            column_quantile_values_metric_multi_batch_parameter_builder_for_metrics,
             column_median_metric_multi_batch_parameter_builder_for_metrics,
             column_mean_metric_multi_batch_parameter_builder_for_metrics,
             column_standard_deviation_metric_multi_batch_parameter_builder_for_metrics,
@@ -551,15 +609,15 @@ def _build_datetime_columns_rule() -> Rule:
             name="column_values.partition",
             bucketize_data=True,
         )
-        column_column_quantile_values_metric_multi_batch_parameter_builder_for_metrics: ParameterBuilder = (
-            DataAssistant.commonly_used_parameter_builders.get_column_quantile_values_metric_multi_batch_parameter_builder()
-        )
         column_min_metric_multi_batch_parameter_builder_for_metrics: ParameterBuilder = (
             DataAssistant.commonly_used_parameter_builders.get_column_min_metric_multi_batch_parameter_builder()
         )
         column_max_metric_multi_batch_parameter_builder_for_metrics: ParameterBuilder = (
             DataAssistant.commonly_used_parameter_builders.get_column_max_metric_multi_batch_parameter_builder()
         )
+        column_quantile_values_metric_multi_batch_parameter_builder_for_metrics: ParameterBuilder = (
+            DataAssistant.commonly_used_parameter_builders.get_column_quantile_values_metric_multi_batch_parameter_builder()
+        )
         column_median_metric_multi_batch_parameter_builder_for_metrics: ParameterBuilder = (
             DataAssistant.commonly_used_parameter_builders.get_column_median_metric_multi_batch_parameter_builder()
         )
@@ -572,19 +630,34 @@ def _build_datetime_columns_rule() -> Rule:
 
         # Step-3: Declare "ParameterBuilder" for every "validation" need in "ExpectationConfigurationBuilder" objects.
 
+        evaluation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]]
+
+        evaluation_parameter_builder_configs = [
+            ParameterBuilderConfig(
+                **column_min_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_min_values_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column.min",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
+
+        evaluation_parameter_builder_configs = [
+            ParameterBuilderConfig(
+                **column_max_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_max_values_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column.max",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
 
-        validation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]]
-
         # Step-4: Pass "validation" "ParameterBuilderConfig" objects to every "DefaultExpectationConfigurationBuilder", responsible for emitting "ExpectationConfiguration" (with specified "expectation_type").
 
+        validation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]]
+
         validation_parameter_builder_configs = [
             ParameterBuilderConfig(
                 **column_min_values_range_parameter_builder_for_validations.to_json_dict(),
@@ -667,9 +740,9 @@ def _build_datetime_columns_rule() -> Rule:
         }
         parameter_builders: List[ParameterBuilder] = [
             column_partition_parameter_builder_for_metrics,
-            column_column_quantile_values_metric_multi_batch_parameter_builder_for_metrics,
             column_min_metric_multi_batch_parameter_builder_for_metrics,
             column_max_metric_multi_batch_parameter_builder_for_metrics,
+            column_quantile_values_metric_multi_batch_parameter_builder_for_metrics,
             column_median_metric_multi_batch_parameter_builder_for_metrics,
             column_mean_metric_multi_batch_parameter_builder_for_metrics,
             column_standard_deviation_metric_multi_batch_parameter_builder_for_metrics,
@@ -722,14 +795,30 @@ def _build_text_columns_rule() -> Rule:
 
         # Step-3: Declare "ParameterBuilder" for every "validation" need in "ExpectationConfigurationBuilder" objects.
 
+        evaluation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]]
+
+        evaluation_parameter_builder_configs = [
+            ParameterBuilderConfig(
+                **column_min_length_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_min_length_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column_values.length.min",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
+
+        evaluation_parameter_builder_configs = [
+            ParameterBuilderConfig(
+                **column_max_length_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_max_length_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column_values.length.max",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
+
         column_values_to_match_regex_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_regex_pattern_string_parameter_builder(
             name="column_values.match_regex",
         )
@@ -873,10 +962,20 @@ def _build_categorical_columns_rule() -> Rule:
                 data_context=None,
             )
         )
+
+        evaluation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]]
+
+        evaluation_parameter_builder_configs = [
+            ParameterBuilderConfig(
+                **column_distinct_values_count_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_distinct_values_count_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column.distinct_values.count",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
+
         column_unique_proportion_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
             metric_name="column.unique_proportion",
             metric_value_kwargs=None,
diff --git a/great_expectations/rule_based_profiler/data_assistant/volume_data_assistant.py b/great_expectations/rule_based_profiler/data_assistant/volume_data_assistant.py
--- a/great_expectations/rule_based_profiler/data_assistant/volume_data_assistant.py
+++ b/great_expectations/rule_based_profiler/data_assistant/volume_data_assistant.py
@@ -98,15 +98,21 @@ def _build_table_rule() -> Rule:
 
         # Step-3: Declare "ParameterBuilder" for every "validation" need in "ExpectationConfigurationBuilder" objects.
 
+        evaluation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]] = [
+            ParameterBuilderConfig(
+                **table_row_count_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         table_row_count_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="table.row_count",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
 
-        validation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]]
-
         # Step-4: Pass "validation" "ParameterBuilderConfig" objects to every "DefaultExpectationConfigurationBuilder", responsible for emitting "ExpectationConfiguration" (with specified "expectation_type").
 
+        validation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]]
+
         validation_parameter_builder_configs = [
             ParameterBuilderConfig(
                 **table_row_count_range_parameter_builder_for_validations.to_json_dict(),
@@ -186,9 +192,15 @@ def _build_categorical_columns_rule() -> Rule:
 
         # Step-3: Declare "ParameterBuilder" for every "validation" need in "ExpectationConfigurationBuilder" objects.
 
+        evaluation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]] = [
+            ParameterBuilderConfig(
+                **column_distinct_values_count_metric_multi_batch_parameter_builder_for_metrics.to_json_dict()
+            ),
+        ]
         column_distinct_values_count_range_parameter_builder_for_validations: ParameterBuilder = DataAssistant.commonly_used_parameter_builders.build_numeric_metric_range_multi_batch_parameter_builder(
-            metric_name="column.distinct_values.count",
+            metric_name=None,
             metric_value_kwargs=None,
+            evaluation_parameter_builder_configs=evaluation_parameter_builder_configs,
         )
 
         validation_parameter_builder_configs: Optional[List[ParameterBuilderConfig]]


Test patch:
diff --git a/tests/rule_based_profiler/data_assistant/test_volume_data_assistant.py b/tests/rule_based_profiler/data_assistant/test_volume_data_assistant.py
--- a/tests/rule_based_profiler/data_assistant/test_volume_data_assistant.py
+++ b/tests/rule_based_profiler/data_assistant/test_volume_data_assistant.py
@@ -1594,12 +1594,27 @@ def _profiler_config(
                                     "estimator": "$variables.estimator",
                                     "reduce_scalar_metric": True,
                                     "metric_name": "table.row_count",
+                                    "metric_multi_batch_parameter_builder_name": "table_row_count",
                                     "metric_domain_kwargs": "$domain.domain_kwargs",
                                     "false_positive_rate": "$variables.false_positive_rate",
                                     "quantile_statistic_interpolation_method": "$variables.quantile_statistic_interpolation_method",
                                     "random_seed": "$variables.random_seed",
                                     "include_estimator_samples_histogram_in_details": "$variables.include_estimator_samples_histogram_in_details",
                                     "round_decimals": "$variables.round_decimals",
+                                    "evaluation_parameter_builder_configs": [
+                                        {
+                                            "enforce_numeric_metric": True,
+                                            "replace_nan_with_zero": True,
+                                            "name": "table_row_count",
+                                            "class_name": "MetricMultiBatchParameterBuilder",
+                                            "evaluation_parameter_builder_configs": None,
+                                            "metric_value_kwargs": None,
+                                            "module_name": "great_expectations.rule_based_profiler.parameter_builder.metric_multi_batch_parameter_builder",
+                                            "metric_domain_kwargs": None,
+                                            "reduce_scalar_metric": True,
+                                            "metric_name": "table.row_count",
+                                        }
+                                    ],
                                 },
                             ],
                             "expectation_type": "expect_table_row_count_to_be_between",
@@ -1674,6 +1689,7 @@ def _profiler_config(
                                 {
                                     "class_name": "NumericMetricRangeMultiBatchParameterBuilder",
                                     "metric_domain_kwargs": "$domain.domain_kwargs",
+                                    "metric_multi_batch_parameter_builder_name": "column_distinct_values_count",
                                     "estimator": "$variables.estimator",
                                     "false_positive_rate": "$variables.false_positive_rate",
                                     "name": "column_distinct_values_count_range",
@@ -1687,6 +1703,20 @@ def _profiler_config(
                                     "module_name": "great_expectations.rule_based_profiler.parameter_builder.numeric_metric_range_multi_batch_parameter_builder",
                                     "include_estimator_samples_histogram_in_details": "$variables.include_estimator_samples_histogram_in_details",
                                     "truncate_values": "$variables.truncate_values",
+                                    "evaluation_parameter_builder_configs": [
+                                        {
+                                            "enforce_numeric_metric": True,
+                                            "replace_nan_with_zero": True,
+                                            "name": "column_distinct_values_count",
+                                            "class_name": "MetricMultiBatchParameterBuilder",
+                                            "evaluation_parameter_builder_configs": None,
+                                            "metric_value_kwargs": None,
+                                            "module_name": "great_expectations.rule_based_profiler.parameter_builder.metric_multi_batch_parameter_builder",
+                                            "metric_domain_kwargs": "$domain.domain_kwargs",
+                                            "reduce_scalar_metric": True,
+                                            "metric_name": "column.distinct_values.count",
+                                        }
+                                    ],
                                 },
                             ],
                         },