ExcelPBI
Hola Comunidad,
Necesito ayuda con DAX para comparar dos filas de dos columnas. para un cliente si la categoría es la misma y hay más de un date_closed_on, si date_closed_on en la primera fila de date_opened_on en la segunda fila, a continuación, devolver el date_closed_on de la segunda fila.
En el ejemplo siguiente, para el cliente 123, la categoría A, si date_closed_on en la primera fila (15/08/2020) -date_opened_on en la segunda fila (15/08/2020) y, a continuación, devuelva el date_closed_on (20 / 08/2020) de la segunda fila.
Por lo tanto, para los clientes 324 y 678 la condición es falsa y devuelve fechas cerradas individuales para cada fila.
Gracias de antemano!
Greg_Deckler
@ExcelPBI: para que esto funcione, los datos tendrían que tener el siguiente aspecto, puede usar Rellenar en Power Query.
Identificación del niño | Categoría | date_opened_on | date_closed_on |
123 | a | 8/2/2020 | 15/8/2020 |
123 | a | 15/8/2020 | 20/8/2020 |
324 | B | 8/2/2020 | 15/8/2020 |
324 | B | 16/8/2020 | 20/8/2020 |
También puede necesitar una columna Index, pero por ahora podría hacer esto:
Columna = VAR __Table = FILTER ('Tabla',[Child ID]= ANTES ([Child ID]) && [Category]= ANTES ([Category]) && [date_opened_on] = ANTES ([date_closed_on])) VOLVER SI (ESBLANCO (__ Tabla), EN BLANCO (), MAXX (__ Tabla,[date_closed_on))
amitchandak
@ExcelPBI , esto mismo que el problema de la racha continua. No utilice +1, -1 de la brecha
https://community.powerbi.com/t5/Quick-Measures-Gallery/Power-BI-Continuous-Streak-One-Day-Differenc…
mohammedadnant
@ExcelPBI ,
Pls comprobar los pasos a continuación todo en Power Query Editor,
Un. Utilice rellenar hacia abajo para rellenar los valores en blanco en el ID de cliente
B. Agregar 2 en la columna de índice comienza a partir de 0 y comienza a partir de 1
C. Combine esta tabla con el mismo mapa de tablas Índice 1 en la parte superior al índice 0 debajo de la tabla
d. columna condicional para definir la lógica
Detalles:
Paso: a & b
Dejar
Fuente: Tabla…..,
«Tipo de cambio» – Table.TransformColumnTypes(Source,’ID de niño», Int64.Type’, »Category’,’category’, escriba text’, »date_opened_on’,’, escriba date’, »’date_closed_on»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»’
«Añadido índice» – Table.AddIndexColumn(-«Changed Type», «Index», 0, 1, Int64.Type),
«Added Index1» á Table.AddIndexColumn(-«Added Index», «Index.1», 1, 1, Int64.Type)
En
«Añadido índice1»
Paso: c & d
Dejar
Source , Table.NestedJoin(MaxCloseDate, ‘Index.1’, MaxCloseDate, »Index», ‘MaxCloseDate’, JoinKind.LeftOuter),
«Expanded MaxCloseDate» á Table.ExpandTableColumn(Source, «MaxCloseDate», «CHILD ID», «Category», «date_opened_on», «date_closed_on», «MaxCloseDate.Child ID», «MaxCloseDate.Category», «MaxCloseDate.date_opened_on», «MaxCloseDate.date_closed_on»)
«Añadida columna condicional» – Table.AddColumn(-«Expanded MaxCloseDate», «Final Close Date», cada una si [date_closed_on] – [MaxCloseDate.date_opened_on] y luego [MaxCloseDate.date_closed_on] más [date_closed_on]),
«Eliminado otras columnas» – Table.SelectColumns («Añadida columna condicional», «ID de niño», «Categoría», «date_opened_on», «Fecha de cierre final»)
En
«Eliminado otras columnas»
————————————————– ————————————————– ———————————–
Si esto resuelve su problema, pls marcas como completa y pulse el botón «Me gusta»
Gracias y saludos,
Mohammed Adnan
www.youtube.com/taik18
Amitchandak
@ExcelPBI, esto mismo que el problema de la racha continua. No utilice +1, -1 de la brecha
https: //community.powerbi.com/t5/Quick-Measures-Gallery/Power-BI-Continuous-Streak-One-Day-Differenc …
Greg_Deckler
@ExcelPBI: para que esto funcione, los datos tendrían que tener el siguiente aspecto, puede usar Rellenar en Power Query.
Identificación del niño | Categoría | date_opened_on | date_closed_on |
123 | a | 8/2/2020 | 15/8/2020 |
123 | a | 15/8/2020 | 20/8/2020 |
324 | B | 8/2/2020 | 15/8/2020 |
324 | B | 16/8/2020 | 20/8/2020 |
También puede necesitar una columna Index, pero por ahora podría hacer esto:
Column =
VAR __Table = FILTER('Table',[Child ID]=EARLIER([Child ID]) && [Category]=EARLIER([Category]) && [date_opened_on] = EARLIER([date_closed_on]))
RETURN
IF(ISBLANK(__Table),BLANK(),MAXX(__Table,[date_closed_on))