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

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

Reply
Epuma
Frequent Visitor

Obtener ventas del mes anterior de los productos que tengan ventas en la fecha actual

Hola comunidad, siempre me me guio de sus publicaciones pero es la primera ves que busco y busco y no encuentro no se si me puedan ayudar con este problemilla que me ha salido:

Como dice el titulo quiero filtrar de alguna manera las ventas del mes anterior que obtengo con esta formula: 

Avance LM < =
CALCULATE([Avance],DATEADD(Calendario[Date],-1, MONTH))

Y solo mostrar ventas del mes anterior cuando tengan ventas en el periodo actual. Algunos me dijeron pero condicion si es en blanco entonces que no ponga nada, si eso puede funcionar cuando esta separado por categoria. Pero cuando se agrupan no sirve la condicional:
Epuma_1-1633039294708.png


Estoy usando de ejemplo solo un día les dejo un pbix de prueba que arme para intentar realizar la medida.

 

Epuma_0-1633039118837.png
PBix :
https://we.tl/t-UzhXXDMTBG

@Greg_Deckler 

 

1 ACCEPTED SOLUTION

Hola

Escribe esta medida

Measure = SUMX(FILTER(VALUES('data pruebas'[DISTRIBUIDOR]),[Avance]>0),[Avance LM <])

View solution in original post

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

@Syndicate_Admin

No estoy seguro de cómo desea definir 'período actual', pero si es solo genérico en todo el modelo, entonces debe proporcionar ese contexto de período actual iterando en la tabla Calendario. Las funciones del iterador terminan en X por lo general, como SUMX.

Creo que esta fórmula es lo que estás buscando, pero si no solo responde con cuál debería ser el resultado deseado:

Avance LM < AK =
SUMX(Calendario,
IF([Avance]<>BLANK(),
CALCULAR([Avance],DATEADD(Calendario[Fecha],-1, MES))
)
)
AllisonKennedy_0-1633048903435.png

Tenga en cuenta que esto no filtra por Distribuidor cada período de fecha, sino que los agrega todos, por lo que si eso es algo que necesita, necesitamos saber CADA dimensión que desea incluir y debemos agregarla al contexto de la medida iteradora.

Syndicate_Admin
Administrator
Administrator

Hola

Pruebe esta medida

Avance LM < = 
if(ISBLANK([Avance]),BLANK(),CALCULATE([Avance],DATEADD(Calendario[Date],-1, MONTH)))

Como te comente es cierto que sirve cuando encuentra en blanco, pero cuando se agrupan ya no respeta la condicion el resultado correcto solo deberia ser : 59947

1.JPG

Hola

Escribe esta medida

Measure = SUMX(FILTER(VALUES('data pruebas'[DISTRIBUIDOR]),[Avance]>0),[Avance LM <])

Hola me funciono bien a nivel registros esta formula pero al mostrar todos los dias no esta sumando correctamente el valor, estaba pensando en utilizar un hasonevalue pero no seria la solucion ya que esta medida la utilizare en muchas formas y tendrias que crear muchos hasonvalue :

Epuma_0-1633106611696.png

 




@Epuma

¿Qué medida está utilizando para esta captura de pantalla? ¿Has probado mi sugerencia usando el SUMX(Calendario ... esto proporcionará el contexto para la fila de totales que está buscando.


@Syndicate_Admin escribió:

Hola he trabajado bien a nivel registra esta fórmula pero para mostrar todos los días no se está sumando correctamente el valor, estaba pensando en usar un hasonevalue pero no sería la solución ya que esta medida se usará de muchas maneras y habría que crear muchos hasonvalue:





Hola

Comparte el enlace desde donde puedo descargar tu archivo PBI.

WAO que genial si funciona en el PBix de prueba mañana lo probare en el PBix original que pesa casi 900 MB muchas gracias ! 

Helpful resources

Announcements
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

Top Solution Authors