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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Creación de una medida para omitir el contexto del filtro

Spoiler
Hello team and @v-yiruan-msft

I have a ranking measure called Dealer Ranking 3 and this measure identifies where the dealer "Barclays" is positioned and displays it.

However when i have a filter with client this measure gets sliced and shows where barclays is positioned for that client (per month) however i would like that measure not to change and jus show the Overall position.
Here is a sample file of the report: Archivo de muestra
ViralPatel212_1-1713538987668.png

Aquí está la medida para la prueba de clasificación número 2 del distribuidor:

Dealer Ranking Number 2 test = 
var _rank =  IF( [Ranking Size (Vol)] = blank(), BLANK(), RANKX(ALL('Dealer Ranking'[test 2],'Dealer Ranking'[test]),[Ranking Size (Vol)],,DESC,Dense))
VAR _tab =
    FILTER (
        ADDCOLUMNS (
            ALLSELECTED( 'Dealer Ranking'[test],'Dealer Ranking'[test 2] ),
            "@rank", [Dealer Ranking 3]
        ),
        [test 2] = "Barclays"
    )
VAR _rankbarclays =
    CALCULATE( MAXX ( _tab, [@rank] ),REMOVEFILTERS('Dealer Ranking'[Glimpse_buy_side]))


RETURN

_rankbarclays

Otras medidas utilizadas:

Ranking Size (Vol) = 

VAR _volumeall =
    CALCULATE(
        [Ranking Size],
        FILTER(
            'Dealer Ranking',
            'Dealer Ranking'[Type] = "Vol. (MM)"
        )
    )

VAR _volumeeur =
    CALCULATE(
        [Ranking Size (EUR)],
        FILTER(
            'Dealer Ranking',
            'Dealer Ranking'[Type] = "Vol. (MM)"
        )
    )

RETURN
    IF(
        ISFILTERED('Dealer Ranking'[Currency]),
        _volumeall,
        _volumeeur
    )


Dealer Ranking 3 = IF( [Ranking Size (Vol)] = blank(), BLANK(), RANKX(ALL('Dealer Ranking'[test 2],'Dealer Ranking'[test]),[Ranking Size (Vol)],,DESC,Dense))

1 ACCEPTED SOLUTION

@sevenhills @Greg_Deckler

¡Pude resolverlo!

VAR _rankbarclays =
    CALCULATE (
        MAXX (
            FILTER (
                ADDCOLUMNS (
                    ALL('Dealer Ranking'[Counter Party], 'Dealer Ranking'[Counter Party Blanks]),  // Ignore all slicers/filters on Counter Party
                    "@rank", [Dealer Ranking Number 2 test]
                ),
                [Counter Party] = "Barclays" 
            ),
            [@rank]
        ),
        REMOVEFILTERS('Dealer Ranking'[Glimpse_buy_side])  // Explicitly removing filters on Glimpse_buy_side
    )

RETURN
    _rankbarclays

View solution in original post

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

@v-yiruan-msft

¿Alguna posibilidad si pudieras resolver mi problema?

A continuación se muestra un archivo de muestra del informe: Archivo de muestra

Syndicate_Admin
Administrator
Administrator

ALLSELECTED también se puede utilizar si desea aplicar contextos de filtro seleccionados.

https://radacad.com/power-bi-dax-all-vs-allselected

Hola @sevenhills he añadido un enlace en el post original donde he compartido el archivo de muestra.

https://wu.dropbox.com/scl/fo/8lpulsw8mi0albitu/eight_utink?rlki=kizhchen961squipton9uvikk&ampst=5qu...

Puedo ver y descargar sus 2 archivos: Excel y pbix.

Supongo que desea que la medida muestre los valores exactos independientemente del cliente seleccionado para Barclays.

¡La primera parte para obtener el volumen es fácil y funciona! Ligera modificación de la métrica de volumen utilizada en el objeto visual.

1. Measure Volume all clients = 
IF ( IsBlank([Client size Volume]), BLANK(),  
  CALCULATE( [Client size Volume], 'Dealer Ranking'[Counter Party] = "Barclays", REMOVEFILTERS('Dealer Ranking'[Glimpse_buy_side]))
)

Cuando se trata de clasificar, ¡por alguna razón no está funcionando!

@sevenhills @Greg_Deckler

¡Pude resolverlo!

VAR _rankbarclays =
    CALCULATE (
        MAXX (
            FILTER (
                ADDCOLUMNS (
                    ALL('Dealer Ranking'[Counter Party], 'Dealer Ranking'[Counter Party Blanks]),  // Ignore all slicers/filters on Counter Party
                    "@rank", [Dealer Ranking Number 2 test]
                ),
                [Counter Party] = "Barclays" 
            ),
            [@rank]
        ),
        REMOVEFILTERS('Dealer Ranking'[Glimpse_buy_side])  // Explicitly removing filters on Glimpse_buy_side
    )

RETURN
    _rankbarclays

Me alegra saber que está resuelto.

Syndicate_Admin
Administrator
Administrator

Hola @ग्रेग_डेकलर

He usado la función ALL, pero parece que no funciona

Dealer Ranking Number 2 test = 
var _rank =  IF( [Ranking Size (Vol)] = blank(), BLANK(), RANKX(ALL('Dealer Ranking'[test 2],'Dealer Ranking'[test]),[Ranking Size (Vol)],,DESC,Dense))
VAR _tab =
    FILTER (
        ADDCOLUMNS (
            ALLSELECTED( 'Dealer Ranking'[test],'Dealer Ranking'[test 2] ),
            "@rank", [Dealer Ranking 3]
        ),
        [test 2] = "Barclays"
    )
VAR _rankbarclays =
    CALCULATE( MAXX ( _tab, [@rank] ),REMOVEFILTERS('Dealer Ranking'[Glimpse_buy_side]))


RETURN

Calculate (_rankbarclays, ALL('Dealer Ranking'))

@ViralPatel212 En _tab está utilizando ALLSELECTED y no ALL. Es casi imposible ser específico aquí sin datos de muestra para recrear.

Lo sentimos, tengo problemas para seguir, ¿puede publicar datos de muestra como texto y salida esperada?
Realmente no hay suficiente información para continuar, primero verifique si su problema es un problema común que se enumera aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

Además, consulte esta publicación sobre Cómo obtener respuestas rápidas a su pregunta: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

Las partes más importantes son:
1. Muestre los datos como texto, use la herramienta de tabla en la barra de edición
2. Resultado esperado de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.

Hola @ग्रेग_डेकलर

@I han publicado un archivo de muestra en la publicación original. Pero puedes descargarlo desde aquí

https://wu.dropbox.com/scl/fo/8lpulsw8mi0albitu/eight_utink?rlki=kizhchen961squipton9uvikk&ampst=5qu...

@ViralPatel212 Puede hacer que sus 2 medidas base SUM ignoren al cliente haciendo esto:

Tamaño de la clasificación =
CALCULAR( SUMA('Clasificación de distribuidores'[Tamaño]), ELIMINAR FILTROS('Clasificación de distribuidores'[Glimpse_buy_side]) )
Sin embargo, por mucho que lo intente, no puedo hacer que la medida del tamaño de clasificación (Vol) permanezca constante al hacer clic en la segmentación de clientes.
Syndicate_Admin
Administrator
Administrator

@ViralPatel212 Utilice ALL para invalidar el contexto del filtro.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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