BASE DE CONOCIMIENTO

Determinar si múltiples dimensiones contienen el mismo valor de texto


Publicado: 21 Jun 2017
Fecha de la última modificación: 11 Oct 2023

Pregunta

Cómo comparar varias dimensiones de cadena para determinar si el valor de miembro de cada dimensión en la misma fila es el mismo, sin tener en cuenta los valores NULL

Si todas las dimensiones tienen el mismo valor, sin tener en cuenta los valores NULL, entonces se devuelve ese valor; de lo contrario, se devuelve un valor de texto que indica que hay múltiples valores.

Entorno

Tableau Desktop

Respuesta

HAGA CLIC PARA EXPANDIR LA SOLUCIÓN
OPCIÓN 1: Datos dinámicos
  1. Cree datos dinámicos de manera que todos los nombres de dimensiones estén en un campo y todos los miembros de dimensiones estén en otro campo.
  2. En el caso de algunas fuentes de datos, pueden crearse tablas dinámicas de los campos en la conexión de Tableau Desktop. Para obtener más información sobre cómo crear datos dinámicos en Tableau Desktop, consulte Datos dinámicos de Columnas a Filas.
  3. Seleccione Análisis > Crear campo calculado.
  4. Asigne el nombre "Comparación" al campo calculado, escriba la fórmula siguiente y haga clic en Aceptar
    { FIXED [ID] :
    IF COUNTD([Valores de campo de tabla dinámica]) <= 1
    THEN MIN([Valores de campo de tabla dinámica])
    ELSE "Valores múltiples"
    END
    }
HAGA CLIC PARA EXPANDIR LA SOLUCIÓN
OPCIÓN 2: Usar cálculos
Si la estructura de los datos no se puede cambiar, podemos obtener el mismo resultado mediante una serie de cálculos que comparan cada conjunto de dos cálculos de estilo de torneo. Por ejemplo, si hay 4 dimensiones denominadas [A], [B], [C] y [D], crearíamos dos cálculos de "nivel uno": uno para comparar [A] y [B], y otro para comparar [C] y [D]. Luego, crearíamos un cálculo de "nivel dos" para comparar los campos calculados [AB] y [CD].
El libro de trabajo de ejemplo adjunto utiliza datos de ejemplo para realizar una demostración de las instrucciones siguientes:
  1. Seleccione Análisis > Crear campo calculado.
  2. Asigne el nombre "comparación, niv 1 - AB" al campo calculado, introduzca la siguiente fórmula y haga clic en Aceptar
    IF ISNULL( [Dimensión A] )
    OR ISNULL( [Dimensión B] )
    THEN IFNULL( [Dimensión A],  "" ) +  IFNULL( [Dimensión B], "" )
    ELSEIF [Dimensión A] = [Dimensión B]
    THEN [Dimensión A]
    ELSE "Valores múltiples"
    END
    }
  3. Repita los pasos 1 y 2 para cada grupo de dos dimensiones.
  4. Seleccione Análisis > Crear campo calculado
  5. Asigne el nombre "comparación, niv 2 - ABCD" al campo calculado, introduzca la siguiente fórmula y haga clic en Aceptar
    IF [comparación niv 1 - AB] = ""
    OR [comparación niv 1 - CD] = ""
    THEN [comparación niv 1 - AB] + [comparación niv 1 - CD]
    ELSEIF [comparación niv 1 - AB] = [comparación niv 1 - CD]
    THEN [comparación niv 1 - AB]
    ELSE "Valores múltiples"
    END
    }
  6. Repita los pasos 4 y 5 para cada par de cálculos de nivel 1.
  7. Seleccione Análisis > Crear campo calculado.
  8. Asigne el nombre "comparación, niv 3" al campo calculado, introduzca la siguiente fórmula y haga clic en Aceptar
    IF [comparación niv 2 - ABCD] = ""
    OR [comparación niv 2 - EFGH] = ""
    THEN [comparación niv 2 - ABCD] + [comparación niv 2 - EFGH]
    ELSEIF [comparación niv 2 - ABCD] = [comparación niv 2 - EFGH]
    THEN [comparación niv 2 - EFGH]
    ELSE "Valores múltiples"
    END
    }
¿Fue de ayuda este artículo para resolver el problema?