Uso de DirectQuery para conjuntos de datos de Power BI y Azure Analysis Services (versión preliminar)Using DirectQuery for Power BI datasets and Azure Analysis Services (preview)

Con DirectQuery para los conjuntos de datos de Power BI y Azure Analysis Services (AAS) , puede usar DirectQuery para conectarse a los conjuntos de datos de Power BI o AAS y, si lo desea, combinarlo con otros datos importados y otra instancia de DirectQuery.With DirectQuery for Power BI datasets and Azure Analysis Services (AAS), you can use DirectQuery to connect to AAS or Power BI datasets and if you want, combine it with other DirectQuery and imported data. Esta característica resultará especialmente útil para autores de informes que quieran combinar los datos de su modelo semántico empresarial con otros datos que posean, como una hoja de cálculo de Excel, o que quieran personalizar o enriquecer los metadatos de su modelo semántico empresarial.Report authors who want to combine the data from their enterprise semantic model with other data they own, such as an Excel spreadsheet, or want to personalize or enrich the metadata from their enterprise semantic model, will find this feature especially useful.

Habilitación de la característica en versión preliminarEnable the preview feature

Como la funcionalidad está actualmente en versión preliminar, primero debe habilitarla primero.Since the functionality is currently in preview, you must first enable it. Para hacerlo, en Power BI Desktop, vaya a Archivo > Opciones y configuración > Opciones y, en la sección Características en vista previa, active la casilla DirectQuery para conjuntos de datos de Power BI y Analysis Services para habilitar esta característica en vista previa (GB).To do so, in Power BI Desktop go to File > Options and settings > Options, and in the Preview features section, select the DirectQuery for Power BI datasets and Analysis Services checkbox to enable this preview feature. Para que el cambio se aplique, puede que tenga que reiniciar Power BI Desktop.You may need to restart Power BI Desktop for the change to take effect.

Uso de DirectQuery para conexiones dinámicasUsing DirectQuery for live connections

El uso de DirectQuery para los conjuntos de datos de Power BI y Azure Analysis Services requiere que el informe tenga un modelo local.Using DirectQuery for Power BI datasets and Azure Analysis Services requires your report to have a local model. Puede empezar a partir de una conexión dinámica y agregar o actualizar a un modelo local, o bien empezar con una conexión de DirectQuery o datos importados, lo que crea automáticamente un modelo local en el informe.You can start from a live connection and add or upgrade to a local model, or start with a DirectQuery connection or imported data, which automatically creates a local model in your report.

Para ver las conexiones que se usan en el modelo, compruebe la barra de estado que se encuentra en la esquina inferior derecha de Power BI Desktop.To see which connections are being used in your model, check the status bar in the bottom right corner of Power BI Desktop. Si solo está conectado a un origen de Azure Analysis Services, verá un mensaje similar a la imagen siguiente:If you're only connected to an Azure Analysis Services source, you see a message like the following image:

Conexión solo de Azure Analysis Services

Si está conectado a un conjunto de datos de Power BI, verá un mensaje en el que se le indicará el conjunto de Power BI al que está conectado:If you're connected to a Power BI dataset, you see a message telling you which Power BI dataset you're connected to:

Conexión del conjunto de datos de Power BI

Si quiere personalizar los metadatos de los campos del conjunto de datos con conexión dinámica, seleccione Hacer cambios en este modelo en la barra de estado.If you want to customize the metadata of fields in your live connected dataset, select Make changes to this model in the status bar. Como alternativa, puede hacer clic en el botón Hacer cambios en este modelo que está en la cinta de opciones, tal como se muestra en la imagen siguiente.Alternatively, you can click the Make changes to this model button in the ribbon, as shown in the following image. En Vista de informe, el botón Hacer cambios en este modelo en la pestaña Modelado. En Vista de modelo, el botón está en la pestaña Inicio.In Report View the Make changes to this model button in the Modeling tab. In Model View, the button is in the Home tab.

Botón Hacer cambios en este modelo

Al seleccionar el botón, se muestra un cuadro de diálogo para confirmar la incorporación de un modelo local.Selecting the button displays a dialog confirming addition of a local model. Seleccione Agregar un modelo local para permitir la creación de columnas nuevas o modificar los metadatos para los campos los conjuntos de Power BI o Azure Analysis Services.Select Add a local model to enable creating new columns or modifying the metadata, for fields from Power BI datasets or Azure Analysis Services. En la imagen siguiente se muestra el cuadro de diálogo que aparece.The following image shows the dialog that's displayed.

Cuadro de diálogo Crear modelo local

Cuando establece una conexión dinámica a un origen de Analysis Services, no hay ningún modelo local.When you're connected live to an Analysis Services source, there is no local model. Si desea usar DirectQuery para orígenes con conexión dinámica, como conjuntos de datos de Power BI y Azure Analysis Services, debe agregar un modelo local al informe.To use DirectQuery for live connected sources, such as Power BI datasets and Azure Analysis Services, you must add a local model to your report. Al publicar un informe con un modelo local en el servicio Power BI, también se publica un conjunto de datos para ese modelo local.When you publish a report with a local model to the Power BI service, a dataset for that local model is published a well.

EncadenamientoChaining

Los conjuntos de datos, y los conjuntos de datos y los modelos en que se basan, conforman una cadena.Datasets, and the datasets and models they are based, on form a chain. Este proceso, denominado encadenamiento, le permite publica un informe y un conjunto de datos en función de otros conjuntos de Power BI, una característica que antes no era posible.This process, called chaining lets you publish a report and dataset based on other Power BI datasets, a feature that previously was not possible.

Por ejemplo, imagine que un colega suyo publica un conjunto de datos de Power BI denominado Ventas y presupuesto basado en un modelo de Azure Analysis Services denominado Ventas, y lo combina con una hoja de Excel denominada Presupuesto.For example, imagine your colleague publishes a Power BI dataset called Sales and Budget that's based on an Azure Analysis Services model called Sales, and combines it with an Excel sheet called Budget.

Cuando publica un informe (y conjunto de datos) nuevo denominado Ventas y presupuesto Europa que se basa en el conjunto de datos Ventas y presupuesto de Power BI que publicó su colega, y le hace algunas modificaciones o extensiones adicionales, efectivamente agrega un informe y un conjunto de datos a una cadena de longitud tres, que empezó con el modelo Ventas de Azure Analysis Services y finaliza con el conjunto de datos Ventas y presupuesto Europa de Power BI.When you publish a new report (and dataset) called Sales and Budget Europe that's based on the Sales and Budget Power BI dataset published by your colleague, making some further modifications or extensions as you do so, you're effectively adding a report and dataset to a chain of length three, which started with the Sales Azure Analysis Services model, and ends with your Sales and Budget Europe Power BI dataset. En la imagen siguiente se muestra este proceso de encadenamiento.The following image visualizes this chaining process.

El proceso de encadenar conjuntos de datos

La cadena de la imagen anterior tiene una longitud de tres, que es la máxima longitud permitida durante este período de versión preliminar.The chain in the previous image is of length three, which is the maximum length during this preview period. No se permite ir más allá de una cadena con longitud de tres, lo que generaría un error.Extending beyond a chain length of three is not supported and results in errors.

Advertencia de seguridadSecurity warning

El uso de la característica DirectQuery para conjuntos de datos de Power BI y Azure Analysis Services (AAS) le mostrará un cuadro de diálogo con una advertencia de seguridad, como se ve en la imagen siguiente.Using the DirectQuery for Power BI datasets and Azure Analysis Services (AAS) feature will present you with a security warning dialog, shown in the following image.

Advertencia de seguridad

Los datos se pueden insertar de un origen de datos a otro, que es la misma advertencia de seguridad que aparece al combinar DirectQuery e importar orígenes en un modelo de datos.Data may be pushed from one data source to another, which is the same security warning for combining DirectQuery and import sources in a data model. Para más información sobre este comportamiento, consulte este artículo sobre cómo usar modelos compuestos en Power BI Desktop.To learn more about this behavior, please see using composite models in Power BI Desktop.

Características y escenarios que se deben probarFeatures and scenarios to try

En la lista siguiente se brindan sugerencias sobre cómo puede explorar la característica DirectQuery para conjuntos de datos de Power BI y Azure Analysis Services (AAS) para que pueda hacer lo siguiente:The following list provides suggestions on how you can explore DirectQuery for Power BI datasets and Azure Analysis Services (AAS) for yourself:

  • Conectarse a datos de varios orígenes: importaciones (como archivos), conjuntos de datos de Power BI, Analysis Services.Connecting to data from various sources: Import (such as files), Power BI datasets, Azure Analysis Services
  • Crear relaciones entre distintos orígenes de datos.Creating relationships between different data sources
  • Escribir medidas que usen campos de distintos orígenes de datos.Writing measures that use fields from different data sources
  • Crear columnas nuevas para tablas de conjuntos de datos de Power BI y Azure Analysis Services.Creating new columns for tables from Power BI datasets of Azure Analysis Services
  • Crear objetos visuales que usen columnas de distintos orígenes de datos.Creating visuals that use columns from different data sources

A partir de la versión de abril de 2021 de Power BI Desktop, también se puede conectar a una perspectiva al realizar una conexión de DirectQuery a un modelo de Azure Analysis Services, si hay una perspectiva disponible.Beginning with the April 2021 version of Power BI Desktop, you can also connect to a perspective when making a DirectQuery connection to an Azure Analysis Services model, if a perspective is available.

Consideraciones y limitacionesConsiderations and limitations

Hay algunas consideraciones que debe tener en cuenta al usar DirectQuery para conjuntos de datos de Power BI y Azure Analysis Services (AAS) :There are a few considerations to keep in mind when using DirectQuery for Power BI datasets and Azure Analysis Services (AAS):

  • Si actualiza los orígenes de datos y hay errores en nombres de campos o tablas en conflicto, Power BI resuelve estos errores de manera automática.If you refresh your data sources, and there are errors with conflicting field or table names, Power BI resolves the errors for you.

  • Para generar informes en el servicio Power BI de un modelo compuesto basado en otro conjunto de datos, se deben establecer todas las credenciales.To build reports in the Power BI service on a composite model that's based on another dataset, all credentials must be set. En la página de actualización de la configuración de credenciales, en el caso de los orígenes de Azure Analysis Services, aparecerá el error siguiente aunque las credenciales estén establecidas:On the refresh credential settings page, for Azure Analysis Services sources, the following error will appear, even though the credentials have been set:

    Advertencia falsa sobre las credenciales

  • Como esto resulta confuso e incorrecto, nos ocuparemos de ello pronto.As this is confusing and incorrect, this is something we will take care of soon.

  • Las reglas de RLS se aplicarán en el origen en el que se definen, pero no se aplicarán a ningún otro conjunto de datos del modelo.RLS rules will be applied on the source on which they are defined, but will not be applied to any other datasets in the model. La RLS definida en el informe no se aplicará a los orígenes remotos y la RLS establecida en orígenes remotos no se aplicará a otros orígenes de datos.RLS defined in the report will not be applied to remote sources, and RLS set on remote sources will not be applied to other data sources.

  • En esta versión preliminar, las carpetas de visualización, los KPI, las tablas de fecha, la seguridad de nivel de fila y las traducciones no se importarán desde el origen.Display folders, KPIs, date tables, row level security, and translations will not be imported from the source in this preview release. De todos modos puede crear carpetas de visualización en el modelo local.You can still create display folders in the local model.

  • Puede que vea un comportamiento inesperado al usar una jerarquía de fechas.You may see some unexpected behavior when using a date hierarchy. Para resolver este problema, use en su lugar una columna de fechas.To resolve this issue, use a date column instead. Después de agregar una jerarquía de fechas a un objeto visual, puede cambiar a una columna de fechas si hace clic en la flecha hacia abajo que está en el nombre del campo y, luego, hace clic en el nombre de ese campo en lugar de usar Date Hierarchy (Jerarquía de fechas):After adding a date hierarchy to a visual, you can switch to a date column by clicking on the down arrow in the field name, and then clicking on the name of that field instead of using Date Hierarchy:

    Comportamiento inesperado de la jerarquía de fechas

    Para más información sobre el uso de las columnas de fechas en comparación con las jerarquías de fechas, visite este artículo.For more information on using date columns versus date hierarchies, visit this article.

  • Puede que vea mensajes de error nada útiles al usar las características de IA con un modelo que tiene una conexión de DirectQuery con Azure Analysis Services.You may see unuseful error messages when using AI features with a model that has a DirectQuery connection to Azure Analysis Services.

  • Si usa ALLSELECTED con un origen de DirectQuery se generarán resultados incompletos.Using ALLSELECTED with a DirectQuery source results in incomplete results.

  • Filtros y relaciones:Filters and relationships:

    • Un filtro aplicado de un origen de datos a una tabla desde otro origen de DirectQuery solo se puede establecer en una sola columna.A filter applied from a data source to a table from another DirectQuery source can only be set on a single column

    • No se recomienda ni se permite filtrar de manera cruzada dos tablas en un origen de DirectQuery mediante su filtrado con una tabla fuera del origen.Cross-filtering two tables in a DirectQuery source by filtering them with a table outside of the source is not a recommended design, and is not supported.

    • Un filtro solo puede tocar una vez una tabla.A filter can only touch a table once. No se permite aplicar dos veces el mismo filtro a una tabla, a través de una o varias tablas fuera del origen de DirectQuery.Applying the same filter to a table twice, through one of more tables outside of the DirectQuery source, is not supported.

  • Durante la versión preliminar, la longitud máxima de una cadena de modelos es tres.During preview, the maximum length of a chain of models is three. No se permite ir más allá de una cadena con longitud de tres, lo que generaría un error.Extending beyond the chain length of three is not supported and results in errors.

  • Con herramientas de terceros, se puede establecer una marca para impedir el encadenamiento en un modelo a fin de evitar que se cree o se extienda una cadena.Using third party tools, a discourage chaining flag can be set on a model to prevent a chain from being created or extended. Para establecerla, busque la propiedad DiscourageCompositeModels en un modelo.To set it, look for the DiscourageCompositeModels property on a model.

