Error en la dimensión 'date' del cubo de ventas
Empezaremos explicando que estaba sucediendo con el cubo de ventas
y cómo llegue a encontrar la solución.
¿Cuál era el error?
El error en el cubo era que no mostraba
las fechas del nuevo año, por supuesto habíamos cambiado de año.
Si os fijáis en la imagen no muestra las
fechas para el año 2020.
Lo primero que me vino a la cabeza era que
no estaban creados los registros del nuevo año.
El paso evidente era revisar que fechas
estaban configuradas para la dimensión fecha para el BI en la siguiente ruta:
Como veis en la imagen la fecha final es
del 2019. El error era evidente así que escribiendo como fecha final la del año
2020 se debería solucionar el problema pero…no fue así.
(Para que quede claro cuando se modifican
las fechas en este formulario y se cierra se lanza un proceso que genera unos
registros en la tabla BIDateDimensionValue.)
Una vez procesamos el cubo seguía sin
funcionar, en el cubo las fechas del año
2020 no aparecían aunque si estaban en la tabla de Ax. Así que no me quedaba
otra que investigar que estaba pasando ya que el cubo se ejecutaba y no
mostraba ningún mensaje de error.
Me conecte al servidor de Analysis
Services.
Utilizando el botón conexiones de la pestaña datos podemos saber a
qué servidor y Base de datos debemos conectarnos.
Intenté procesar la dimensión de nuevo.
Una
vez procesada la dimensión se creó el nuevo valor.
Tal y como se ve en la siguiente imagen:
Sólo quedaba procesar de nuevo el cubo.
Lo podemos hacer desde el mismo
servidor de Analysis Service situándonos encima de la BD y en el menú contextual
dándole a procesar o conectándonos al servidor donde tengamos el job de
ejecución de los cubos.
Una vez se
procesó el cubo, al intentar actualizar los datos del Excel nos mostraba un
error en un formato de fecha.
Todo
parecía correcto pero ahora teníamos un nuevo error. Cómo no entendíamos que
estaba pasando nos fuimos a procesar uno por uno todos los cubos a ver si todos
se procesaban correctamente.
Al procesar el cubo de ventas nos mostró
un error con el atributo Date, nos indicaba que no encontraba un valor válido
para la dimensión fecha. Busqué la dimensión y miré que valores tenia, para mi
sorpresa no tenía ningún valor, en todos ellos aparecía desconocido.
No quedaba otra que abrir el
cubo mediante VS.
Nos situamos en las dimensiones y abrimos
la que mostraba el error.
Una vez abierta la dimensión en sus propiedades
encontramos el origen de datos de la dimensión; una vista llamada
BIDateDimensionView.
Al abrir la vista desde Ax vimos que no mostraba datos..
El DataSource
de la vista era una Query que tenía
las siguientes tablas:
Vimos de
donde provenía el campo DotNetCulture, y en la tabla donde debería existír algún
valor con el idioma en-Us sólo existían registros con el valor es-Es.
Por mi experiencia recordaba que existía
una clase que era la encargada de las fechas para los cubos así que dentro de
esta busqué en qué momento se crean los registros en esta tabla.
En la clase BiDateDimensionManager se
generan los registros de las traducciones de las fechas.
Fijaos el comentario que indica que nos
aseguremos que el idioma por defecto sea en-us.
Revisamos que idioma está marcado por defecto y
por sorpresa vimos que alguien ha puesto como idioma por defecto el español en
lugar del inglés, si recordáis en la captura anterior indicaba claramente que
nos aseguráramos que el idioma por defecto fuese el inglés.
Cómo no estaba seguro si esa modificación estaba
hecha para algún desarrollo específico por el partner preferí dejarlo tal cual
e ir a las tablas Biconfiguration y marcar el check para que realizará las
traducciones de los idiomas marcados en la tabla BIUdmTranslations.
En esta tabla no había ningún idioma marcado así
que le marque el en-us.
Ahora que por fin parecía que lo teníamos todo configurado realizamos los siguientes pasos:
1.- En el formulario de
dimensiones de fecha volvimos a modificar las fechas para que genere los
registros de nuevo.
2.- Confirmamos que en la tabla
BIDateDimensionTranslations se han generado los registros para los dos idiomas
en-Es y en-US.
3.- Procesamos de nuevo la
dimensión date y verificamos que se muestran los datos.
4.- Procesamos el cubo y verificamos
que se muestran los datos.
Comentarios
Publicar un comentario