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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
RolandPlanet
Frequent Visitor

¿Cómo obtengo el valor X superior en las columnas de cada fila?

Hola

Estoy tratando de agregar una columna donde obtengo el primer valor más que ocurre en las columnas de una fila junto con el segundo valor más que ocurre, y el tercer valor más probable

IdColumna1Columna2Columna3Columna4Columna5
1234manzanamanzanaNaranjamanzanaNaranja
1235NaranjaNaranjaPeraNaranjaNaranja

En otras palabras, me gustaría una columna que mostraría "Apple" como el primer valor más que ocurre y "Naranja" como el segundo valor más que ocurre en la primera fila. ¿Cómo puedo hacer eso?

1 ACCEPTED SOLUTION

Hola, @RolandPlanet

He hecho algunos cambios en la medida. Por favor, pruebe la siguiente medida para ver si funciona.

Result = 
var _id = SELECTEDVALUE('Table'[ID])
var tab = 
SUMMARIZE(
    'Table',
    'Table'[ID],
    'Table'[Value],
    "Count",
    COUNTROWS(
        FILTER(
            'Table',
            'Table'[Value] = EARLIER('Table'[Value])
        )
    )
)
var newtab = 
ADDCOLUMNS(
    tab,
    "Rank",
    RANKX(
        FILTER(
            tab,
            [ID] = _id
        ),
        [Count]
    )
)
return
CONCATENATEX(
    FILTER(
        newtab,
        [Rank] = 1
    ),
    [Value],
    "-"
)&" "&
CONCATENATEX(
    FILTER(
        newtab,
        [Rank] = 2
    ),
    [Value],
    "-"
)&" "&
CONCATENATEX(
    FILTER(
        newtab,
        [Rank] = 3
    ),
    [Value],
    "-"
)

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

4 REPLIES 4
v-alq-msft
Community Support
Community Support

Hola, @RolandPlanet

Puede ir al Editor de consultas, ir a la cinta de opciones 'Transformar', hacer 'ID' seleccionado y hacer clic en 'despivotar otras columnas'. Y luego tienes que hacer clic en 'Cerrar y aplicar'.

I1.png

Puede crear una medida como se muestra a continuación.

Result = 
var _id = SELECTEDVALUE('Table'[ID])
var tab = 
SUMMARIZE(
    'Table',
    'Table'[ID],
    'Table'[Value],
    "Count",
    COUNTROWS(
        FILTER(
            'Table',
            'Table'[Value] = EARLIER('Table'[Value])
        )
    )
)
var newtab = 
ADDCOLUMNS(
    tab,
    "Rank",
    RANKX(
        FILTER(
            tab,
            [ID] = _id
        ),
        [Count]
    )
)
return
CONCATENATEX(
    FILTER(
        newtab,
        [Rank] = 1
    ),
    [Value]
)&" "&
CONCATENATEX(
    FILTER(
        newtab,
        [Rank] = 2
    ),
    [Value]
)&" "&
CONCATENATEX(
    FILTER(
        newtab,
        [Rank] = 3
    ),
    [Value]
)

Resultado:

I2.png

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

¡Esto es genial! Sin embargo, si dos valores tienen el mismo número de ocurrencias, se concatenan juntos como "AppleOrange", por ejemplo. ¿Hay alguna manera de prevenir esto?

Hola, @RolandPlanet

He hecho algunos cambios en la medida. Por favor, pruebe la siguiente medida para ver si funciona.

Result = 
var _id = SELECTEDVALUE('Table'[ID])
var tab = 
SUMMARIZE(
    'Table',
    'Table'[ID],
    'Table'[Value],
    "Count",
    COUNTROWS(
        FILTER(
            'Table',
            'Table'[Value] = EARLIER('Table'[Value])
        )
    )
)
var newtab = 
ADDCOLUMNS(
    tab,
    "Rank",
    RANKX(
        FILTER(
            tab,
            [ID] = _id
        ),
        [Count]
    )
)
return
CONCATENATEX(
    FILTER(
        newtab,
        [Rank] = 1
    ),
    [Value],
    "-"
)&" "&
CONCATENATEX(
    FILTER(
        newtab,
        [Rank] = 2
    ),
    [Value],
    "-"
)&" "&
CONCATENATEX(
    FILTER(
        newtab,
        [Rank] = 3
    ),
    [Value],
    "-"
)

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

amitchandak
Super User
Super User

@RolandPlanet

Mejor que los datos despivotados

https://radacad.com/pivot-and-unpivot-with-power-bi

A continuación, puede utilizar todas las expectativas a nivel de identificación para obtener esta respuesta

https://www.sqlbi.com/articles/managing-all-functions-in-dax-all-allselected-allnoblankrow-allexcept...

https://community.powerbi.com/t5/Desktop/Percentage-of-subtotal/td-p/95390

Join us as experts from around the world come together to shape the future of data and AI!
At the Microsoft Analytics Community Conference, global leaders and influential voices are stepping up to share their knowledge and help you master the latest in Microsoft Fabric, Copilot, and Purview.
️ November 12th-14th, 2024
 Online Event
Register Here

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

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

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

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

Top Solution Authors