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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Roberto456
Resolver I
Resolver I

Filtro Cant con 2 condiciones

Hola a todos.

Estoy teniendo un problema extraño con algo.

Estoy tratando de filtrar mi informe para las ventas hasta la última factura de este mes en comparación con el mismo período del mes pasado.

A continuación se muestra mi fórmula:

Factura más reciente: CALCULATE(MAX('(Fact) Cart'[Invoice_Date]))

Prueba 2 ?
VAR LATESTMONTH á CALCULATE(MAX('(Dim) Calendar'[Rolling Month ?]),ALL('(Dim) Calendar'))
VAR STARTDATE - DATE(YEAR([Latest Invoice]),MONTH([Latest Invoice])-1,1)
VAR ENDDATE - DATE(YEAR([Latest Invoice]),MONTH([Latest Invoice])-1,DAY([Latest Invoice]))
devolución
IF(MAX('(Dim) Calendario'[Mes de Rolling)) - LATESTMONTH,
CALCULATE([Metric],FILTER(ALL('(Dim) Calendar'),'(Dim) Calendar'[Fecha] >- STARTDATE && '(Dim) Calendar'[Fecha] <- ENDDATE)),
CALCULATE([Metric],FILTER(ALL('(Dim) Calendar'),'(Dim) Calendar'[Rolling Month '] ? MAX('(Dim) Calendar'[Rolling Month ?])-1)))
obtengo este error al poner la medida con cualquier otro campo, (funciona por sí mismo aunque).
También solo funciona cuando pongo en un campo de calendario de la tabla de dimensiones, pero eso es todo.
error.JPG
El objetivo es poner esto con productos, pero no funcionará, ¿alguien sabe por qué?

3 REPLIES 3
Roberto456
Resolver I
Resolver I

así que descubrí la causa raíz del problema y su,

VAR ENDDATE - DATE(YEAR([Latest Invoice]),MONTH([Latest Invoice])-1,DAY([Latest Invoice]))

si pongo y entero allí funcionará,

¿por qué DAY() estaría causando este problema?

Editar:

si he reemplazado DAY([Latest Invoice]) de la tabla de hechos a MAX factura DAte de la tabla Dimension, funciona, pero no funcionará con filtros ahora...

Hola @Roberto456 ,

Este mensaje de error puede deberse a que el valor de la parte del día de la fecha de finalización obtenida es demasiado grande. Por ejemplo, supongamos que LATESTMONTH que obtuvo es 2020/3/31, luego STARTDATE es 2020/2/1 y ENDDATE es igual a 2020/2/31 basado en su fórmulaoriginal. Sin embargo, febrero de 2020 sólo puede tener 28 días como máximo, pero lo que obtienes es 31, que no se ajusta al formato de fecha. Por lo tanto, se informó de un error. Actualice la fórmula de medida Prueba 2 como se indica a continuación:

Prueba 2 ?
VAR LATESTMONTH á CALCULATE(MAX('(Dim) Calendar'[Rolling Month ?]),ALL('(Dim) Calendar'))
VAR STARTDATE - DATE(YEAR([Latest Invoice]),MONTH([Latest Invoice])-1,1)
VAR ENDDATE (VAR ENDDATE)EOMONTH(STARTDATE ,0)
devolución
IF(MAX('(Dim) Calendario'[Mes de Rolling)) - LATESTMONTH,
CALCULATE([Metric],FILTER(ALL('(Dim) Calendar'),'(Dim) Calendar'[Fecha] >- STARTDATE && '(Dim) Calendar'[Fecha] <- ENDDATE)),
CALCULATE([Metric],FILTER(ALL('(Dim) Calendar'),'(Dim) Calendar'[Rolling Month '] ? MAX('(Dim) Calendar'[Rolling Month ?])-1)))

Saludos

Rena

Community Support Team _ Rena
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

woo funciona 🙂

Prueba de la prueba ( Test)
VAR LATESTMONTH á CALCULATE(MAX('(Dim) Calendar'[Rolling Month ?]),ALL('(Dim) Calendar'))
VAR STARTDATE - DATE(YEAR([Latest Invoice]),MONTH([Latest Invoice]),1)
VAR ENDDATE - DATE(YEAR([Latest Invoice]),MONTH([Latest Invoice]),EOMONTH(STARTDATE ,0))
devolución
IF(MAX('(Dim) Calendario'[Mes de Rolling)) - LATESTMONTH,
CALCULATE([Metric],FILTER(ALL('(Dim) Calendar'),'(Dim) Calendar'[Fecha] > ? STARTDATE && '(Dim) Calendar'[Fecha] <- ENDDATE)),
CALCULATE([Metric PM]))

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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