@classmethod
@renderer(renderer_type='renderer.prescriptive')
@render_evaluation_parameter_string
def _prescriptive_renderer(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'])
    if (params['mostly'] is not None):
        params['mostly_pct'] = 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}: '
    for idx in range((len(params['column_list']) - 1)):
        template_str += f'$column_list_{str(idx)}, '
        params[f'column_list_{str(idx)}'] = params['column_list'][idx]
    last_idx = (len(params['column_list']) - 1)
    template_str += f'$column_list_{str(last_idx)}'
    params[f'column_list_{str(last_idx)}'] = params['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'])
        template_str = (((conditional_template_str + ', then ') + template_str[0].lower()) + template_str[1:])
        params.update(conditional_params)
    return [RenderedStringTemplateContent(**{'content_block_type': 'string_template', 'string_template': {'template': template_str, 'params': params, 'styling': styling}})]
@classmethod
@renderer(renderer_type='renderer.prescriptive')
@render_evaluation_parameter_string
def _prescriptive_renderer(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'])
    if (params['mostly'] is not None):
        params['mostly_pct'] = 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}: '
    for idx in range((len(params['column_list']) - 1)):
        template_str += f'$column_list_{str(idx)}, '
        params[f'column_list_{str(idx)}'] = params['column_list'][idx]
    last_idx = (len(params['column_list']) - 1)
    template_str += f'$column_list_{str(last_idx)}'
    params[f'column_list_{str(last_idx)}'] = params['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'])
        template_str = (((conditional_template_str + ', then ') + template_str[0].lower()) + template_str[1:])
        params.update(conditional_params)
    return [RenderedStringTemplateContent(**{'content_block_type': 'string_template', 'string_template': {'template': template_str, 'params': params, 'styling': styling}})]