Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
pawelk3
Helper I
Helper I

Slicer AND lógica

Hola

Tengo un conjunto de datos como el siguiente (ejemplo):

200927_17-17-22_cp_example.xlsx_-_Excel.png

En el panel quiero tener dos tablas idénticas que se filtrarán con una segmentación de datos (se usa la columna 'Skill') con varias opciones para elegir. La Tabla 1 debe tener un filtro adicional 'Prioridad 3', la Tabla 2 debe filtrar 'Prioridad 2'.

Lo que quiero lograr:

(1) cuando la segmentación de datos no tiene ninguna opción seleccionada, ambas tablas deben estar vacías;
(2) posibilidad de elegir varias habilidades en la cortadora;

(3) cuando elijo una habilidad en la segmentación de datos, las tablas deben mostrar todas las filas del conjunto de datos para las posiciones con esta habilidad y, dependiendo de la tabla - con una prioridad de 3 o 2;
(4) al agregar cada habilidad posterior en la segmentación debancción, la tabla debe mostrar registros solo para aquellas posiciones que solo tienen las habilidades seleccionadas y, dependiendo de la tabla, prioridad 3 o 2.

Estaría muy agradecido si alguien pudiera ayudarme con esto. Si no está claro, por favor haga preguntas adicionales, voy a tratar de explicar.

1 ACCEPTED SOLUTION
PaulDBrown
Community Champion
Community Champion

@pawelk3

A ver si esto funciona para ti.

En primer lugar, el modelo:

Model.JPG

A continuación, cree una medida para utilizar en el panel de filtro de la tabla/matriz:

Filter measure = 
VAR skills = CALCULATE(COUNTROWS(ALLSELECTED('DIM Skill'[Skill])))
VAR Position = SUMX(
    SUMMARIZE('Fact Table', 'Dim Position'[Position], 'DIM Skill'[Skill], 'Dim 
               Priority'[Priority]), 
        CALCULATE(DISTINCTCOUNT('Fact Table'[Skill]),  
            ALLEXCEPT('Fact Table', 'Dim Position'[Position], 'Dim Priority'[Priority])))
RETURN
IF(skills = 1, 1, IF(skills = Position, 1))

Y obtienes este resultado:

1 filter.JPG

Result.JPG

No filters.JPG

He incluido la muestra PBIX para su referencia





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






View solution in original post

9 REPLIES 9
PaulDBrown
Community Champion
Community Champion

@pawelk3

A ver si esto funciona para ti.

En primer lugar, el modelo:

Model.JPG

A continuación, cree una medida para utilizar en el panel de filtro de la tabla/matriz:

Filter measure = 
VAR skills = CALCULATE(COUNTROWS(ALLSELECTED('DIM Skill'[Skill])))
VAR Position = SUMX(
    SUMMARIZE('Fact Table', 'Dim Position'[Position], 'DIM Skill'[Skill], 'Dim 
               Priority'[Priority]), 
        CALCULATE(DISTINCTCOUNT('Fact Table'[Skill]),  
            ALLEXCEPT('Fact Table', 'Dim Position'[Position], 'Dim Priority'[Priority])))
RETURN
IF(skills = 1, 1, IF(skills = Position, 1))

Y obtienes este resultado:

1 filter.JPG

Result.JPG

No filters.JPG

He incluido la muestra PBIX para su referencia





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






@PaulDBrown, está funcionando como un encanto. Gracias por la solución!

Muchas gracias también a @Sumanth_23 y @dedelman_clng por su tiempo y ayuda.

Hermano
Pawel

Sumanth_23
Memorable Member
Memorable Member

hola @pawelk3 - puede utilizar una segmentación de habilidades según sea necesario para filtrar su informe basado en Habilidades, puede habilitar la selección múltiple para la segmentación de datos como se muestra a continuación

Sumanth_23_1-1601234634852.png

Para filtrar la Tabla 1 y la Tabla 2 para mostrar solo la prioridad 3 y 2 respectivamente, puede aplicar filtros de nivel visual como se muestra en la siguiente captura de pantalla

Sumanth_23_0-1601234508790.png

Por favor, marque la publicación como una solución y proporcione un 👍 si mi comentario ayudó a resolver su problema. ¡Gracias!

Did I answer your question? Mark my post as a solution! Appreciate your Kudos!

Proud to be a Super User!



@Sumanth23,gracias por su respuesta.

Sé que en caso de prioridad puedo aplicar un filtro para un objeto visual específico y lo hice. Me gustaría que la falta de una opción seleccionada en la segmentación de datos mostrara solo los encabezados de la tabla. En la actualidad, la tabla muestra todas las filas de la condición 'Prioridad 3'.

pawelk3_1-1601236698122.png

El segundo problema es cambiar la lógica de segmentación de datos de OR a AND. Probablemente no expliqué mi problema lo suficientemente bien. Después de seleccionar una habilidad de la segmentación de datos (Habilidad 1), la tabla debe mostrar todas las filas que contienen esa habilidad (ver más abajo).

pawelk3_2-1601236975595.png

El problema con el que me cuesta es elegir más de una habilidad en la segmentación. Después de seleccionar dos (Habilidad 1 y Habilidad 2), la tabla muestra estas filas:

pawelk3_3-1601237241423.png

pero me gustaría que mostrara estos:

pawelk3_4-1601237425819.png

Porque sólo 'Posición 3' tiene ambas habilidades con prioridad 3. Me gustaría lograr el mismo efecto seleccionando 3 habilidades y más al mismo tiempo. ¿Es posible de alguna manera?

hola @pawelk3 - Ahora obtengo lo que buscas lograr con las rebanadoras.

#1 No seleccionar ningún valor en la segmentación de datos es equivalente a "seleccionar todo" y, por lo tanto, muestra todos los datos - no hay ninguna configuración predeterminada para ocultar datos a menos que se seleccione el valor de la segmentación de datos.

Puede intentar implementar esta lógica siguiendo los pasos mencionados en el siguiente enlace:

https://www.kasperonbi.com/show-values-in-a-chart-only-when-a-slicer-is-selected/

Puede consultar los pasos mencionados en el siguiente enlace para configurar los criterios AND en la segmentación de datos según lo requiera - esto tendría que hacerse usando DAX:

https://radacad.com/slicer-with-and-condition-in-power-bi

Por favor, marque la publicación como una solución y proporcione un 👍 si mi comentario ayudó a resolver su problema. ¡Gracias!

Did I answer your question? Mark my post as a solution! Appreciate your Kudos!

Proud to be a Super User!



@Sumanth_23, gracias por las sugerencias, estoy tratando de cambiar la lógica de segmentación con el tutorial que me señaló (https://radacad.com/slicer-with-and-condition-in-power-bi) pero tengo un problema con eso.

Este es mi modelo simple:

pawelk3_0-1601286825606.png


Y la medida que creé basado en el tutorial:

Chosen Skills with AND-Only Condition = 
var selectedSkills=VALUES(tab_umi[Skill])
var countRowsFact=
COUNTROWS(
    DISTINCT(
        SELECTCOLUMNS(
            FILTER(
                tab_bda,
                RELATED(tab_umi[Skill]) in selectedSkills
                ),
                "Skill",
                RELATED(tab_umi[Skill])
        )
    )
)
var countRowsSkills=COUNTROWS(selectedSkills)
return
IF(countRowsFact>=countRowsSkills,countRowsFact)

Al seleccionar una habilidad de la segmentación de datos, todo está bien, en el caso de dos o más habilidades, la tabla no devuelve ningún resultado. ¿Dónde está el error?

200928_11-57-38_Untitled_-_Power_BI_Desktop.png

Estaré muy agradecido si alguien puede ayudarme a resolver este problema. He estado luchando con él por segundo día, sin muchos resultados.

@pawelk3 por favor vincule su pbix en el hilo y voy a obtener un poco más de ayuda en esto.

Hola @dedelman_clng, aquí está el enlace al archivo .pbix.

Hola @pawelk3 - esta entrada de blog se me señaló. Aún no he trabajado a través de él, pero si querías darle una oportunidad adelante

https://community.powerbi.com/t5/Quick-Measures-Gallery/Patient-Cohort-AND-Slicer/m-p/391883#M130

David

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors