Filtrar una tabla por el mismo campo varias veces

Un usuario Pregunto ✅

ttpcap

Tengo una tabla para Restaurantes que está estructurada de la siguiente manera:

Columna 1: Nombre del restaurante: hay 80.000 restaurantes, todos con nombres únicos.

Columna 2: Menú #: He realizado un seguimiento de los primeros 10 elementos del menú en el orden en que aparecen en el menú del restaurante, numerados del 1 al 10.

Columna 3: Elemento de menú: tengo una lista de 300 elementos de menú diferentes, enumerados en la misma fila que el número de menú en el que aparecen

Columna 4: Tipo de elemento: hay aproximadamente 10 tipos diferentes de elementos de menú (sándwich, ensalada, guarnición, etc.)

Columna 5: Ganancias / Pérdidas: cada restaurante es rentable (P) o tiene pérdidas (L)

Una muestra de la tabla se ve así:

Nombre del restaurante Menú # Opción del menú Tipo de artículo Pérdida de beneficios
A 1 Pizza Principal L
A 2 Sub italiano Emparedado L
A 3 Hamburguesa Emparedado L
A 4 Hamburguesa con queso Emparedado L
A 5 Ensalada de pollo Ensalada L
A 6 Sopa de res Sopa L
A 7 Pancho Emparedado L
A 8 Papas fritas Lado L
A 9 Papas fritas Lado L
A 10 Refrescos Bebida L
A 1 Dedos de pollo Hombre PAGS
B 2 Sub italiano Emparedado PAGS
B 3 Ensalada mixta Ensalada PAGS
B 4 Fruta Lado PAGS
B 5 Hamburguesa Emparedado PAGS
B 6 Pancho Emparedado PAGS
B 7 Pizza Principal PAGS
B 8 Salmón Principal PAGS
B 9 Ensalada de atún Ensalada PAGS
B 10 Falafel Principal PAGS

Puedo hacer un filtro simple por Beneficio / Pérdida para poder contar la cantidad de restaurantes que ofrecen un solo elemento de menú (por ejemplo, pizza) y filtrar para ver si son rentables o no, lo que me da un% de restaurantes que ofrecen pizza que generan una ganancia. Pero no puedo averiguar cómo ordenar la tabla por varios elementos del menú al mismo tiempo. Por ejemplo, ¿cómo puedo crear un filtro o una cortadora simple para mostrar el número total de restaurantes que ofrecen pizza Y ensalada y luego filtrar eso por si son rentables o no? ¿Qué hay de la pizza, la ensalada y los hot dogs? Me gustaría poder hacer esto dinámicamente para poder elegir rápidamente las combinaciones que quiero verificar en Rentabilidad. En segundo lugar, me gustaría filtrar los datos por tipo de menú y número de menú, es decir, qué porcentaje de restaurantes son rentables cuando ofrecen un sándwich como menú n. ° 1 y una ensalada como menú n. ° 2 frente a aquellos que ofrecen un menú principal como menú n. ° 1 y un Principal como Menú # 2, etc.

¿Hay alguna forma sencilla de hacer esto sin usar un montón de expresiones DAX estáticas al tener un filtro dinámico o un segmentador en mi página?

¡Gracias!

Hola @ttpcap

1.

construir un filtro o cortador simple para mostrar el número total de restaurantes que ofrecen pizza Y ensalada y luego filtrar eso por si son rentables o no.

->

Crea nuevas tablas y crea relaciones

Item = VALUES('Table'[Menu Item])

Profit/Loss = VALUES('Table'[Profit/Loss])

Capture7.JPG

Capture8.JPG

2.

qué porcentaje de restaurantes son rentables cuando ofrecen un sándwich como menú n. ° 1 y una ensalada como menú n. ° 2 frente a los que ofrecen un menú principal como menú n. ° 1 y un menú principal como menú n. ° 2, etc.

por ejemplo:% de los restaurantes son rentables cuando ofrecen un menú principal como menú n. ° 1 y un sándwich como menú n. ° 2

Capture10.JPG

Cree dos tablas nuevas, que no se conecten a ninguna otra tabla,

Agregue columnas de las dos tablas en segmentaciones,

luego crea medidas

selected1 = IF(SELECTEDVALUE('Type1'[Item Type])=MAX('Table'[Item Type]),MAX('Table'[Menu #]))

selected2 = IF(SELECTEDVALUE('Type2'[Item Type])=MAX('Table'[Item Type]),MAX('Table'[Menu #]))

Measure =
CALCULATE (
    DISTINCTCOUNT ( 'Table'[estaurant Name] ),
    FILTER (
        'Table',
        (
            (
                'Table'[Item Type] = SELECTEDVALUE ( 'Type1'[Item Type] )
                    && [selected1] = 1
            )
                || (
                    'Table'[Item Type] = SELECTEDVALUE ( 'Type2'[Item Type] )
                        && [selected2] = 2
                )
        )
            && 'Table'[Profit/Loss] = "P"
    )
)
    / CALCULATE ( DISTINCTCOUNT ( 'Table'[estaurant Name] ), ALLSELECTED ( 'Table' ) )

Atentamente
Maggie
Equipo de apoyo de la comunidad _ Maggie Li
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

Hola @ttpcap

1.

construir un filtro o cortador simple para mostrar el número total de restaurantes que ofrecen pizza Y ensalada y luego filtrar eso por si son rentables o no.

->

Crea nuevas tablas y crea relaciones

Item = VALUES('Table'[Menu Item])

Profit/Loss = VALUES('Table'[Profit/Loss])

Capture7.JPG

Capture8.JPG

2.

qué porcentaje de restaurantes son rentables cuando ofrecen un sándwich como menú n. ° 1 y una ensalada como menú n. ° 2 frente a los que ofrecen un menú principal como menú n. ° 1 y un menú principal como menú n. ° 2, etc.

por ejemplo:% de los restaurantes son rentables cuando ofrecen un menú principal como menú n. ° 1 y un sándwich como menú n. ° 2

Capture10.JPG

Cree dos tablas nuevas, que no se conecten a ninguna otra tabla,

Agregue columnas de las dos tablas en segmentaciones,

luego crea medidas

selected1 = IF(SELECTEDVALUE('Type1'[Item Type])=MAX('Table'[Item Type]),MAX('Table'[Menu #]))

selected2 = IF(SELECTEDVALUE('Type2'[Item Type])=MAX('Table'[Item Type]),MAX('Table'[Menu #]))

Measure =
CALCULATE (
    DISTINCTCOUNT ( 'Table'[estaurant Name] ),
    FILTER (
        'Table',
        (
            (
                'Table'[Item Type] = SELECTEDVALUE ( 'Type1'[Item Type] )
                    && [selected1] = 1
            )
                || (
                    'Table'[Item Type] = SELECTEDVALUE ( 'Type2'[Item Type] )
                        && [selected2] = 2
                )
        )
            && 'Table'[Profit/Loss] = "P"
    )
)
    / CALCULATE ( DISTINCTCOUNT ( 'Table'[estaurant Name] ), ALLSELECTED ( 'Table' ) )

Atentamente
Maggie
Equipo de apoyo de la comunidad _ Maggie Li
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

ttpcap

Solo para aclarar, la ganancia (P) o la pérdida (L) se aplica solo al restaurante. La tabla que imprimí tenía un error tipográfico para el primer elemento del menú para el restaurante B, es decir, un restaurante es P o L para todos los números de menú, elementos del menú y tipos de menú en ese restaurante en particular.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *