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
sdc_2019
Regular Visitor

Relación basada en Max de una medida

Hola

Soy un novato en PowerBI y necesito ayuda con una consulta DAX. Gracias de antemano. Este es el problema. Tengo una mesa como esta.

IdNombrePolaridad
id1Abc1
id2Abc1
id3Abc1
id4Def1
id5Def1
id6Ghi-1
id7Ghi1
id8Ijk1
id9Ghi-1
id10Ghi-1
id10Abc-1
id11Def-1

Necesito contar cuántas veces Name viene y luego encontrar el máximo para una polaridad. Así que en la tabla anterior "abc" viene 3 veces y "def" viene 2 veces y "ghi" y "ijk" 1 vez cada uno para la polaridad + 1.

Entonces necesito encontrar la relación de cada nombre basado en el MAX en esa polaridad, que es 3 para la polaridad + 1,

así que

Medida (para abc) 3/3

Medida (para def) a 2/3

Medida (para ghi) a 1/3

La tabla de resultados sería esta...

NombreMedidaPolaridad
Abc3/31
Def2/31
Ghi1/31
Ijk1/31
Abc1/3-1
Def1/3-1
Ghi3/3-1

¿Cómo hago esto?

Realmente apreciamos su ayuda de antemano.

1 ACCEPTED SOLUTION

@sdc_2019

Measure_V2 =
VAR ispos_ = SELECTEDVALUE ( Table7[Polarity] ) > 0
VAR maxPolarity_ =
    IF (
        ispos_,
        MAXX (
            ALL ( Table7[Name] ),
            CALCULATE ( COUNT ( Table7[Polarity] ), Table7[Polarity] > 0 )
        ),
        MAXX (
            ALL ( Table7[Name] ),
            CALCULATE ( COUNT ( Table7[Polarity] ), Table7[Polarity] < 0 )
        )
    )
VAR res_ =
    DIVIDE (
        IF (
            ispos_,
            CALCULATE ( COUNT ( Table7[Polarity] ), Table7[Polarity] > 0 ),
            CALCULATE ( COUNT ( Table7[Polarity] ), Table7[Polarity] < 0 )
        ),
        maxPolarity_
    )
RETURN
    res_

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar felicitaciones si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

View solution in original post

5 REPLIES 5
AlB
Super User
Super User

Hola @sdc_2019

1. Coloque los campos Nombre y Polaridad en un objeto visual de matriz (ambos con no resumir)

2. Cree esta medida y colóquela en el objeto visual, formatétela en un número decimal s

Measure =
VAR maxPolarity_ =
    MAXX ( ALL ( Table7[Name] ), CALCULATE ( COUNT ( Table7[Polarity] ) ) )
RETURN
    DIVIDE ( CALCULATE ( COUNT ( Table7[Polarity] ) ), maxPolarity_ )

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar felicitaciones si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

@AlB

Esto es genial. Ya casi está allí. Sólo una cosa más...

Lo siento mucho, no pasé por todo el conjunto para ver todos los valores distintos de polaridad, cuando profundiza más en los datos, me di cuenta de que de alguna manera los valores de polaridad no son sólo +1 o -1. Puede otros valores... como 2 o 3. Entonces, ¿cómo modifico esa parte... digamos basado en polaridad > 0 o polaridad < 0.

Medida:
VAR maxPolarity_ -
    MAXX ( ALL ( Table7[Name] ), CALCULATE ( COUNT ( Table7[Polarity] ) ) )
RETURN DIVIDE ( CALCULATE (
    Table7[Polarity] ) ), maxPolarity_ )

¿Dónde en esta consulta modifico que...

@sdc_2019

Measure_V2 =
VAR ispos_ = SELECTEDVALUE ( Table7[Polarity] ) > 0
VAR maxPolarity_ =
    IF (
        ispos_,
        MAXX (
            ALL ( Table7[Name] ),
            CALCULATE ( COUNT ( Table7[Polarity] ), Table7[Polarity] > 0 )
        ),
        MAXX (
            ALL ( Table7[Name] ),
            CALCULATE ( COUNT ( Table7[Polarity] ), Table7[Polarity] < 0 )
        )
    )
VAR res_ =
    DIVIDE (
        IF (
            ispos_,
            CALCULATE ( COUNT ( Table7[Polarity] ), Table7[Polarity] > 0 ),
            CALCULATE ( COUNT ( Table7[Polarity] ), Table7[Polarity] < 0 )
        ),
        maxPolarity_
    )
RETURN
    res_

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar felicitaciones si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

¡Muchas gracias! Esto funciona.

Greg_Deckler
Super User
Super User

@sdc_2019 No 100% seguro, pero esto parece un problema de agregación de medida. Vea mi artículo de blog sobre eso aquí: https://community.powerbi.com/t5/Community-Blog/Design-Pattern-Groups-and-Super-Groups/ba-p/138149

El patrón es:
MinScoreMeasure ? MINX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
MaxScoreMeasure ? MAXX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
AvgScoreMeasure - AVERAGEX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
etcetera.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

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.