También hay algunas limitaciones que debe tener en cuenta:There are also a few limitations you need to keep in mind:

  • Los parámetros de los nombres de servidor y base de datos están deshabilitados actualmente.Parameters for database and server names are currently disabled.

  • No se admite la definición de RLS en las tablas de un origen remoto.Defining RLS on tables from a remote source is not supported.

  • En la actualidad, no se permite usar SQL Server Analysis Services (SSAS) como origen de DirectQuery.Using SQL Server Analysis Services (SSAS) as a DirectQuery source is not currently supported.

  • En la actualidad, no se permite usar DirectQuery en conjuntos de datos de "Mi área de trabajo".Using DirectQuery on datasets from “My workspace” is not currently supported.

  • Actualmente, no se permite usar Power BI Embedded con conjuntos de datos que incluyan una conexión de DirectQuery a un modelo de conjuntos de Power BI o de Azure Analysis Services.Using Power BI Embedded with datasets that include a DirectQuery connection to a Power BI datasets or Azure Analysis Services model is not currently supported.

  • Las cadenas de formato en las columnas y las medidas de un origen remoto no se importan al modelo compuesto.Format strings on columns and measures from a remote source are not imported to the composite model.

  • No se admiten grupos de cálculo en orígenes remotos, con resultados de consulta no definidos.Calculation groups on remote sources are not supported, with undefined query results.

  • En este momento, no se admite la ordenación por columna.Sort by column isn't supported at this time.

  • La actualización automática de páginas (APR) solo se permite en ciertos escenarios, en función del tipo de origen de datos.Automatic page refresh (APR) is only supported for some scenarios, depending on the data source type. Para más información, consulte Actualización automática de páginas en Power BI.See the article Automatic page refresh in Power BI for more information.

Consideraciones sobre inquilinosTenant considerations

Cualquier modelo con una conexión DirectQuery a Azure Analysis Services se debe publicar en el mismo inquilino, lo que es especialmente importante al acceder a un modelo de Azure Analysis Services mediante identidades de invitado B2B, como se muestra en el diagrama siguiente.Any model with a DirectQuery connection to Azure Analysis Services must be published in the same tenant, which is especially important when accessing an Azure Analysis Services model using B2B guest identities, as depicted in the following diagram. Vea Usuarios invitados que pueden editar y administrar contenido a fin de encontrar la dirección URL del inquilino para la publicación.See Guest users who can edit and manage content to find the tenant URL for publishing.

Observe el diagrama siguiente.Consider the following diagram. Los pasos numerados del diagrama se describen en los párrafos siguientes.The numbered steps in the diagram are described in paragraphs that follow.

Diagrama de no conexión entre inquilinos

En el diagrama, Ash trabaja con Contoso y accede a datos proporcionados por Fabrikam.In the diagram, Ash works with Contoso and is accessing data provided by Fabrikam. Con Power BI Desktop, Ash crea una conexión DirectQuery a un modelo de Azure Analysis Services que se hospeda en el inquilino de Fabrikam.Using Power BI Desktop, Ash creates a DirectQuery connection to an Azure Analysis Services model that is hosted in Fabrikam’s tenant.

Para autenticarse, Ash utiliza una identidad de usuario invitado B2B (paso 1 del diagrama).To authenticate, Ash uses a B2B Guest user identity (step 1 in the diagram).

Si el informe se publica en el servicio Power BI de Contoso (paso 2), el conjunto de datos publicado en el inquilino de Contoso no se puede autenticar correctamente en el modelo de Azure Analysis Services de Fabrikam (paso 3).If the report is published to Contoso’s Power BI service (step 2), the dataset published in the Contoso tenant cannot successfully authenticate against Fabrikam’s Azure Analysis Services model (step 3). Como resultado, el informe no funcionará.As a result, the report will not work.

En este escenario, como el modelo de Azure Analysis Services utilizado se hospeda en el inquilino de Fabrikam, el informe también se debe publicar en el inquilino de Fabrikam.In this scenario, since the Azure Analysis Services model used is hosted in Fabrikam’s tenant, the report also must be published in Fabrikam's tenant. Después de la publicación correcta en el inquilino de Fabrikam (paso 4), el conjunto de datos puede acceder correctamente al modelo de Azure Analysis Services (paso 5) y el informe funcionará sin problemas.After successful publication in Fabrikam’s tenant (step 4) the dataset can successfully access the Azure Analysis Services model (step 5) and the report will work properly.

Pasos siguientesNext steps

Para más información acerca de DirectQuery, revise los siguientes recursos:For more information about DirectQuery, check out the following resources: