Compartir a través de


Visualización de datos de Azure Cosmos DB con Power BI

SE APLICA A: NoSQL

En este artículo se describen los pasos necesarios para conectar datos de Azure Cosmos DB a Power BI Desktop.

Puede conectarse a Azure Cosmos DB desde Power BI Desktop mediante una de estas opciones:

  • Use Creación de reflejos en Microsoft Fabric para replicar datos de Azure Cosmos DB en Fabric OneLake. Los cambios realizados en la base de datos se sincronizan automáticamente con Fabric OneLake casi en tiempo real, sin afectar al rendimiento de la base de datos de origen ni a consumir unidades de recursos (RU).

    Los informes de Power BI pueden acceder a los datos directamente desde OneLake mediante el modo DirectLake. Con las características mejoradas de Copilot en Power BI dentro de Fabric, puede acceder a la inteligencia artificial generativa para obtener información empresarial clave.

  • Use Azure Synapse Link para crear informes de Power BI sin impacto sobre los costos o el rendimiento de las cargas de trabajo transaccionales, y sin canalizaciones de ETL.

    Puede usar el modo DirectQuery o el modo de importación. Con DirectQuery, puede crear paneles o informes con datos en directo desde sus cuentas de Azure Cosmos DB, sin importar ni copiar los datos en Power BI.

  • Conecte Power BI Desktop a la cuenta de Azure Cosmos DB mediante el conector de Azure Cosmos DB para Power BI. Esta opción solo está disponible en modo de importación y consumirá las RU asignadas a las cargas de trabajo transaccionales.

Nota

Los informes que se crean con Power BI Desktop se pueden publicar en PowerBI.com. No se puede realizar la extracción directa de datos de Azure Cosmos DB desde PowerBI.com.

Requisitos previos

Antes de seguir las instrucciones de este tutorial de Power BI, asegúrese de que tiene acceso a los siguientes recursos:

Para compartir los informes en PowerBI.com, debe tener una cuenta en PowerBI.com. Para más información sobre Power BI y Power BI Pro, visite https://powerbi.microsoft.com/pricing.

Comencemos.

Creación de informes de BI mediante la creación de reflejos en Microsoft Fabric

Puede habilitar la creación de reflejos en los contenedores de Azure Cosmos DB existentes y crear informes o paneles de BI de estos datos casi en tiempo real. A fin de obtener instrucciones para empezar a trabajar con Fabric y la creación de reflejos, visite el tutorial de creación de reflejos para Azure Cosmos DB.

Puede habilitar Azure Synapse Link en los contenedores de Azure Cosmos DB existentes y crear informes de BI sobre estos datos con tan solo unos clics mediante el portal de Azure Cosmos DB. Power BI se conectará a Azure Cosmos DB con el modo Direct Query, lo que le permite consultar los datos de Azure Cosmos DB en directo, sin afectar a las cargas de trabajo transaccionales.

Para crear un informe o panel de Power BI:

  1. Inicie sesión en Azure Portal y vaya a su cuenta de Azure Cosmos DB.

  2. En la sección Integrations (Integraciones), abra el panel Power BI y seleccione Get started (Introducción).

    Nota:

    Actualmente, esta opción solo está disponible para las cuentas API para NoSQL. Puede crear vistas de T-SQL directamente en grupos de SQL sin servidor de Synapse y crear paneles de BI para Azure Cosmos DB for MongoDB. Consulte "Uso de Power BI y grupos de Synapse SQL sin servidor para analizar los datos de Azure Cosmos DB mediante Synapse Link" para más información.

  3. En la pestaña Enable Azure Synapse Link (Habilitar Azure Synapse Link) puede habilitar Synapse Link en la cuenta desde la sección Enable Azure Synapse link for this account (Habilitar Azure Synapse Link para esta cuenta). Si Synapse Link ya está habilitado para su cuenta, no verá esta pestaña. Este paso es un requisito previo para empezar a habilitar Synapse Link en los contenedores.

    Nota:

    Habilitar Azure Synapse Link tiene implicaciones de costo. Vea la sección de precios de Azure Synapse Link para obtener más información.

  4. Junto a la sección Enable Azure Synapse Link for your containers (Habilitar Azure Synapse Link para los contenedores), elija los contenedores necesarios para habilitar Synapse Link.

    • Si ya ha habilitado Synapse Link en algunos contenedores, verá seleccionada la casilla situada junto al nombre del contenedor. Opcionalmente, puede anular su selección, en función de los datos que quiera visualizar en Power BI.

    • Si Synapse Link no está habilitado, puede habilitarlo en los contenedores existentes.

      Si la habilitación de Synapse Link está en curso en cualquiera de los contenedores, los datos de esos contenedores no se incluirán. Debe volver a esta pestaña más adelante e importar datos cuando los contenedores estén habilitados.

    Progreso de Synapse Link habilitado en los contenedores existentes.

  5. Según la cantidad de datos de los contenedores, puede tardar un tiempo la habilitación de Synapse Link. Para obtener más información, vea el artículo Habilitar Synapse Link en contenedores existentes.

    Puede comprobar el progreso en el portal como se muestra en la pantalla siguiente. Los contenedores se habilitan con Synapse Link cuando el progreso alcanza el 100 %.

    Synapse Link se ha habilitado correctamente en los contenedores seleccionados.

  6. En la pestaña Select workspace (Seleccionar área de trabajo), elija el área de trabajo de Azure Synapse Analytics y seleccione Siguiente. Este paso creará automáticamente vistas de T-SQL en Synapse Analytics para los contenedores seleccionados anteriormente. Para obtener más información sobre las vistas T-SQL necesarias para conectar su Azure Cosmos DB a Power BI, vea el artículo Preparar vistas.

    Nota:

    Las propiedades del contenedor de Azure Cosmos DB se representarán como columnas en vistas de T-SQL, incluidos los datos JSON anidados profundos. Este es un inicio rápido de los paneles de BI. Estas vistas estarán disponibles en el área de trabajo o la base de datos de Synapse; también puede usar estas mismas vistas en el área de trabajo de Synapse para la exploración de datos, la ciencia de datos, la ingeniería de datos, etc. Tenga en cuenta que los escenarios avanzados pueden requerir vistas más complejas o ajustar estas vistas para mejorar el rendimiento. Para obtener más información, Consulte el artículo Problemas de rendimiento de Cosmos DB.

  7. Puede elegir un área de trabajo existente o crear una. Para seleccionar un área de trabajo existente, proporcione los detalles de Suscripción, Área de trabajo y Base de datos. Azure Portal usará sus credenciales de Microsoft Entra para conectarse automáticamente al área de trabajo de Synapse y crear vistas de T-SQL. Asegúrese de que tiene permisos de "administrador de Synapse" para esta área de trabajo.

    Conexión al área de trabajo de Synapse Link y creación de vistas.

  8. A continuación, seleccione Descargar .pbids para descargar el archivo de origen de datos de Power BI. Abra el archivo que ha descargado. Contiene la información de conexión necesaria y abre Power BI Desktop.

    Descargue los archivos de escritorio de Power BI en formato .pbids.

  9. Ahora puede conectarse a los datos de Azure Cosmos DB desde Power BI Desktop. Se muestra una lista de vistas T-SQL correspondientes a los datos de cada contenedor.

    Por ejemplo, en la pantalla siguiente se muestran los datos de la flota de vehículos. Puede cargar estos datos para analizarlo o transformarlo antes de cargarlo.

    Se muestra una lista de vistas T-SQL correspondientes a los datos de cada contenedor.

  10. Ahora puede empezar a crear el informe mediante datos analíticos de Azure Cosmos DB. Los cambios en los datos se reflejarán en el informe, tan pronto como los datos se replican en el almacén analítico, lo que suele ocurrir en un par de minutos.

Creación de informes de BI mediante el conector de Power BI

Nota:

Actualmente, la conexión a Azure Cosmos DB con el conector de Power BI solo se admite en las cuentas de Azure Cosmos DB for NoSQL y API para Gremlin.

  1. Ejecute Power BI Desktop.

  2. También puede obtener datos, consultar orígenes recientes o abrir otros informes directamente desde la pantalla de bienvenida. Haga clic en la X de la esquina superior derecha para cerrar la pantalla. Se muestra la vista Informe de Power BI Desktop.

    Vista de informes de Power BI Desktop: conector de Power BI

  3. Seleccione la cinta de opciones Inicio y haga clic en Obtener datos. Se muestra la pantalla Obtener datos .

  4. Haga clic en Azure, seleccione Azure Cosmos DB (beta) y, a continuación, haga clic en Conectar.

    Obtención de datos de Power BI Desktop: conector de Power BI

  5. En la página Vista previa del conector, haga clic en Continuar. Aparece la ventana de Azure Cosmos DB.

  6. Especifique la dirección URL del punto de conexión de la cuenta de Azure Cosmos DB de la que desea recuperar los datos, tal como se muestra a continuación, y haga clic en Aceptar. Para usar su propia cuenta, puede recuperar la dirección URL del cuadro te texto Identificador URI de la hoja Claves de Azure Portal. Si lo prefiere, puede indicar el nombre de la base de datos, el nombre de la colección o usar el navegador para seleccionar la base de datos y la colección para identificar la procedencia de los datos.

  7. Si se conecta a este punto de conexión por primera vez, se le pedirá la clave de cuenta. Para usar su propia cuenta, recupere la clave del cuadro Clave principal de la hoja Claves de solo lectura de Azure Portal. Escriba la clave adecuada y, a continuación, haga clic en Conectar.

    Se recomienda usar la clave de solo lectura al generar informes. De esta forma se evita una exposición innecesaria de la clave principal a posibles riesgos de seguridad. La clave de solo lectura está disponible desde la hoja Claves de Azure Portal.

  8. Con la cuenta conectada correctamente, aparece el panel Navegador. El panel Navegador muestra la lista de bases de datos que hay en la cuenta.

  9. Haga clic en la base de datos de donde proceden los datos del informe y expándala. Ahora, seleccione una colección que contenga los datos que recuperar.

    El panel de vista previa muestra una lista de elementos Registro . Un documento se representa como un tipo Registro en Power BI. De forma similar, un bloque JSON anidado dentro de un documento también es un Registro. Para ver los documentos de propiedades como columnas, haga clic en el botón gris con dos flechas en direcciones opuestas que simbolizan la expansión del registro. Se encuentra a la derecha del nombre del contenedor, en el mismo panel de vista previa.

  10. La vista de informe de Power BI Desktop es donde puede empezar a crear informes para visualizar datos. Puede crear informes arrastrando y soltando campos en el lienzo del informe .

  11. Hay dos formas de actualizar los datos: actualización ad hoc y actualización programada. Simplemente haga clic en Actualizar ahora para actualizar los datos. Consulte la documentación de Power BI para obtener más información sobre la opción de actualización programada.

Problemas y limitaciones conocidos

  • En el caso de los contenedores de Cosmos DB con particiones, una consulta SQL con una función de agregado se pasa a Cosmos DB si la consulta también contiene un filtro (cláusula WHERE) en la clave de partición. Si la consulta de funciones agregadas no contiene un filtro en la clave de partición, el conector realiza la agregación.

  • El conector no pasa una función de agregado si se llama después de aplicar TOP o LIMIT. Cosmos DB procesa la operación TOP al final cuando procesa una consulta. Por ejemplo, en la consulta siguiente, TOP se aplica en la subconsulta, mientras que la función de agregado se aplica sobre ese conjunto de resultados:

    SELECT COUNT(1) FROM (SELECT TOP 4 * FROM EMP) E

  • Si DISTINCT se proporciona en una función de agregado, el conector no pasa la función de agregado a Cosmos DB si se proporciona una cláusula DISTINCT en una función de agregado. Cuando está presente en una función de agregado, DISTINCT no es compatible con la API de SQL de Cosmos DB.

  • Para la función de agregado SUM, Cosmos DB devuelve undefined como conjunto de resultados si alguno de los argumentos de SUM son string, boolean o null. Sin embargo, si hay valores nulos, el conector pasa la consulta a Cosmos DB de forma que pida al origen de datos que reemplace un valor nulo por cero como parte del cálculo SUM.

  • Para la función de agregado AVG, Cosmos DB devuelve undefined como conjunto de resultados si alguno de los argumentos de SUM son string, boolean o null. El conector expone una propiedad de conexión para deshabilitar la eliminación de la función de agregado AVG a Cosmos DB en caso de que se deba invalidar este comportamiento predeterminado de Cosmos DB. Cuando el pase de AVG está deshabilitado, no se pasa a Cosmos DB y el conector controla la realización de la operación de agregación de AVG. Para obtener más información, vaya a "Habilitar el pase de la función AVERAGE" en Opciones avanzadas.

  • Los contenedores de Azure Cosmos DB con clave de partición grande no se admiten actualmente en el conector.

  • El pase de agregación está deshabilitado para la sintaxis siguiente debido a las limitaciones del servidor:

    • Cuando la consulta no se filtra por una clave de partición o cuando el filtro de clave de partición usa el operador OR con otro predicado en el nivel superior de la cláusula WHERE.

    • Cuando la consulta tiene una o varias claves de partición aparecen en una cláusula IS NOT NULL en la cláusula WHERE.

  • El conector V2 no admite tipos de datos complejos, como matrices, objetos y estructuras jerárquicas. Se recomienda la característica [Creación de reflejo en Fabric para Azure Cosmos DB](/articles/cosmos-db/analytics-and-business-intelligence-overview.md para esos escenarios.

  • El conector V2 usa el muestreo de los primeros 1000 documentos para que aparezcan con el esquema inferido. No se recomienda para escenarios de evolución del esquema cuando solo se actualiza parte de los documentos. Por ejemplo, es posible que una propiedad recién agregada a un documento de un contenedor con miles de documentos no se incluya en el esquema inferido. Se recomienda la característica Creación de reflejo en Fabric para Azure Cosmos DB para esos escenarios.

  • Actualmente, el conector V2 no admite valores que no sean cadenas en las propiedades del objeto.

  • El pase de filtrado está deshabilitado para la sintaxis siguiente debido a las limitaciones del servidor:

  • Cuando se hace referencia a la consulta que contiene una o varias columnas de agregado en la cláusula WHERE.

Pasos siguientes