@classmethod
def _atomic_prescriptive_template(cls, configuration=None, result=None, language=None, runtime_configuration=None, **kwargs):
    runtime_configuration = (runtime_configuration or {})
    include_column_name = runtime_configuration.get('include_column_name', True)
    include_column_name = (include_column_name if (include_column_name is not None) else True)
    styling = runtime_configuration.get('styling')
    params = substitute_none_for_missing(configuration.kwargs, ['column_list', 'ignore_row_if', 'row_condition', 'condition_parser', 'mostly'])
    params_with_json_schema = {'column_list': {'schema': {'type': 'array'}, 'value': params.get('column_list', [])}, 'ignore_row_if': {'schema': {'type': 'string'}, 'value': params.get('ignore_row_if')}, 'row_condition': {'schema': {'type': 'string'}, 'value': params.get('row_condition', '')}, 'condition_parser': {'schema': {'type': 'string'}, 'value': params.get('condition_parser', '')}, 'mostly': {'schema': {'type': 'number'}, 'value': params.get('mostly', 1)}, 'mostly_pct': {'schema': {'type': 'string'}, 'value': params.get('mostly_pct')}}
    if (params['mostly'] is not None):
        params_with_json_schema['mostly_pct']['value'] = num_to_str((params['mostly'] * 100), precision=15, no_scientific=True)
    mostly_str = ('' if (params.get('mostly') is None) else ', at least $mostly_pct % of the time')
    template_str = f'Values must always be unique across columns{mostly_str}: '
    column_list = (params.get('column_list') if params.get('column_list') else [])
    if (len(column_list) > 0):
        for (idx, val) in enumerate(column_list[:(- 1)]):
            param = f'$column_list_{idx}'
            template_str += f'{param}, '
            params[param] = val
        last_idx = (len(column_list) - 1)
        last_param = f'$column_list_{last_idx}'
        template_str += last_param
        params[last_param] = column_list[last_idx]
    if (params['row_condition'] is not None):
        (conditional_template_str, conditional_params) = parse_row_condition_string_pandas_engine(params['row_condition'], with_schema=True)
        template_str = (((conditional_template_str + ', then ') + template_str[0].lower()) + template_str[1:])
        params_with_json_schema.update(conditional_params)
    params_with_json_schema = add_values_with_json_schema_from_list_in_params(params=params, params_with_json_schema=params_with_json_schema, param_key_with_list='column_list')
    return (template_str, params_with_json_schema, styling)
@classmethod
def _atomic_prescriptive_template(cls, configuration=None, result=None, language=None, runtime_configuration=None, **kwargs):
    runtime_configuration = (runtime_configuration or {})
    include_column_name = runtime_configuration.get('include_column_name', True)
    include_column_name = (include_column_name if (include_column_name is not None) else True)
    styling = runtime_configuration.get('styling')
    params = substitute_none_for_missing(configuration.kwargs, ['column_list', 'ignore_row_if', 'row_condition', 'condition_parser', 'mostly'])
    params_with_json_schema = {'column_list': {'schema': {'type': 'array'}, 'value': params.get('column_list', [])}, 'ignore_row_if': {'schema': {'type': 'string'}, 'value': params.get('ignore_row_if')}, 'row_condition': {'schema': {'type': 'string'}, 'value': params.get('row_condition', )}, 'condition_parser': {'schema': {'type': 'string'}, 'value': params.get('condition_parser', )}, 'mostly': {'schema': {'type': 'number'}, 'value': params.get('mostly', 1)}, 'mostly_pct': {'schema': {'type': 'string'}, 'value': params.get('mostly_pct')}}
    if (params['mostly'] is not None):
        params_with_json_schema['mostly_pct']['value'] = num_to_str((params['mostly'] * 100), precision=15, no_scientific=True)
    mostly_str = ( if (params.get('mostly') is None) else ', at least $mostly_pct % of the time')
    template_str = f'Values must always be unique across columns{mostly_str}: '
    column_list = (params.get('column_list') if params.get('column_list') else [])
    if (len(column_list) > 0):
        for (idx, val) in enumerate(column_list[:(- 1)]):
            param = f'$column_list_{idx}'
            template_str += f'{param}, '
            params[param] = val
        last_idx = (len(column_list) - 1)
        last_param = f'$column_list_{last_idx}'
        template_str += last_param
        params[last_param] = column_list[last_idx]
    if (params['row_condition'] is not None):
        (conditional_template_str, conditional_params) = parse_row_condition_string_pandas_engine(params['row_condition'], with_schema=True)
        template_str = (((conditional_template_str + ', then ') + template_str[0].lower()) + template_str[1:])
        params_with_json_schema.update(conditional_params)
    params_with_json_schema = add_values_with_json_schema_from_list_in_params(params=params, params_with_json_schema=params_with_json_schema, param_key_with_list='column_list')
    return (template_str, params_with_json_schema, styling)