Definición de particiones en los modelos DirectQuery
Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
En este artículo se describe cómo se usan las particiones en los modelos de DirectQuery. Para obtener más información general sobre las particiones en modelos tabulares, consulte Particiones en modelos tabulares.
Nota:
Aunque una tabla puede tener varias particiones, en el modo DirectQuery, solo se puede designar una de ellas para su uso en la ejecución de consultas. El requisito de una sola partición se aplica a los modelos DirectQuery en todos los niveles de compatibilidad.
Uso de particiones en modo DirectQuery
Para cada tabla, debe especificar una única partición para utilizar como origen de datos de DirectQuery. De forma predeterminada, si existen varias particiones, al cambiar el modelo para habilitar el modo DirectQuery, la primera partición que se creó en la tabla se marcará como la partición DirectQuery. Puede cambiar esto más adelante mediante el Administrador de particiones en el diseñador de modelos tabulares de Visual Studio.
¿Por qué permitir únicamente una sola partición en el modo DirectQuery? En los modelos tabulares (como en los modelos OLAP), las particiones de una tabla se definen mediante consultas de PowerQuery M o consultas SQL. El desarrollador que crea la definición de la partición es el responsable de garantizar que las particiones no superpongan. Analysis Services no comprueba si los registros pertenecen a una o a varias particiones.
Las particiones de un modelo tabular almacenado en caché se comportan de la misma manera. Si se utiliza un modelo en memoria, las fórmulas DAX se evalúan para cada partición mientras se obtiene acceso a la caché, y se combinan los resultados. Sin embargo, cuando un modelo tabular utiliza el modo DirectQuery, no se puede evaluar varias particiones, combinar los resultados y convertir todo esto en una instrucción SQL para enviarla al almacén de datos relacional. Esto podría ocasionar una pérdida inaceptable de rendimiento, así como posibles imprecisiones a medida que se agregan los resultados.
Por lo tanto, para las consultas respondidas en modo DirectQuery, el servidor usa una única partición que se ha marcado como partición principal para el acceso de DirectQuery, denominada partición DirectQuery. La consulta SQL especificada en la definición de esta partición define el conjunto completo de datos que pueden usarse para responder consultas en el modo DirectQuery.
Si no define de forma explícita una partición, el motor simplemente emite una consulta SQL al origen de datos relacional completo, realiza las operaciones basadas en conjuntos dictadas por la fórmula DAX y devuelve los resultados de la consulta.
Cambio de una partición de DirectQuery
Dado que únicamente se puede designar una partición de una tabla como la partición DirectQuery, Analysis Services utiliza de forma predeterminada la primera partición que se creó en la tabla. Durante la creación del proyecto de modelo, puede cambiar la partición directQuery mediante el Administrador de particiones. En el caso de los modelos implementados, puede cambiar la partición directQuery mediante SQL Server Management Studio.
Cambiar la partición de DirectQuery para un proyecto de modelos tabular
En Visual Studio, en el diseñador de modelos, haga clic en la tabla (pestaña) que contiene la tabla con particiones.
Haga clic enExtensions Table Partitions (Particionesde tabla> de extensiones>).
En el Administrador de particiones, la partición asignada como la partición DirectQuery actual incluye el prefijo (DirectQuery) en el nombre de partición.
Seleccione otra partición en la lista Particiones y haga clic en Establecer como DirectQuery. El botón Establecer como DirectQuery no está habilitado si está seleccionada la partición DirectQuery actual, y no está visible si el modelo no se ha habilitado para el modo de consulta directa.
Cambiar la partición de DirectQuery para un modelo tabular implementado
En SQL Server Management Studio, abra la base de datos del modelo en Explorador de objetos.
Expanda el nodo Tablas , haga clic con el botón derecho en la tabla con particiones y, después, seleccione Particiones.
La partición designada para su uso con el modo DirectQuery tiene el prefijo (DirectQuery) en el nombre de partición.
Para cambiar a una partición diferente, haga clic en el icono Consulta directa de la barra de herramientas para abrir el cuadro de diálogo Establecer partición DirectQuery . El icono de la barra de herramientas de DirectQuery no está disponible en los modelos no habilitados para la consulta directa.
Elija una partición diferente en la lista desplegable Nombre de partición y, a continuación, cambie las opciones de procesamiento de la partición si es necesario.