es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Comportamiento inesperado de Excel Pivot con el modelo tabular de SQL Server.

Utilizamos Excel de Office 365 con un modelo tabular de SQL Server 2019.

Tengo un comportamiento “extraño” del informe dinámico de Excel con respecto al nivel en el que se solicitan los cálculos de DAX.

Tenemos una medida que se comporta de manera diferente dependiendo del nivel de granularidad en el que se consulte.

En el ejemplo anterior, la medida se consulta a nivel de “BRAND_NAME” con algunos filtros.

La suma de los números de marca no coincide con el total, lo cual está “bien” ya que es un efecto secundario conocido de esa medida en esta consulta en particular.

Ahora, si agregamos una capa inferior, entonces el informe dinámico de Excel muestra un comportamiento que es un problema para nosotros.

Haré lo mejor que pueda, pero no es fácil de explicar…

Lo que nos muestra el informe dinámico de Excel es:

  • El TOTAL DE UNIDADES VENDIDAS para el artículo SAMSUNG “SP 54J8 HFR” (evaluado a nivel de ARTÍCULO)
  • El TOTAL DE UNIDADES VENDIDAS para el artículo SAMSUNG “TRADE MODEL” (evaluado a nivel de ARTÍCULO)
  • El TOTAL DE UNIDADES VENDIDAS para la marca “OTROS” (evaluado a nivel de MARCA, probablemente porque no hay registros debajo de la marca “OTROS”)

Nuestra medida TOTAL DE UNIDADES VENDIDAS es complicada y está codificada de tal manera que devolvería 0 si se evaluara a nivel de ARTÍCULO bajo la marca “OTROS”…

PERO no hay ARTÍCULOS bajo la marca “OTROS” y parece que el informe dinámico de Excel decide evaluar nuestra medida a nivel de marca en lugar de a nivel de artículo…

Al ejecutar una solicitud similar bajo SSMS, obtenemos el resultado que esperábamos.

Pregunta: ¿Existe alguna forma en Excel de controlar este comportamiento de la tabla dinámica?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en Excel y SSAS-tabular, el comportamiento “extraño” del Excel Pivot en cuanto al nivel en el que se solicitan los cálculos de DAX se puede controlar utilizando la opción “Aplicar todos los filtros”. Para hacerlo, ve a la pestaña Analizar de la Tabla Dinámica, selecciona Opciones y luego Opciones de la Tabla Dinámica. En la pestaña Datos, encuentra la opción “Conservar elementos eliminados de la fuente de datos” y desmárcala. A continuación, ve a la pestaña Diseño y Formato y selecciona “Mostrar en forma de tabla”. Esto mostrará la Tabla Dinámica en forma de tabla, lo que permite un mayor control sobre su comportamiento. Desde aquí, selecciona la opción “Aplicar todos los filtros”, que aplicará todos los filtros a la Tabla Dinámica, incluyendo aquellos a nivel de granularidad más bajo. Esto debería permitirte controlar el comportamiento de la Tabla Dinámica y evitar el problema de que Excel Pivot evalúe la medida a nivel de marca en lugar de a nivel de artículo.

Comments are closed.