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

Get inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.

Reply
Syndicate_Admin
Administrator
Administrator

Cálculo para "otros" usando el rango

Hola a todos


Necesito crear una visualización de tabla en Power BI que muestre los proyectos junto con sus valores. Sin embargo, solo considero proyectos en los que [BP sin TI] > 1M.

La clasificación debe aplicarse a estos proyectos en función de sus valores [BP sin TI] en orden descendente. Si un proyecto tiene una clasificación superior a 10, debe agruparse en "Otros proyectos de más de 1 M" y, en lugar de valores individuales, debe mostrar la suma de todos los proyectos clasificados entre 10 y el rango máximo (es decir, todos los proyectos con un valor superior a 1 M).

Además, si un proyecto tiene [BP sin TI] < 1M, su rango debe estar en blanco (no calculado).

Edición actual:

El problema al que me enfrento es que para los proyectos clasificados por encima de 10, los valores simplemente repiten el original [BP sin TI] en lugar de mostrar la suma agregada correcta de los proyectos clasificados entre 10 y máx.

Comportamiento esperado:

Por ejemplo, si los rangos y valores son:

Clasificar el proyecto BP sin TI

1A5.0M
2B4.2M
.........
10Jlos 1.8M
11K1.5M
12L1.3M
13M1.2M

A continuación, "Otros proyectos de más de 1 M" debe mostrar 1,5 M + 1,3 M + 1,2 M = 3,0 M, en lugar de valores individuales para cada proyecto.

___testy = 
VAR _baseTable = 
    ADDCOLUMNS(
        FILTER(
            SUMMARIZE(
                FactTableBP,
                FactTableBP[Project Description]
            ),
            [BP without IT] > 1000000
        ),
        "BP_Value", CALCULATE([BP without IT]),
        "Rank", IF(
            [BP without IT] >= 1000000,
            RANKX(
                ALL(FactTableBP[Project Description]), 
                [BP without IT], 
                , DESC, DENSE
            ),
            BLANK()
        )
    )

VAR _maxRank = MAXX(_baseTable, [Rank])

VAR _sumOtherProjects = 
    CALCULATE(
        SUMX(
            FILTER(
                _baseTable, 
                [Rank] > 10 && [Rank] <= _maxRank
            ),
            [BP_Value]
        ),
        REMOVEFILTERS(FactTableBP[Project Description])
    )

RETURN 
    IF(
        [Projects Rank BP] > 10, 
        _sumOtherProjects, 
        [BP without IT]
    )

¿Cómo puedo asegurarme de que todos los proyectos clasificados por encima de 10 muestren el mismo valor sumado de los proyectos entre el rango 10 y el máximo, en lugar de mostrar sus valores individuales?

¡Agradecería cualquier sugerencia o corrección! ¡Gracias!

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola @Simonn97_PBI

Esos números de rango deben materializarse utilizando una tabla desconectada que contenga los números de rango y la palabra otro. Si la imagen de abajo es lo que estás buscando, tengo tutoriales en YouTube

https://youtu.be/8Ti3rUroIaU?si=MKdU6ogkzvJ5Q9DB

https://youtu.be/CHRkJNHNoxU?si=8geoIs12EOnR0AMK

danextian_0-1737541385622.gif

Syndicate_Admin
Administrator
Administrator

@Simonn97_PBI

En primer lugar, cree una columna calculada para clasificar los proyectos en función de [BP sin TI] en orden descendente.

Rango =
SI (
FactTableBP[BP sin TI] > 1000000,
RANKX (
FILTER ( FactTableBP, FactTableBP[BP sin IT] > 1000000 ),
FactTableBP[BP sin TI],
,
DESC
DENSO
),
EN BLANCO()
)

A continuación, cree una medida para calcular la suma de [BP sin IT] para los proyectos clasificados por encima de 10.

SumaOtrosProyectos =
VAR _baseTable =
FILTRO (
FactTableBP,
FactTableBP[BP sin TI] > 1000000
)
VAR _maxRank = MAXX (_baseTable, FactTableBP[Rank])
DEVOLUCIÓN
CALCULAR (
SUMX (
FILTRO (
_baseTable,
FactTableBP[Rango] > 10 && FactTableBP[Rango] <= _maxRank
),
FactTableBP[BP sin TI]
),
REMOVEFILTERS (FactTableBP[Descripción del proyecto])
)

Por último, cree una medida para mostrar el valor correcto en función de la clasificación.

DisplayValue =
SI (
FactTableBP[Rango] > 10,
[SumaOtrosProyectos],
FactTableBP[BP sin TI]
)

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
Top Kudoed Authors