BASE DE CONOCIMIENTO

No se puede convertir la medida en una dimensión


Publicado: 01 May 2013
Fecha de la última modificación: 17 Mar 2023

Problema

Al crear un campo calculado, es posible que Tableau Desktop lo reconozca como medida y no como dimensión. Cuando intenta convertir el campo en una dimensión, es posible que no se pueda.

Entorno

Tableau Desktop

Solución

Opción 1: Agregue una declaración FIXED

La función FIXED de nivel de detalle (level of detail, LOD) se puede convertir en una dimensión. Según el cálculo original, la solución exacta variará. Sin embargo, no olvide que el cálculo en sí no debe ser un agregado (los valores FIXED, los campos no agregados, los parámetros y los valores literales constantes son todos valores no agregados). Consulte los siguientes ejemplos:
 
Ejemplo 1
Solo puede ser una medida:
IF SUM([SALES]) < 100
THEN "Low"
ELSE "High"
END	
Se puede convertir en una dimensión:
IF { FIXED [Region] : SUM( [Sales] ) } < 100
THEN "Low"
ELSE "High"
END	
 
Ejemplo 2
Solo puede ser una medida:
AVG( 
   IF { FIXED [Region] : SUM( [Sales] ) } < 100 
   THEN "Low" 
   ELSE "High" 
   END 
)
Se puede convertir en una dimensión:
{FIXED [Category] : AVG(
   IF { FIXED [Region] : SUM( [Sales] ) } < 100
   THEN "Low"
   ELSE "High"
   END
) }
 
Ejemplo 3
Solo puede ser una medida:
ATTR( [Category] ) + " value"
Se puede convertir en una dimensión:
{ FIXED [Order ID] : MIN( [Category] ) } + " value"
 
Nota: Se tuvo que remplazar ATTR() por MIN() debido a que ATTR() es una función de tabla y no se la puede utilizar dentro de una expresión FIXED. ATTR() muestra un valor NULL si hay más de un valor único de [Category] (Categoría) en una división (fila, celda, barra, línea punto, etc.) de la vista, lo cual ayuda a identificar problemas de calidad de los datos. Por otro lado, MIN() siempre mostrará el valor mínimo, que es el primer valor en orden alfabético para los valores de cadena. Siempre y cuando MIN( [Category] ) esté fijado en una dimensión o una combinación de dimensiones que siempre tenga un solo valor de categoría, no se producirán problemas.
 

Opción 2: Elimine agregaciones

A veces, la agregación no es realmente necesaria. Por ejemplo, { FIXED [Region] : SUM( [Sales] } muestra el total de ventas por región. Sin embargo, si la fuente de datos solo tiene un registro por región, [Sales] (Ventas) mostrará el mismo valor.
 
Ejemplo 1
Solo puede ser una medida:
IF SUM([SALES]) < 100
THEN "Low"
ELSE "High"
END	
Se puede convertir en una dimensión:
IF [Sales] < 100
THEN "Low"
ELSE "High"
END	

 

Opción 3: Utilice un campo de agrupación generado por Tableau

En algunos casos, se podría remplazar el cálculo original por un campo de agrupación generado por Tableau. Consulte Cree agrupaciones a partir de una medida continua
para obtener indicaciones.
 

Opción 4: Realice el cálculo en Tableau Prep

El resultado de Tableau Prep siempre será un valor no agregado y, por lo tanto, siempre se podrá convertir en una dimensión. Según el cálculo original, variarán los pasos necesarios en Tableau Prep. En general, para replicar una expresión como SUM( [Sales] ) en Tableau Prep, necesitará un paso de agregación.

No se pueden realizar cálculos de tabla que no sean valores no agregados, ya que no se los puede utilizar en funciones de nivel de detalle. Algunos cálculos de tabla se pueden recrear en Tableau Prep. Por ejemplo, a veces LOOKUP() se puede reemplazar por una unión de modificación automática. Consulte Búsqueda de cálculo de table en Tableau Prep
 

Opción 5: Una datos en lugar de utilizar la mezcla de datos

Los campos de una fuente de datos secundaria se deben agregar. Esta es una limitación de la mezcla de datos y no existe una solución alternativa. Considere realizar una unión entre bases de datos o una unión en Tableau Prep.
 

Causa

Si en el campo calculado se utiliza una agregación, la medida no se podrá convertir en una dimensión, puesto que los resultados del cálculo son dinámicos.

Por ejemplo, SUM( [Sales] ) mostrará resultados cuando [Region] (Región) se encuentre en el estante de Filas que serán diferentes a cuando [Category] (Categoría) se encuentre allí. Sin embargo, la expresión {FIXED [Region] : SUM( [Sales] ) } siempre será el total de ventas por región. Al agregar la declaración FIXED, se le indica a Tableau cómo procesar SUM(), lo cual le determina a Tableau cómo agrupar cada registro en función del total de ventas de la región a la que pertenece.

 

Información adicional

¿Por qué Tableau utiliza dimensiones y medidas?

Tableau aprovecha propiedades comunes de datos compartidos en fuentes de datos muy diferentes para tomar decisiones inteligentes sobre cómo mostrar los datos.

Por ejemplo, su fuente de datos contiene un campo con valores numéricos, pero tiene el nombre "ID".  Cuando agrega "ID" al estante de filas, en lugar de obtener un gráfico de barras sin significado que sume todos los valores de ID, obtendrá una fila para cada ID.  ¿Cómo es que Tableau sabe cómo hacer esto?  Los campos llamados "ID" son un caso especial que se considera de forma predeterminada como dimensiones.

Las dimensiones contienen datos que se utilizan para agrupar otros datos y, por ello, Tableau reconoce que las dimensiones deberían, en general, ser encabezados en lugar de gráficos, incluso si la dimensión contiene datos numéricos. 

Las dimensiones y las medidas son conceptos de la administración de datos que le otorgan indicios a Tableau acerca de cómo se deberían mostrar los datos. Si desea obtener más información sobre cómo Tableau gestiona las dimensiones y las medidas, consulte Dimensiones y medidas, azul y verde

 
¿Fue de ayuda este artículo para resolver el problema?