Compartir vía


Administración del modo de almacenamiento en Power BI Desktop

En Microsoft Power BI Desktop, puede especificar el modo de almacenamiento de una tabla. El modo de almacenamiento le permite controlar si Power BI Desktop almacena en memoria caché los datos de tabla para los informes. El almacenamiento en caché significa almacenar temporalmente los datos en la memoria.

Establecer el modo de almacenamiento proporciona muchas ventajas. Puede establecer el modo de almacenamiento para cada tabla individualmente en el modelo. Esta acción habilita un único modelo semántico, que proporciona las siguientes ventajas:

  • rendimiento de consultas: a medida que los usuarios interactúan con objetos visuales en informes de Power BI, las consultas de expresiones de análisis de datos (DAX) se envían al modelo semántico. Si almacena datos en caché en memoria establecimiento correctamente el modo de almacenamiento, puede mejorar el rendimiento de consulta y la interactividad de los informes.

  • modelos semánticos grandes: las tablas que no están almacenadas en caché no consumen memoria con fines de almacenamiento en caché. Puede habilitar el análisis interactivo en modelos semánticos de gran tamaño que son demasiado grandes o costosos de almacenar en caché por completo en la memoria. Puede elegir qué tablas merecen la pena almacenar en caché y cuáles no.

  • optimización de la actualización de datos: no es necesario actualizar las tablas que no están almacenadas en caché. Puede reducir los tiempos de actualización almacenando en caché solo los datos necesarios para cumplir los contratos de nivel de servicio y sus requisitos empresariales.

  • requisitos casi en tiempo real: las tablas con requisitos casi en tiempo real pueden beneficiarse de no almacenarse en caché para reducir la latencia de los datos.

  • Escritura diferida: la escritura diferida permite que los usuarios profesionales exploren escenarios hipotéticos cambiando los valores de las celdas. Las aplicaciones personalizadas pueden aplicar cambios al origen de datos. Las tablas que no están almacenadas en caché pueden mostrar los cambios inmediatamente, lo que permite el análisis instantáneo de los efectos.

La configuración del modo de almacenamiento en Power BI Desktop es una de las tres características relacionadas:

  • Modelos compuestos: Permite que un informe tenga dos o más conexiones de datos, incluidas las conexiones DirectQuery o Importación, en cualquier combinación. Para obtener más información, consulte Uso de modelos compuestos en Power BI Desktop.

  • Relaciones de varios a varios: mediante el uso de modelos compuestos, puede establecer relaciones de varios a varios entre las tablas. En una relación varios a varios se eliminan los requisitos de valores únicos en tablas. También permite descartar las soluciones alternativas anteriores, como la presentación de nuevas tablas solo para establecer relaciones. Para obtener más información, vea Relaciones de varios a varios en Power BI Desktop.

  • Modo de almacenamiento: Con el modo de almacenamiento, ahora puede especificar los objetos visuales que requieren una consulta a los orígenes de datos de back-end. Los objetos visuales que no requieren una consulta se importan incluso si se basan en DirectQuery. Esta característica ayuda a mejorar el rendimiento y reducir la carga de back-end. Anteriormente, incluso los objetos visuales simples, como las segmentaciones, iniciaban consultas que se enviaban a los orígenes de back-end.

Uso de la propiedad de modo de almacenamiento

Modo de almacenamiento es una propiedad que se puede establecer en cada tabla del modelo y controla cómo Power BI almacena en caché los datos de tabla.

Para establecer la propiedad Modo de almacenamiento o ver su configuración actual:

  1. En la vista del Modelo , seleccione la tabla cuyas propiedades desea ver o establecer.

  2. En el panel de Propiedades , expanda la sección Avanzada y expanda la lista desplegable de Modo de Almacenamiento .

    Recorte de pantalla de la vista Relación resaltada con la lista desplegable de opciones para cambiar el modo de almacenamiento.

Has establecido la propiedad Modo de almacenamiento en uno de estos tres valores:

  • importar: las tablas importadas con esta configuración se almacenan en caché. Las consultas enviadas al modelo semántico de Power BI que devuelven datos de tablas de importación solo se pueden cumplir a partir de datos almacenados en caché.

  • DirectQuery: las tablas con esta configuración no se almacenan en caché. Las consultas que envíe al modelo semántico de Power BI (por ejemplo, las consultas DAX) y que devuelvan datos de tablas de DirectQuery solo se pueden completar mediante la ejecución de consultas a petición en el origen de datos. Las consultas que envíe al origen de datos usan el lenguaje de consulta para ese origen de datos, por ejemplo, SQL.

  • Dual: las tablas con esta configuración pueden actuar como tablas en caché o no en caché, en función del contexto de la consulta enviada al modelo semántico de Power BI. En algunos casos, se gestionan las consultas a partir de los datos almacenados en caché. En otros casos, se realizan consultas mediante la ejecución de una consulta a petición en el origen de datos.

El cambio del modo de almacenamiento de una tabla a Importación es una operación irreversible. Una vez establecida esta propiedad, no se puede cambiar más adelante a DirectQuery o Dual.

Nota

Puede usar el modo de almacenamiento Dual en Power BI Desktop y en el servicio Power BI.

Restricciones en las tablas DirectQuery y Dual

Las tablas duales tienen las mismas restricciones funcionales que las tablas directQuery. Estas restricciones incluyen transformaciones M limitadas y funciones DAX restringidas en columnas calculadas. Para obtener más información, consulte Limitaciones de DirectQuery.

Propagación de la configuración Dual

Tenga en cuenta el siguiente modelo, donde todas las tablas proceden de un único origen que admite Import y DirectQuery.

Recorte de pantalla de la vista Relación de ejemplo para el modo de almacenamiento.

Supongamos que todas las tablas de este modelo se establecen inicialmente en DirectQuery. Si cambia el modo de almacenamiento de la tabla SurveyResponse a Importar, se muestra la siguiente ventana de advertencia:

Captura de pantalla que muestra una ventana de advertencia que describe los resultados de cambiar el modo de almacenamiento a Importar.

Puede establecer las tablas de dimensiones (Customer, Geographyy Date) en Dual para reducir el número de relaciones limitadas en el modelo semántico y mejorar el rendimiento. Normalmente, las relaciones limitadas implican al menos una tabla directQuery en la que la lógica de combinación no se puede insertar en los sistemas de origen. Dado que las tablas duales pueden actuar ya sea como tablas DirectQuery o como tablas de importación, se evita esta situación.

La lógica de propagación está diseñada para ayudar con modelos que contienen muchas tablas. Supongamos que tiene un modelo con 50 tablas y solo es necesario almacenar en caché determinadas tablas de hechos (transaccionales). La lógica de Power BI Desktop calcula el conjunto mínimo de tablas de dimensiones que se deben establecer en dual, por lo que no tiene que hacerlo.

La lógica de propagación se limita solo a un lado de las relaciones uno a varios.

Ejemplo de uso del modo de almacenamiento

Imagine la aplicación de la siguiente configuración de propiedades del modo de almacenamiento:

Tabla Modo de almacenamiento
Ventas DirectQuery
SurveyResponse Importación
Fecha Dual
Cliente Dual
Geografía Dual

Establecer estas propiedades del modo de almacenamiento da como resultado los siguientes comportamientos, suponiendo que la tabla Sales tiene un volumen de datos significativo:

  • Power BI Desktop almacena en caché tablas de dimensiones, Fecha, Clientey Geografía, por lo que los tiempos de carga de los informes iniciales son rápidos cuando recuperan valores de segmentación de datos que se van a mostrar.

  • Power BI Desktop no almacena en caché la tabla Sales. Power BI Desktop proporciona los siguientes resultados sin almacenar en caché esta tabla:

    • Se han mejorado los tiempos de actualización de datos y se reduce el consumo de memoria.
    • Las consultas de informe basadas en la tabla Sales se ejecutan en modo DirectQuery. Estas consultas pueden tardar más, pero están más cerca del tiempo real, ya que no se introduce ninguna latencia de almacenamiento en caché.
  • Las consultas de informe basadas en la tabla SurveyResponse se devuelven de la memoria caché y, por tanto, son relativamente rápidas.

Consultas que aciertan o pierden la memoria caché

Si conecta SQL Profiler al puerto de diagnóstico de Power BI Desktop, puede ver qué consultas aciertan o fallan en la caché de memoria realizando un seguimiento de los siguientes eventos:

  • Eventos de consultas\Inicio de consulta
  • Procesamiento de consulta\Inicio de consulta de Vertipaq SE
  • Procesamiento de consultas\Inicio de DirectQuery

Para cada evento de Inicio de consulta, compruebe otros eventos con el mismo ActivityID. Por ejemplo, si no hay un evento DirectQuery Begin, pero hay un evento Vertipaq SE Query Begin, la consulta se responde desde la memoria caché.

Las consultas que hacen referencia a tablas duales devuelven datos de la memoria caché, si es posible; de lo contrario, vuelven a DirectQuery.

La consulta siguiente continúa desde la tabla anterior. Solo hace referencia a una columna de la tabla Date, que está en modo Dual. Por lo tanto, la consulta debe alcanzar la memoria caché:

Captura de pantalla que muestra el texto de la consulta que hace referencia a la tabla Date.

La consulta siguiente hace referencia solo a una columna de la tabla Sales, que está en modo de DirectQuery. Por tanto, no debe alcanzar la memoria caché:

Captura de pantalla que muestra el texto de la consulta que hace referencia a la tabla Sales.

La consulta siguiente es interesante porque combina ambas columnas. Esta consulta no alcanza la memoria caché. Inicialmente, esperarías que recupere los valores de CalendarYear de la memoria caché y los valores de SalesAmount del origen, para luego combinar los resultados; sin embargo, este enfoque es menos eficaz que enviar la operación SUM/GROUP BY al sistema de origen. Si la operación se transfiere al origen, el número de filas devueltas probablemente será mucho menor:

Captura de pantalla que muestra el texto de la consulta que hace referencia a la tabla Date y a la tabla Sales.

Nota

Este comportamiento es distinto del de las relaciones de varios a varios de Power BI Desktop, donde se combinan tablas en caché y no en caché.

Las memorias caché deben mantenerse sincronizadas

Las consultas que se muestran en la sección anterior muestran que las tablas duales a veces alcanzan la memoria caché y, a veces, no. Como resultado, si la memoria caché no está actualizada, se pueden devolver valores diferentes. La ejecución de consultas no intentará enmascarar los problemas de datos, por ejemplo, filtrando los resultados de DirectQuery para que coincidan con los valores almacenados en caché. Es responsabilidad suya conocer los flujos de datos y debe diseñarlos en consecuencia. Existen técnicas establecidas para controlar estos casos en el origen, si es necesario.

El modo de almacenamiento dual es una optimización del rendimiento. Solo se debe usar de maneras que no pongan en peligro la capacidad de cumplir los requisitos empresariales. Para el comportamiento alternativo, considere la posibilidad de usar las técnicas que se describen en Relaciones de varios a varios en Power BI Desktop.

Vista de tabla

Si al menos una tabla del modelo semántico tiene el modo de almacenamiento establecido en Import o Dual, se puede mostrar la pestaña de vista de tabla .

Captura de pantalla en la que se resalta el icono vista Tabla.

Al seleccionar 'Dual' e 'Importar Tablas' en la vista de la tabla de , muestran los datos almacenados en caché. Las tablas de DirectQuery no muestran datos y se muestra un mensaje que indica que no se pueden mostrar las tablas de DirectQuery.

Consideraciones y limitaciones

Existen algunas limitaciones para la versión actual del modo de almacenamiento y su correlación con los modelos compuestos.

Los siguientes orígenes de conexión dinámica (multidimensionales) no se pueden usar con modelos compuestos:

  • SAP HANA
  • SAP Business Warehouse

Al conectarse a esos orígenes multidimensionales mediante DirectQuery, no puede conectarse a otro origen de DirectQuery ni combinarlo con datos importados.

Las limitaciones existentes del uso de DirectQuery se siguen aplicando al usar modelos compuestos. Muchas de esas limitaciones se encuentran ahora por tabla, en función del modo de almacenamiento de la tabla. Por ejemplo, una columna calculada de una tabla importada puede hacer referencia a otras tablas, pero una columna calculada en una tabla DirectQuery todavía está restringida para hacer referencia solo a las columnas de la misma tabla. Otras limitaciones se aplican al modelo en su conjunto, si alguna de las tablas del modelo es DirectQuery.

Para obtener más información sobre los modelos compuestos y DirectQuery, consulte los siguientes artículos: