Función FILTER de ER
La función FILTER
devuelve la lista especificada como un valor Lista de registros después de que se haya cambiado la consulta para que filtre por la condición especificada.
Sintaxis
FILTER (list, condition)
Argumentos
list
: Lista de registros
La ruta válida de un origen de datos del tipo de datos Lista de registros.
condition
: Booleano
Una expresión condicional válida que se utiliza para filtrar registros de la lista especificada.
Valores de retorno
Lista de registros
La lista de registros resultante.
Notas de uso
Esta función difiere de la función DONDE, ya que la condición especificada se aplica a cualquier origen de datos de Informes electrónicos (ER) del tipo Registros de la tabla en el nivel de la base de datos. La lista y la condición se pueden definir mediante tablas y relaciones.
Si uno o ambos argumentos configurados para esta función (list
y condition
) no permite que esta solicitud se traduzca para la llamada directa de SQL, se produce una excepción en tiempo de diseño. Esta excepción informa al usuario que list
o condition
no se pueden usar para consultar la base de datos.
Nota
La función FILTER
se comporta de manera diferente a la función WHERE
cuando la función VALUEIN
se utiliza para especificar los criterios de selección.
- Si la función
VALUEIN
se utiliza en el alcance de la funciónWHERE
y el segundo argumento deVALUEIN
se refiere a una fuente de datos que no devuelve registros, se considera el valor booleano Falso que devuelveVALUEIN
. Por tanto, la expresiónWHERE(Vendors, VALUEIN(Vendors.VendGroup, VendGroups, VendGroups.VendGroup))
no devuelve registros de proveedores si la fuente de datos VendGroups no devuelve registros de grupos de proveedores. - Si la función
VALUEIN
se utiliza en el alcance de la funciónFILTER
y el segundo argumento deVALUEIN
se refiere a una fuente de datos que no devuelve registros, se ignora el valor booleano Falso que devuelveVALUEIN
. Por tanto, la expresiónFILTER(Vendors, VALUEIN(Vendors.VendGroup, VendGroups, VendGroups.VendGroup))
devuelve todos los registros de proveedores de la fuente de datos Proveedores si el origen de datos VendGroups no devuelve registros de grupos de proveedores.
Ejemplo 1
Si Proveedor se configura como origen de datos de ER que hace referencia a la tabla VendTable, la expresión FILTER (Vendors, Vendors.VendGroup = "40")
devuelve una lista solo de proveedores que pertenece al grupo de proveedores 40.
Ejemplo 2
Si Proveedor se configura como origen de datos de ER que hace referencia a la tabla VendTable, y si parmVendorBankGroup que está configurado como un origen de datos de ER que devuelve un valor del tipo de datos Cadena, la expresión FILTER ( Vendor.'<Relations'.VendBankAccount, Vendor.'<Relations'.VendBankAccount.BankGroupID = parmVendorBankGroup)
devuelve una lista solo de cuentas de proveedores que pertenecen a un grupo bancario específico.
Ejemplo 3
Especifica un origen de datos DS del tipo Campo calculado y contiene la expresión SPLIT ("A,B,C", ",")
. Luego especifica otra expresión, FILTER( DS, DS.Value = "B")
. Cuando intenta guardar esta expresión en el diseñador de fórmulas de ER, se produce la siguiente excepción: "Error de validación: la expresión de lista de la función FILTER no es consultable".
Recursos adicionales
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de