Forum Discussion
Filtrar en varias columnas
Tengo una tabla con datos como este:
| Identificación | Col1 | Col2 |
| 1 | A | B |
| 2 | A | A |
| 3 | C | A |
| 4 | B | A |
| 5 | C | C |
Necesito hacer un filtro AB que filtre todo lo que tenga A o B en ambas columnas. Así que solo quiero las filas 1, 2 y 4. Estas agrupaciones cambiarán y se agregarán con el tiempo, como agregar un filtro AD (que no devolvería nada de esta tabla) o un filtro ABC (que devolvería todo de esta tabla). No estoy seguro de cómo configurar esto.
Aquí hay una expresión de medida que muestra una forma de hacerlo. Codificaba en A y B, pero podía obtenerlos dinámicamente con una segmentación de datos de tabla desconectada con los valores deseados (y almacenar los VALORES de esa columna utilizada en la segmentación de datos en otra variable, para reemplazar las tablas codificadas).
Tiene AB en ambos =
VAR col1 =
MIN( T1[Col1] ) EN { "A", "B" }
VAR col2 =
MIN( T1[Col2] ) EN { "A", "B" }
DEVOLUCIÓN
IF( col1 && col2, 1 )Palmadita
6 Replies
- Syndicate_Admin
Administrator
Primero cree una nueva columna calculada que concatene sus dos columnas:
ComboColumn = Column1 & Column2A continuación, puede utilizar esta nueva columna como filtro.
Pero lo llevaría un paso más allá y crearía una nueva tabla de dimensiones que incluiría todas sus combinaciones posibles. Puede hacer esto en Excel e importarlo, o usar la opción Ingresar datos.
Cree una relación (1: muchas) entre esta nueva tabla de dimensiones y la tabla de datos anterior. A continuación, utilice esta tabla de dimensiones en la segmentación de datos.
Espero que esto ayude.
- Syndicate_Admin
Administrator
En mi situación real hay miles de combinaciones y podría haber más en una base de datos en crecimiento. Además, como mencioné, es posible que desee seleccionar el grupo AB o que desee seleccionar el grupo ABC, que incluiría todas las posibilidades con A B o C en ambas columnas. También es posible que desee seleccionar el grupo ABCDEF. Este es un conjunto de datos bastante grande con muchas permutaciones y nunca podré especificar todo manualmente.
- Syndicate_Admin
Administrator
Crearía dos tablas de dimensiones: una para Column1 y otra para Column2.
Table1 = SummarizeColumns(YourTable[Column1]) and Table2 = SummarizeColumns(YourTable[Column2])(Mi sintaxis puede no ser perfecta para esto, pero debería acercarte)
Estas tablas crecerán a medida que crezcan los datos.
A continuación, simplemente cree sus dos segmentaciones de datos a partir de cada una de estas tablas.
En Controles de selección, habilitaría las opciones Selección múltiple y Seleccionar todo.
Esto debería cubrir todas sus combinaciones potenciales.
No veo otra forma de hacer esto que no sea creando 2 rebanadoras.
- Syndicate_Admin
Administrator
Aquí hay una expresión de medida que muestra una forma de hacerlo. Codificaba en A y B, pero podía obtenerlos dinámicamente con una segmentación de datos de tabla desconectada con los valores deseados (y almacenar los VALORES de esa columna utilizada en la segmentación de datos en otra variable, para reemplazar las tablas codificadas).
Tiene AB en ambos =
VAR col1 =
MIN( T1[Col1] ) EN { "A", "B" }
VAR col2 =
MIN( T1[Col2] ) EN { "A", "B" }
DEVOLUCIÓN
IF( col1 && col2, 1 )Palmadita
- Syndicate_Admin
Administrator
@mahoneypat gracias por su solución, ¿podría explicar cómo:
" consíguelos dinámicamente con una segmentación de datos de tabla desconectada con los valores deseados (y almacena los VALORES de esa columna utilizada en la segmentación de datos en otra variable, para reemplazar las tablas codificadas)." ?
Necesito permitir que los usuarios seleccionen diferentes países en una segmentación de datos que usarla para buscar diferentes columnas con países y filtrar las filas que muestran los países seleccionados en cualquier columna. Es casi lo mismo que en este post, como si A y B fueran países, pero tengo que dejar que la gente elija.