Funzione ER FILTER
La funzione FILTER
restituisce l'elenco specificato come un valore Elenco di record dopo che la query è stata modificata in modo da filtrare per la condizione specificata.
Sintassi
FILTER (list, condition)
Argomenti
list
: Elenco di record
Il percorso valido di un'origine dati del tipo di dati Elenco di record.
condition
: Booleano
Un'espressione condizionale valida utilizzata per filtrare i record dell'elenco specificato.
Valori restituiti
Elenco di record
L'elenco risultante di record.
Note sull'utilizzo
Diversamente dalla funzione WHERE, la condizione specificata viene applicata a livello di database a qualsiasi origine dati della creazione di report elettronici (ER) del tipo di Table records. L'elenco e la condizione possono essere definite mediante le tabelle e le relazioni.
Se uno o entrambi gli argomenti configurati per questa funzione (list
e condition
) non consentono di convertire questa richiesta nella chiamata SQL diretta, al momento della progettazione viene generata un'eccezione. Questa eccezione informa l'utente che list
o condition
non può essere usato per eseguire query sul database.
Nota
La funzione FILTER
si comporta in modo diverso dalla funzione WHERE
quando la funzione VALUEIN
viene utilizzata per specificare i criteri di selezione.
- Se la funzione
VALUEIN
viene utilizzata nell'ambito della funzioneWHERE
e il secondo argomento diVALUEIN
fa riferimento a un'origine dati che non restituisce alcun record, viene considerato il valore booleano False cheVALUEIN
restituisce. Pertanto, l'espressioneWHERE(Vendors, VALUEIN(Vendors.VendGroup, VendGroups, VendGroups.VendGroup))
non restituisce alcun record fornitore se l'origine dati VendGroups non restituisce record di gruppi di fornitori. - Se la funzione
VALUEIN
viene utilizzata nell'ambito della funzioneFILTER
e il secondo argomento diVALUEIN
fa riferimento a un'origine dati che non restituisce alcun record, viene ignorato il valore booleano False cheVALUEIN
restituisce. Pertanto, l'espressioneFILTER(Vendors, VALUEIN(Vendors.VendGroup, VendGroups, VendGroups.VendGroup))
restituisce tutti i record fornitore dell'origine dati Vendors anche se l'origine dati VendGroups non restituisce record di gruppi di fornitori.
Esempio 1
Se viene configurato Vendor come origine dati ER che fa riferimento alla tabella VendTable, l'espressione FILTER (Vendors, Vendors.VendGroup = "40")
restituisce un elenco solo dei fornitori che appartengono al gruppo 40.
Esempio 2
Se Vendor viene configurato come origine dati ER che fa riferimento alla tabella VendTable e se parmVendorBankGroup viene configurato come origine dati ER che restituisce un valore del tipo di dati Stringa, l'espressione FILTER ( Vendor.'<Relations'.VendBankAccount, Vendor.'<Relations'.VendBankAccount.BankGroupID = parmVendorBankGroup)
restituisce un elenco costituito solo dai conti fornitore che appartengono a un gruppo bancario specifico.
Esempio 3
Si immette un'origine dati DS del tipo Campo calcolato e contiene l'espressione SPLIT ("A,B,C", ",")
. Quindi si inserisce un'altra espressione, FILTER( DS, DS.Value = "B")
. Quando si tenta di salvare questa espressione nel designer della formula ER, viene generata la seguente eccezione: "Errore di convalida: non è possibile eseguire query sull'espressione di elenco della funzione FILTER".
Risorse aggiuntive
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per