Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
3 years ago

Rellene con varias condiciones

Queridos todos,

Quiero lograr un relleno con varias condiciones. Mi tabla se ve así:


El nombre de la tabla es "Prueba". Tiene las columnas "Fecha de cambio" que es una Fecha, Columna de índice, Título de medida y Spalte 2 que contiene valores de ahorro. Spalte 2 solo contiene un valor en cada fecha donde se produce un guardado y cambia la categoría. Así que hay algunas lagunas. Quiero una nueva columna que mire en qué fecha en "Fecha de cambio" ocurre un valor en Spalte 2 y luego completa el valor que ocurre. Sin embargo, con dos condiciones. En primer lugar, el relleno solo debe ocurrir para aquellas fechas que son posteriores a la entrada no en blanco y, en segundo lugar, deben detenerse antes de la fecha de la siguiente entrada no en blanco en la siguiente categoría. Luego, en la siguiente categoría, el valor también debe completarse, pero nuevamente deben detenerse antes de la fecha de la siguiente entrada no en blanco en la siguiente categoría, que sería IL 3c y así sucesivamente. También agregué una columna de índice para todas las categorías si esto simplifica las cosas. El procedimiento debe realizarse para cada título de medida individualmente.

A continuación se muestra una imagen de una tabla con un filtro establecido solo en un título de medida. Mi problema es que mi FillUpValue no puede hacer las condiciones basadas en la fecha y llena todos los valores ... La parada en la categoría IL 4b es correcta, ya que ya no hay un valor no en blanco en Spalte 2.



La columna de relleno debería verse así:

Aquí puede ver que en IL 1 solo existen dos valores, ya que todos los valores anteriores a la primera entrada de esa categoría se cancelan y solo existe otro valor entre la fecha en IL 1 y la siguiente Fecha del valor no en blanco en Spalte 2. En IL 2 solo existe un valor ya que no hay fechas entre la fecha de cambio y la siguiente entrada no en blanco en Spalte 2. En IL 3c, el valor se rellena ya que no existen otros valores que no estén en blanco, de modo que todas las fechas iguales o posteriores al valor no en blanco en IL 3 c se rellenan.


Aquí está mi código acutal para la columna que no funciona:

FillUpValue =
DÓNDE CurrentTitle = Prueba[Título de la medida]
DÓNDE CurrentDate = Prueba[Fecha de cambio]
DÓNDE CurrentIndex = Prueba[Columna de índice]
DÓNDE CurrentValue = Prueba[Columna 2]
DÓNDE NextValueDate =
CALCULAR (
MIN ( Prueba[Fecha de cambio] ),
Prueba[Columna 2] <> ESPACIO EN BLANCO (),
Prueba[Fecha de cambio] > CurrentDate,
Prueba[Título de la medida] = CurrentTitle
)
DÓNDE NextValueIndex =
CALCULAR (
..MAX ( Prueba[Columna de índice] ),
Prueba[Fecha de cambio] = NextValueDate,
Prueba[Título de la medida] = CurrentTitle
)
DÓNDE NextIndex = SI(ISBLANK(CurrentValue), CurrentIndex, CurrentIndex+1)
DEVOLUCIÓN
SI (
ISBLANK ( CurrentValue ),
CALCULAR (
LASTNONBLANK ( Prueba[Columna 2], 0 ),
FILTRO (
Prueba,
Prueba[Título de la medida] = CurrentTitle
&& Prueba[Columna de índice] = CurrentIndex
&& Prueba[Fecha de cambio] <= Prueba[Fecha de cambio] + (NextIndex - CurrentIndex)
&& NO ISBLANK ( Prueba[Columna 2] )
)
),
CurrentValue
)


¡Gracias a todos por su ayuda!!!
Mejor Tilla ❤️

1 Reply