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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Syndicate_Admin
Administrator
Administrator

Dax para agrupar filas como un lote en función de la fecha de creación y la clasificación

Hola comunidad,

Estoy tratando de encontrar una solución para un escenario en el que necesito dax un par de columnas (1) que me ayudarán a agrupar lotes en función de la fecha de creación del lote, donde para cualquier lote que caiga dentro de una semana de la fecha de creación anterior, se agrupará como un lote y se llamará lote 1 e identificar que el próximo será el lote 2 y luego el 3 luego 4, etc.

Estos son los datos que tengo. Por ejemplo, PB-1003 y PB-1004 serán el lote 1, ya que se aplica la regla de que caen en la misma semana a partir del 2 de octubre, y PB-1005 y PB-1006 serán el lote 2, ya que se aplica la regla de que caen dentro de la misma semana a partir del 16 de octubre, y PB-1007 y PB-1008 serán el lote 3, ya que caen dentro de una semana a partir del 24 de octubre.

Luego necesito una segunda columna para clasificar los lotes. A continuación, una tercera columna que identifica si el lote es el actual o no en función del último lote emitido

Necesitaré el dax para generar esta columna coloreada en púrpura

FechaNúmero de PBNombre Fecha de lote Nombre del lote Rango ¿Lote actual?
2-oct-23PB-1003EFT - PB-1003-10/02/20232/10/2023 10:15 a. m.Lote 11No
2-oct-23PB-1004Cheque - PB-1004-10/05/20235/10/2023 9:15 a. m.Lote 11No
16-oct-23PB-1005EFT - PB-1005-16/10/202316/10/2023 10:15 a. m.Lote 22No
21-oct-23PB-1006Cheque - PB-1006-21/10/202321/10/2023 9:15 a. m.Lote 22No
24-oct-23PB-1007EFT - PB-1007-24/10/202324/10/2023 10:15 a. m.Lote 33
27-oct-23PB-1008Cheque - PB-1008-27/10/202327/10/2023 9:15 a. m.Lote 33

Intenté varias formas, pero aún no obtuve el resultado correcto. Cualquier ayuda será apreciada.

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

@Ahmedx ¡Las variables funcionaron muy bien! Gracias por la rápida respuesta.

Syndicate_Admin
Administrator
Administrator

Piensa en la lógica por última vez y dilo muy claramente. Comparta el enlace de descarga del archivo PBI y muestre el resultado esperado muy claramente.

Syndicate_Admin
Administrator
Administrator

Por favor, pruebe yhis

Syndicate_Admin
Administrator
Administrator

@Ashish_Mathur La solución de Ahmed funcionó, pero estaba buscando una lógica dax para la solución más que una tabla a la que conectarse. Si tuviera la oportunidad de comprobar por qué las lógicas no funcionan si las basamos en la fecha en lugar de la fecha por lotes. Es muy curioso saber la razón, qué es lo que está mal en este contexto.

Syndicate_Admin
Administrator
Administrator

Pruebe la solución publicada por el otro colaborador. ¿Funciona eso?

Syndicate_Admin
Administrator
Administrator

@Ashish_Mathur Me acabo de dar cuenta de algo al establecer las lógicas. De alguna manera no me está dando la diferencia correcta. Estoy usando la fecha en lugar de la fecha por lotes, ya que es posible que el campo de fecha por lotes no se refleje a tiempo.

He utilizado las mismas lógicas que publicaste. ¿Alguna idea de por qué la diferencia de fecha se refleja mal?

Batching.PNG

Batching-DateDiff.PNGhttps://app.powerbi.com/groups/me/reports/4d79d3cf-2b0b-41f6-a6d7-35dc8490fa10/ReportSection?experie...

Syndicate_Admin
Administrator
Administrator

De nada.

Syndicate_Admin
Administrator
Administrator

@Ashish_Mathur Muchas gracias por esta solución. Lo probé y funcionó.

@Ahmedx También probé tu método y funciona súper! Gracias, me alegraste el día 🙂

Syndicate_Admin
Administrator
Administrator

Pruebe esto

Screenshot_5.png

Syndicate_Admin
Administrator
Administrator

Basándome en su descripción, creé datos para reproducir su escenario. Al final, se adjunta el archivo pbix.

Screenshot_4.png

Syndicate_Admin
Administrator
Administrator

Hola

Pruebe estas fórmulas de columna calculadas

Next batch date = CALCULATE(MIN(Data[Batched Date]),FILTER(Data,Data[Batched Date]>EARLIER(Data[Batched Date])&&LEFT(Data[Name],6)="Cheque"))
Previous batch date = CALCULATE(max(Data[Batched Date]),FILTER(Data,Data[Batched Date]< ode="">
Days diff = if(LEFT(Data[Name],3)="EFT",1*([Next batch date]-[Batched Date]),1*([Batched Date]-[Previous batch date]))
Type = LEFT(Data[Name],SEARCH(" ",Data[Name])-1)
Rank = if([Days diff]<=7,CALCULATE(COUNTROWS(Data),FILTER(Data,Data[Batched Date]<=EARLIER(Data[Batched Date])&&Data[Type]=EARLIER(Data[Type]))),BLANK())
Batch name = "Batch "&Data[Rank]

Espero que esto ayude.

Ashish_Mathur_0-1698636723054.png

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 MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors