A menudo se suele mezclar el uso de Dynamics 365 Sales con los informes analíticos en Power BI. Hasta hace poco, la creación del modelo de datos era bastante complejo debido a la estructura de datos en el CDS (Common Data Service).
¿Espera… has dicho CDS? ¿No se llama Dataverse?
Correcto, el nombre Common Data Service ya no está en uso hace un tiempo y poco a poco se “deprecan” las antiguas conexiones al CDS (titulados “Legacy” para poder distinguir mejor) desde Power BI para cambiarlas a las nuevas de Dataverse.
Aparte de CDS o Dataverse también nos podríamos conectar directamente al Online Service de Dynamics 365 (online).
¿Espera… tres maneras para hacer lo mismo?
Si, pero no… Y lo vamos a explicar con un ejemplo práctico. En el pasado, un reto habitual fue traerse los labels de Option Sets de Dynamics 365. Para nuestro ejemplo, usamos un Option Set (Choice Field en terminología nueva) de probabilidad de cierre de una oportunidad.
Como podemos apreciar, el campo es requerido y tiene 5 distintas opciones. Cada una de esas 5 detrás del label (lo que ve el usuario en la aplicación) tiene un valor único con el cual se guarda, en el caso de la primera opción (10%) es 100.000.000.
Hasta hace relativamente poco no había manera sencilla de obtener el label en Power BI y, desde luego, el valor no nos ayudaba para nada ya que es útil para los consumidores de informes. Sin embargo, con la ayuda de la comunidad de Bizz Apps existía un workaround a través del poderoso XRM Toolbox – el PowerBI OptionSet Assistant. Ese tool nos creaba una entidad (tabla en lenguaje Dataverse) auxiliar para guardar valores y labels de los Option Sets necesarios. La tabla luego se importaba a Power BI y, por fin, teníamos los datos.
Con una de las recientes actualizaciones de Power BI y la conexión a Dataverse (no a CDS ni a Dynamics 365) eso ya forma parte del histórico. Eso también apunta a la unificación interna dentro de lo que son las Business Apps y Dataverse en general, ya que realmente eso elimina el “3 maneras para hacer lo mismo”, usamos el conector de Dataverse para todo y encima nos trae cosas nuevas.
Entonces, ahora cuando nos conectamos a Dataverse debemos seleccionar la tabla, en nuestro ejemplo la de Oportunidades. Ojo que en Dataverse todas las tablas (entidades) no salen en español, de allí la necesidad de buscar por “Opportunity”.
Damos a Transformar Datos en Power BI y seleccionamos Choose Columns para poder buscar por nuestro Choice Field (Option Set) y ya vemos directamente que hay un campo “nuevo” en comparación a lo que veíamos en el pasado. Dicho campo tiene el mismo nombre como el del valor y, sin espacios ni nada, pone name detrás.
Y el resultado en el Power Query Editor sería el siguiente, aunque obviamente en la práctica nos quedaríamos solamente con el label.
¿Espera… eso para Option Sets, correcto?
Si, pero no solamente. Como añadido, esa funcionalidad no solamente existe con los Option Sets, pero también con campos como Usuario/Propietario, donde antiguamente teníamos el ID del usuario y teníamos que pasar por la tabla Users para traernos el nombre.
Esas mejoras resultan en un inminente ahorro de tiempo y facilita mucho de trabajo a la hora de crear el modelo de datos para informes analíticos basados en datos de Dynamics 365 / Dataverse.