def add_calc()

in data_validation/validation_builder.py [0:0]


    def add_calc(self, calc_field: dict):
        """Add CalculatedField to Queries

        Args:
            calc_field (Dict): An object with source, target, and cast info
        """
        # Prepare source and target payloads
        source_config = deepcopy(calc_field)
        source_fields = calc_field[consts.CONFIG_CALCULATED_SOURCE_COLUMNS]
        target_config = deepcopy(calc_field)
        target_fields = calc_field[consts.CONFIG_CALCULATED_TARGET_COLUMNS]
        # Grab calc field metadata
        alias = calc_field[consts.CONFIG_FIELD_ALIAS]
        source_calc_type = self._get_calc_type(
            calc_field,
            source_fields[0],
            self.source_client,
            self.config_manager.get_source_raw_data_types(),
        )
        target_calc_type = self._get_calc_type(
            calc_field,
            target_fields[0],
            self.target_client,
            self.config_manager.get_target_raw_data_types(),
        )

        source_field = getattr(CalculatedField, source_calc_type)(
            config=source_config, fields=source_fields
        )
        target_field = getattr(CalculatedField, target_calc_type)(
            config=target_config, fields=target_fields
        )
        self.source_builder.add_calculated_field(source_field)
        self.target_builder.add_calculated_field(target_field)
        # Register calc field under alias
        self.calculated_aliases[alias] = calc_field