Untitled
unknown
plain_text
a year ago
1.5 kB
5
Indexable
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."
)
Editor is loading...
Leave a Comment