Untitled
def map_mdx_parameters(self, mdx_parameters): """ Maps input mdx params' values with params' keys from mdx formatting. Ex: {AsOfDate: 2022-09-30} --> {data: 2022-09-30} """ if len(mdx_parameters) < len(self.parameters_to_fill): logger.error( 'MDX query %s expects parameters: %s; but only these were received: %s', self.mdx_query_name, self.parameters_to_fill, mdx_parameters ) raise KeyError(f"Insufficient parameters for query {self.mdx_query_name}") for param in self.parameters_to_fill: try: # Si el parámetro existe en DICT_CAMPOS_MDX, usamos la clave mapeada if param in DICT_CAMPOS_MDX: self.parameter_map[param] = mdx_parameters[DICT_CAMPOS_MDX[param]] else: # Si no existe en DICT_CAMPOS_MDX, usamos directamente el nombre del parámetro self.parameter_map[param] = mdx_parameters[param] except KeyError: # Generar un error detallado si no se encuentra el parámetro logger.error( f"Key '{param}' not found in DICT_CAMPOS_MDX or directly in mdx_parameters." f" Available keys: {list(mdx_parameters.keys())}" ) raise KeyError( f"Key '{param}' not found in DICT_CAMPOS_MDX or mdx_parameters. " f"Check DICT_CAMPOS_MDX and input parameters." )
Leave a Comment