Buongiorno,
ho una tabella in cui sono presenti le colonne Targa Rifornita, km al rifornimento e una colonna virtuale km al rifornimento precedente.
Avrei bisogno di ricavarmi nella colonna virtuale km al rifornimento precedente il secondo valore più alto dei km al rifornimento della targa presente nella riga attuale.
praticamente dovrei avere nella colonna virtuali i km che aveva al rifornimento precedente quella targa appena rifornita.
Solved! Go to Solution.
Para obtener en la columna virtual los kilómetros para repostar antes del segundo valor más alto de km para repostar de la matrícula presente en la fila actual, puedes usar una expresión de AppSheet para buscar ese valor:
1. **Crear la columna virtual y nómbrala, por ejemplo, "km hasta repostaje anterior".
2. En la expresión de la columna virtual, necesitarás filtrar los registros de la misma matrícula, ordenar por km hasta repostar y obtener el segundo valor más alto. Puedes utilizar una combinación de las funciones `SELECT`, `ORDERBY`, `INDEX`, y `FILTER`.
Aquí tienes un ejemplo de expresión que podrías usar en AppSheet:
INDEX(
SELECT(
[km hasta repostar],
[Placa Repostada] = [_THISROW].[Placa Repostada],
TRUE
),
2
)
Esta expresión selecciona los valores de la columna "km hasta repostar" donde la "Placa Repostada" es igual a la de la fila actual. Luego ordena estos valores en orden descendente y toma el segundo valor.
Sin embargo, si deseas obtener específicamente el valor justo antes del valor actual (siempre y cuando no sea el segundo mayor, sino el inmediato anterior), la lógica sería un poco diferente.
ANY(
SELECT(
[km hasta repostar],
AND(
[Placa Repostada] = [_THISROW].[Placa Repostada],
[km hasta repostar] < [_THISROW].[km hasta repostar]
),
TRUE
)
)
Este ejemplo selecciona los valores de "km hasta repostar" donde la "Placa Repostada" es igual a la de la fila actual y el valor es menor que el valor actual. `ANY` devuelve uno de esos valores, pero puedes ajustar la lógica para tus necesidades exactas, como ordenar y seleccionar el específico.
Prueba con eso
Para obtener en la columna virtual los kilómetros para repostar antes del segundo valor más alto de km para repostar de la matrícula presente en la fila actual, puedes usar una expresión de AppSheet para buscar ese valor:
1. **Crear la columna virtual y nómbrala, por ejemplo, "km hasta repostaje anterior".
2. En la expresión de la columna virtual, necesitarás filtrar los registros de la misma matrícula, ordenar por km hasta repostar y obtener el segundo valor más alto. Puedes utilizar una combinación de las funciones `SELECT`, `ORDERBY`, `INDEX`, y `FILTER`.
Aquí tienes un ejemplo de expresión que podrías usar en AppSheet:
INDEX(
SELECT(
[km hasta repostar],
[Placa Repostada] = [_THISROW].[Placa Repostada],
TRUE
),
2
)
Esta expresión selecciona los valores de la columna "km hasta repostar" donde la "Placa Repostada" es igual a la de la fila actual. Luego ordena estos valores en orden descendente y toma el segundo valor.
Sin embargo, si deseas obtener específicamente el valor justo antes del valor actual (siempre y cuando no sea el segundo mayor, sino el inmediato anterior), la lógica sería un poco diferente.
ANY(
SELECT(
[km hasta repostar],
AND(
[Placa Repostada] = [_THISROW].[Placa Repostada],
[km hasta repostar] < [_THISROW].[km hasta repostar]
),
TRUE
)
)
Este ejemplo selecciona los valores de "km hasta repostar" donde la "Placa Repostada" es igual a la de la fila actual y el valor es menor que el valor actual. `ANY` devuelve uno de esos valores, pero puedes ajustar la lógica para tus necesidades exactas, como ordenar y seleccionar el específico.
Prueba con eso
Dov'è l'errore?
User | Count |
---|---|
17 | |
11 | |
7 | |
5 | |
5 |