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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Cómo filtrar para obtener acumulaciones basadas en los filtros dentro de DAX

Hola

Necesito resolver el problema desde abajo:

ENTRADA

-Fechas y número de semana "Semana no"

-presupuesto

-actual

-Mesa

-un grupo de columnas (principal, segundo, tercero, cuarto)

-otra columna Estado (A, B, C), todos los Estados asignados a todos los elementos del grupo.

Cómo llegar:

-para el presupuesto acumulativo, acumulativo real, acumulativo de pronóstico, necesitamos filtrar: "cuarto" grupo y "tercero" grupo sin estado "A" y "B".

El pronóstico acumulado debe ser lineal distribuido y tener una fecha impuesta (16/04/2023, o semana 15)

En estos casos anteriores,

cómo calcular el presupuesto, real, pronóstico acumulativo, basado en "Fechas" o por "Semana no" ,

se filtró el "cuarto" grupo y el "tercero" grupo sin el estado "A" y "B".

Algunas fórmulas para filtrar, tal vez te ayuden:

FILTRO(

«Tabla»,

'Mesa'[Grupo] <> "cuarto" &&

NOT('Tabla'[Grupo] = "tercero" &&

('Tabla'[Estado] = "A" || 'Tabla'[Estado] = "B")) &&

'Tabla'[Fecha] <= MAX('Tabla'[Fecha])

)

y otro podría ser:

FILTER('Tabla','Tabla'[Grupo] <> "cuarto" &&

NOT('Tabla'[Grupo] = "tercero" && 'Tabla'[Estado] EN {"A", "B"}) &&

'Tabla'[Fecha] <= MAX('Tabla'[Fecha]))

)

Power bi

Archivo de Excel

Gracias.

1 ACCEPTED SOLUTION

Hola

Aquí está el problema:

"

VAR _lastbudgetdate =
CALCULATE ( MAX ( 'Tabla 5' [Fecha] ), REMOVEFILTERS ( 'Tabla 5' ) )
VAR _lastactualdate =
CALCULAR ( MAX ( 'Tabla 5'[Fecha] ), REMOVEFILTERS ( 'Tabla 5' ))

"

si pudiera encontrar el "lastactualdate" correcto de la "Tabla 5", este debe ser diferente de "lastbudgetdate" (ahora ambos tienen la misma fórmula...).

"'Cuadro 5'[Fecha]" de _lastactualdate debe sustituirse por el correcto

(Consejos:

Semana con Actual = SI(«Cuadro 5»[Fecha] <= [Semana pasada real], «Cuadro 5»[Fecha], ESPACIO EN BLANCO())
).
Semana pasada real = MAXX(FILTRO(«Cuadro 5», «Cuadro 5»[tiene real] = 1), «Cuadro 5»[Fecha])
tiene real = SI(«Cuadro 5» [real] > 0, 1, 0)
¡Buena suerte!

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Semana con Actual = SI('Tabla 5'[Fecha] <= [Última Semana Actual], 'Tabla 5'[Fecha], BLANK())
).
Last week real = MAXX(FILTER('Table 5', 'Table 5'[Has Actual] = 1), 'Table 5'[date])
tiene real = si('tabla 5'[real] > 0, 1, 0)

¡Todas estas columnas calculadas de la Tabla 5!

Medidas:

Acumulado real (fechas)33 =
SI (
NO ISBLANK ( ..MAX ( «Cuadro 5»[actual] ) ),
CALCULAR (
SUMA ( «Cuadro 5»[actual] ),
FILTRO ( TODOSELECCIONADO ( «Cuadro 5» ), «Cuadro 5»[Fecha] <= ..MAX ( «Cuadro 5»[Fecha] ) )
)
)
Presupuesto acumulado (fechas) 33 =
CALCULAR (
SUMA ( «cuadro 5» [presupuesto] ),
FILTRO ( TODOSELECCIONADO ( 'Cuadro 5' ), 'Cuadro 5'[Fecha] <= ..MAX ( 'Tabla 5'[Fecha] ) )
)
y
Tabla 5 =
CALCULATETABLE (
'Tabla',
FILTRO('Tabla','Tabla'[Grupo] <> "Cuarto" &&

NO('Tabla'[Grupo] = "tercero" && 'Tabla'[Estado] EN {"A", "B"}) ))
Syndicate_Admin
Administrator
Administrator

Hola

Creo que es mejor usar CALCULATETABLE, pero aún no sé cómo obtener la distribución lineal acumulativa prevista para la fecha impuesta 16/04/2023 ... no funciona para la Tabla 5 , funciona para la Tabla (en general, sin filtros)

Tabla 5 =
CALCULATETABLE (
'Tabla',
FILTRO('Tabla','Tabla'[Grupo] <> "Cuarto" &&

NO('Tabla'[Grupo] = "tercero" && 'Tabla'[Estado] EN {"A", "B"}) &&

'Tabla'[Fecha] <= ..MAX('Tabla'[Fecha]))

)
y tal vez podamos personalizar esto
Forec **bleep** end date_Imposed 33 =


DÓNDE _budgetall =
CALCULAR ( SUMA ( «Cuadro 5»[presupuesto] ), ELIMINAR filtros ( «Cuadro 5» ) )
DÓNDE _actualall =
CALCULAR ( SUMA ( «Cuadro 5»[actual] ), ELIMINAR filtros ( «Cuadro 5» ))
DÓNDE _diffamount = _budgetall - _actualall
DÓNDE _lastbudgetdate =
CALCULAR ( ..MAX ( «Cuadro 5»[Fecha] ), ELIMINAR filtros ( «Cuadro 5» ) )
DÓNDE _lastactualdate =
CALCULAR ( ..MAX ( «Cuadro 5»[Fecha] ), ELIMINAR filtros ( «Cuadro 5» ))
DÓNDE _diffdates_A =
DATEDIFF ( _lastactualdate, _lastbudgetdate, DÍA )
DÓNDE _ForecEndDate = FECHA(2023,04,16)
DÓNDE _diffdates =
DATEDIFF ( _lastactualdate, _ForecEndDate, DÍA )
DÓNDE _forecastcumulate =
INTERRUPTOR (
VERDADERO (),
..MAX ( «Cuadro 5»[Fecha]) = _lastactualdate, _actualall,
..MAX ( 'Corte de previsión'[Fecha] ) > _lastactualdate
&& ..MAX ( 'Corte de previsión'[Fecha] ) <= _ForecEndDate,
_actualall
+ (
DIVIDIR ( _diffamount, _diffdates)
* DATEDIFF ( _lastactualdate, ..MAX ( 'Corte de previsión'[Fecha] ), DÍA )
)
)
DEVOLUCIÓN
_forecastcumulate
¿Qué te parece?

Hola

Aquí está el problema:

"

VAR _lastbudgetdate =
CALCULATE ( MAX ( 'Tabla 5' [Fecha] ), REMOVEFILTERS ( 'Tabla 5' ) )
VAR _lastactualdate =
CALCULAR ( MAX ( 'Tabla 5'[Fecha] ), REMOVEFILTERS ( 'Tabla 5' ))

"

si pudiera encontrar el "lastactualdate" correcto de la "Tabla 5", este debe ser diferente de "lastbudgetdate" (ahora ambos tienen la misma fórmula...).

"'Cuadro 5'[Fecha]" de _lastactualdate debe sustituirse por el correcto

(Consejos:

Semana con Actual = SI(«Cuadro 5»[Fecha] <= [Semana pasada real], «Cuadro 5»[Fecha], ESPACIO EN BLANCO())
).
Semana pasada real = MAXX(FILTRO(«Cuadro 5», «Cuadro 5»[tiene real] = 1), «Cuadro 5»[Fecha])
tiene real = SI(«Cuadro 5» [real] > 0, 1, 0)
¡Buena suerte!
Syndicate_Admin
Administrator
Administrator

actual cumulative (dates) = 
var fc = MAX ( 'Forecast cut-off'[Date] )
return IF (
    NOT ISBLANK ( MAX ( 'Table'[actual] ) ),
    CALCULATE (
        SUM ( 'Table'[actual] ),
        'Table'[Date] <= fc ,
        'Table'[Group]<>"fourth",
        not ('Table'[Group]="third" && 'Table'[Status] IN {"A", "B"})
    ) 
)

Hola

¡Gracias por el "acumulativo real"!

En el mismo enfoque, he hecho para "presupuesto cumultive", pero necesito detenerme después del primer valor máximo 33.

Presupuesto acumulado =

var fc = MAX ( 'Corte de previsión'[Fecha] )

devolver SI (

NOT ISBLANK ( MAX ( 'Tabla' [presupuesto] ) ),

CALCULAR (

SUMA ( « «Cuadro» [presupuesto] ),

'Tabla'[Fecha] <= fc ,

«Cuadro»[Grupo]<>"Cuarto",

not ('Tabla'[Grupo]="tercero" && 'Tabla'[Estado] EN {"A", "B"})

)

)

Mihai_Iso_0-1679543181843.png

Y me gustaría tener el pronóstico acumulativo, lineal distribuido, con la fecha impuesta 16/04/2023, como se muestra en el archivo de excel.

Gracias.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors