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

Necesita suma acumulada con condición

Hola a todos

Espero que todos estén bien y seguros en esta pandemia. Soy nuevo en Power BI y trabaja en algunos cálculos que necesitan su ayuda.

Sandeep2021_0-1625548755622.png

Como se muestra arriba, tengo casos confirmados semanales y semanales como columnas, "Up / down Trend Test" es una medida que regresa si los casos de la semana actual y anterior disminuyen o aumentan. la lógica es la siguiente.

Prueba de tendencia arriba/abajo =
var a=sum(distritos[Casos confirmados semanales])
var d=MAXX(distritos,distritos[Semana])
var b=CALCULATE(sum(distritos[Casos confirmados semanales]),distritos[Semana]=d-1)
var c=IF(a<b,"Abajo","Arriba")
devolver c
Ahora mi requisito es que quiero devolver el recuento de downs consecutivos. si los casos están disminuyendo constantemente durante algunas semanas, debe contar acumulativamente las semanas, si hay alguna en el medio, debe detenerse y nuevamente cuando llegue la siguiente baja, debe comenzar nuevamente desde 1.
Por favor, ayúdame con el requisito anterior.
Resultado esperado
Sandeep2021_1-1625548950035.png

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hay @Sandeep2021 ,

Prueba esto:

StartWeek =
VAR ThisWeek =
    MAX ( districts[Week] )
VAR LastWeek = ThisWeek - 1
VAR ThisTrend = [Up/Down Trend Test]
VAR LastTrend =
    IF (
        ThisWeek > 1,
        CALCULATE ( [Up/Down Trend Test], districts[Week] = LastWeek )
    )
RETURN
    IF ( ThisTrend <> LastTrend, ThisWeek )
consecutive count =
VAR CalStartWeek =
    MAXX (
        FILTER (
            ALLSELECTED ( districts[Week] ),
            districts[Week] <= MAX ( districts[Week] )
        ),
        [StartWeek]
    )
VAR ThisWeek =
    MAX ( districts[Week] )
RETURN
    CALCULATE (
        COUNTROWS ( districts ),
        districts[Week] >= CalStartWeek
            && districts[Week] <= ThisWeek
    )

count.PNG

Saludos

Icey

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
Syndicate_Admin
Administrator
Administrator

Hay @Sandeep2021 ,

Prueba esto:

StartWeek =
VAR ThisWeek =
    MAX ( districts[Week] )
VAR LastWeek = ThisWeek - 1
VAR ThisTrend = [Up/Down Trend Test]
VAR LastTrend =
    IF (
        ThisWeek > 1,
        CALCULATE ( [Up/Down Trend Test], districts[Week] = LastWeek )
    )
RETURN
    IF ( ThisTrend <> LastTrend, ThisWeek )
consecutive count =
VAR CalStartWeek =
    MAXX (
        FILTER (
            ALLSELECTED ( districts[Week] ),
            districts[Week] <= MAX ( districts[Week] )
        ),
        [StartWeek]
    )
VAR ThisWeek =
    MAX ( districts[Week] )
RETURN
    CALCULATE (
        COUNTROWS ( districts ),
        districts[Week] >= CalStartWeek
            && districts[Week] <= ThisWeek
    )

count.PNG

Saludos

Icey

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.

Syndicate_Admin
Administrator
Administrator

@Sandeep2021 ,

un nuevo colum=

var _last = maxx(filter(Table, [Week] =earlier([Week]) -1) ,[Casos confirmados semanales])

devolución

if([Casos confirmados semanales] >_last , "arriba", "abajo")

@amitchandak

No puedo usar esto para la columna calculada porque quiero que estos valores se cambien en función de la selección en las segmentaciones de datos. Por otra parte la fórmula que sugirió parece volver hacia abajo / arriba , pero necesito imprimir el número que da downs consecutivos

@Sandeep2021 , Cree el rango de la semana si tiene semana del año, o la semana del uso. Pero prefiere mover la semana a una mesa separada

nueva columna en la tabla de fecha/semana

Rango de semana = RANKX(all('Date'),'Date'[Year Week],,ASC,Dense) //Formato AAAAWWW


medidas : use el rango de semana en su lugar si es necesario


This Week = CALCULATE(sum('Table'[Weekly confirmed cases]), FILTER(ALL('Date'),'Date'[Week Rank]=max('Date'[Week Rank])))
Last Week = CALCULATE(sum('Table'[Casos confirmados semanales]), FILTER(ALL('Date'),'Date'[Week Rank]=max('Date'[Week Rank])-1))

Medida de estado =

if([ThisWeek] >[Last Week], "up", "down")

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.