Reply
Syndicate_Admin
Administrator
Administrator
Syndicated - Inbound

Mostrar solo los N superiores en el nivel de columna

Source Community: Power BI | Source Author Name: shareezsaleem

Hola a todos

Tengo una matriz como la siguiente:

Nivel 1: WBS1, WBS2, WB3..... WBS723

MACHS 12 34 44

PAX 28 44 22

ELEC. 60 32 11

Total 100 110 77

¿Cómo puedo mostrar los 50 mejores WBS donde el total de WBS es 723 (columnas)?

Saludos

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: kushanNa
Syndicated - Inbound

Hola @shareezsaleem

¿Intentaste usar el filtro Top N en el panel de filtros?

kushanNa_0-1742871468174.png

Source Community: Power BI | Source Author Name: shareezsaleem
Syndicated - Inbound

Gracias.

¿Cómo puedo ordenar las columnas en función del total general de columnas?

Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: shareezsaleem
Syndicated - Inbound

Ver los datos reales

Quiero reducir la columna a los 5 primeros en función del rango de WBS (que es la suma de los valores)

shareezsaleem_0-1742813242336.png

Matriz de rangos de WBS:

shareezsaleem_1-1742813297635.png

Rango WBS = SI(HASONEVALUE(Finanzas[WBS_Rev.]),RANKX(TODO(Finanzas[WBS_Rev.]),[MTD real],,DESC,Denso))

Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: AmiraBedh
Syndicated - Inbound

Es posible que no pueda lograr lo que desea en PBI, pero aquí hay algo que es una solución alternativa.

Es necesario anular la dinamización de las columnas:

  • Ir a Transformar datos

  • Selecciona tu mesa

  • Select all WBS1 to WBS723 columns

  • Haga clic con el botón derecho > anular la dinamización de columnas

  • Rebautizar:

    • AttributeWBS

    • Value remains as is

De:

AmiraBedh_1-1742812286404.png

Para:

AmiraBedh_0-1742812264933.png

A continuación, cree 2 medidas:

Total Value by WBS = 
CALCULATE(
    SUM('RawData'[Value]),
    ALLEXCEPT('RawData', 'RawData'[WBS])
)

WBS Rank = 
RANKX(
    ALL('RawData'[WBS]),
    [Total Value by WBS],
    ,
    DESC,
    Dense
)

Show Top WBS = 
IF([WBS Rank] <= 50, 1, 0)

La última medida la usarás como filtro en el objeto visual.

AmiraBedh_2-1742812435820.png

Source Community: Power BI | Source Author Name: shareezsaleem
Syndicated - Inbound

Por favor, responda ..

Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: Akash_Varuna
Syndicated - Inbound

Hola @shareezsaleem Podría usar DAX para calcular el total de cada columna y luego clasificarlas y aplicar el filtro en la matriz ..... Por favor, pruébalo
Calcule el total de cada columna:

TotalValuePerColumn = SUM('Table'[Value])

Reemplace el valor por la columna numérica
Columnas de rango:

RankColumns = RANKX(ALL('Table'[WBS]), [TotalValuePerColumn], , DESC)

Filtrar las 50 columnas principales:
Aplique un filtro en la visualización de matriz para mostrar solo las columnas en las que RankColumns ≤ 50

avatar user

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

March2025 Carousel

Fabric Community Update - March 2025

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

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)