StephenK
Hola chicos,
Necesito ayuda para crear una columna calculada. Tengo dos mesas…
una tabla de calendario (tiene fechas contiguas):
Ejercicio de fecha
1/1/2020 | |
1/2/2020 | |
1/3/2020 | |
1/4/2020 | Ejercicio 1 para el año fiscal 2020 |
5/1/2020 | |
… | |
1/3/2020 | Ejercicio 2 para el año fiscal 2020 |
… | |
31/12/2020 | |
1/1/2021 | |
1/2/2021 | Ejercicio 1 del año fiscal 21 |
… |
y una tabla de hechos (no tiene fechas contiguas):
Fecha de ejercicio PersonID
Ejercicio 1 para el año fiscal 2020 | 1/4/2020 | 1 |
Ejercicio 2 para el año fiscal 2020 | 1/3/2020 | 1 |
Ejercicio 2 para el año fiscal 2020 | 1/3/2020 | 2 |
Ejercicio 2 del año fiscal 2019 | 1/3/2019 | 3 |
Ejercicio 1 del año fiscal 21 | 1/2/2021 | 3 |
estos están relacionados en la columna Ejercicio.
Lo que tengo que hacer es crear una columna calculada en mi tabla de hechos que indique a través de una bandera si un PersonID apareció al menos dos veces en los ejercicios dentro de un período continuo de 12 meses. La fecha de finalización del período de doce meses sería la fecha del ejercicio más reciente en el que participaron. La fecha de inicio del período sería el ejercicio más reciente en el que participaron, es decir, dentro de los 12 meses anteriores al ejercicio de la fecha de finalización.
así, por ejemplo, PersonID 1 participó en dos ejercicios en un período de 12 meses. PersonID 2 solo participó en uno.
Person ID 3 participó en dos ejercicios, PERO NO en un período continuo de 12 meses.
La salida se vería así:
Fecha de ejercicio PersonID IsRepeat
Ejercicio 1 para el año fiscal 2020 | 1/4/2020 | 1 | 1 |
Ejercicio 2 para el año fiscal 2020 | 1/3/2020 | 1 | 1 |
Ejercicio 2 para el año fiscal 2020 | 1/3/2020 | 2 | 0 |
Ejercicio 2 del año fiscal 2019 | 1/3/2019 | 3 | 0 |
Ejercicio 1 del año fiscal 21 | 1/2/2021 | 3 | 0 |
wdx223_Daniel
prueba esta fórmula de columna calculada
IsRepeat = VAR _id = FactTable[PersonID] VAR _tbl = FILTER (FactTable, FactTable[PersonID]= _id) VAR _max = MAXX (_tbl, FactTable[Date]) VAR _2ndMax = MAXX (FILTRO (_tbl, FactTable[Date]<_max), FactTable[Date]) REGRESAR SI (_max <= EDATE (_2ndMax, 12), 1,0)
wdx223_Daniel
prueba esta fórmula de columna calculada
IsRepeat = VAR _id = FactTable[PersonID] VAR _tbl = FILTER (FactTable, FactTable[PersonID]= _id) VAR _max = MAXX (_tbl, FactTable[Date]) VAR _2ndMax = MAXX (FILTRO (_tbl, FactTable[Date]<_max), FactTable[Date]) REGRESAR SI (_max <= EDATE (_2ndMax, 12), 1,0)