Filter di Power Apps è un pilastro dell'ecosistema low-code di Microsoft. Questa funzionalità offre agli utenti la possibilità di trovare subito le informazioni che stanno cercando, filtrando grandi volumi di dati all’interno delle applicazioni aziendali. In questo articolo, approfondiremo cos’è e come utilizzare la funzione Filter di Power Apps. Vedremo inoltre un caso d’uso utile per gestire le informazioni presenti in un’app per la gestione dei clienti.
La funzione Filter di Microsoft Power Apps è di gran lunga una delle funzioni più importanti all’interno dell’ambiente di sviluppo low-code offerto da Microsoft Power Platform e svolge un ruolo cruciale nell'aiutare gli utenti a lavorare con grandi volumi di dati.
Consente di cercare tra le tabelle e individuare i record che corrispondono a criteri specifici, rendendo più facile trovare le informazioni di cui si ha bisogno in modo rapido, efficiente e semplice.
La funzione Filter opera esaminando i record in una tabella e verificandoli contro una o più formule impostate. Quando i record soddisfano i criteri specificati, vengono inclusi nell'output, mentre quelli che non lo fanno vengono scartati. In questo modo si possono ridurre efficientemente i tempi di ricerca su vasti set di dati, concentrandosi sui record più rilevanti per le proprie esigenze.
Con la funzione di filtraggio le applicazioni Power Apps possono diventare più dinamiche e user-friendly e utilizzando questo strumento versatile si può semplificare enormemente la navigazione attraverso i propri dati, consentendo agli utenti di trovare ciò di cui hanno bisogno con il minimo dello sforzo e della frustrazione.
La funzione Filter in Power Apps svolge un ruolo critico nel raffinare e restringere i risultati di una ricerca dati visualizzata nella propria app, consentendo di trovare i record in una tabella che soddisfino criteri specifici e garantendo che vengano mostrate solo informazioni rilevanti agli utenti. Questa funzione semplifica la gestione dei dati, risparmiando tempo e sforzi preziosi ai propri dipendenti e utenti.
Quando si utilizza la funzione Filter, si fornisce una tabella e una formula che definiscono le condizioni che ogni record deve soddisfare per essere visualizzato. La funzione valuterà quindi ogni record nella tabella, includendo solo quelli che soddisfano i criteri dati e scartando il resto.
Una funzione di filtro fa le stesse cose che farebbe la funzione di ricerca (che prende essenzialmente una tabella, una stringa di ricerca e le colonne in cui desideri effettuare la ricerca) e aggiunge tutta una serie di elementi importantissimi per massimizzare la raffinazione del processo di ricerca all’interno delle fonti dati che ci interessano.
Utilizzando la funzione di ricerca, tutto ciò che questa funzione fa è prendere il termine di ricerca specifico e controllare le colonne date all’interno della tabella per vedere se c'è una corrispondenza.
Quando invece utilizziamo la funzione Filter, questa prende la logica condizionale e la confronta con ogni riga nella tabella. Se la funzione trova un record che soddisfi le condizioni date in precedenza, restituisce quel record.
Il risultato è una nuova tabella con dati filtrati, che possono essere utilizzati in altri componenti, come gallerie o moduli, all'interno della propria app.
Alcuni esempi pratici di utilizzo della funzione di filtro in Power Apps includono:
Per garantire le migliori prestazioni e il supporto alla delega, è importante fare attenzione alle dimensioni dei set di dati selezionati quando si utilizza la funzione di filtraggio. La delega è fondamentale quando si lavora con grandi insiemi di dati, poiché consente di eseguire il filtraggio sulla fonte dati anziché caricare tutti i record nell'app.
La funzione Filter in Power Apps ci consente di filtrare i record in una tabella in base a uno o più criteri specificati da una formula. La sintassi generale di questa particolare formula dovrebbe apparire simile a questa:
Filter(Table, Formula1 [, Formula2, ...])
Questa funzione valuta ogni record nella tabella specificata e mantiene solo i record che soddisfano i criteri specificati nella/e formula/e.
In questa sintassi, "Table" rappresenta la fonte dati e "Formula1" e "Formula2" definiscono le condizioni che devono essere soddisfatte affinché un record venga incluso. È possibile utilizzare più formule, separate da virgole, per aggiungere complessità e specificità ai criteri di filtraggio che si vogliono includere nella nostra ricerca.
La funzione di filtro ha i seguenti parametri:
Quando si utilizza la funzione di filtraggio, è essenziale comprendere come interagiscono tra di loro i vari parametri che contribuiscono a produrre il risultato finale filtrato. Più formule si specificano, più definito e raffinato sarà il risultato delle proprie ricerche.
Fatta una panoramica generale di come opera la funzione Filter di Microsoft Power Apps, andiamo a vedere insieme come utilizzarla efficacemente, in base a criteri singoli o multipli e con operatori logici.
Quando si filtrano i dati da SharePoint o da altre fonti in base a un singolo criterio, è sufficiente fornire la tabella e la condizione da verificare. Ad esempio, se si dispone di una tabella con i dati dei propri dipendenti e si desidera visualizzare quelli con uno stipendio annuo superiore a 10.000 possiamo scrivere:
Filter(EmployeeTable, AnnualSalary > 10000)
Questa formula restituirà un insieme di record dalla tabella dei dipendenti che soddisfano la condizione data (in questo caso “Salary > 10000”).
Spesso sarà necessario filtrare i dati che si vuole analizzare basandosi su più criteri. In questo tipo di casi, è possibile estendere la funzione di filtraggio con condizioni aggiuntive. Tornando al nostro esempio precedente, per cercare dipendenti con uno stipendio annuo compreso tra 10.000 e 30.000, è possibile scrivere:
Filter(EmployeeTable, AnnualSalary > 10000, Salary < 30000)
Questa formula ci restituirà automaticamente tutti i record dalla tabella dei dipendenti che soddisfino le due condizioni specificate al suo interno.
La funzione Filter di Microsoft Power Apps consente anche di utilizzare operatori logici come “and” e “or” per aumentare la specificità delle nostre ricerche. Diamo un’occhiata a come poter utilizzare i due operatori sopracitati per le nostre necessità di filtraggio dei dati.
Se volessimo usare l’operatore “and” ci basterà scrivere ciascuna condizione come un argomento separato all'interno della funzione di filtro, come nell’esempio proposto qui sotto:
Filter(EmployeeTable, AnnualSalary > 10000, Department = "Accounting")
Questa formula restituirà dipendenti con uno stipendio annuo superiore a 10.000 e che appartengono al dipartimento contabilità (qui indicato con la nomenclatura “Accounting”).
Se invece volessimo utilizzare l’operatore logico “or”, ci basterà combinare le condizioni desiderate utilizzando il simbolo "||" (doppie barre verticali) all'interno di un singolo argomento. Riprendiamo l’esempio precedente modificando solo l’operatore logico utilizzato:
Filter(EmployeeTable, (AnnualSalary > 10000) || (Department = "Accounting"))
Questa formula adesso restituirà tutti i dipendenti con uno stipendio annuo superiore a 10.000 o quelli che appartengono al dipartimento contabilità.
Ora che abbiamo un’idea più chiara di come utilizzare la funzione Filter nelle nostre app, diamo un’occhiata a quelli che sono i casi di utilizzo più comuni di questa particolare funzione all’interno di una business app.
Quando si lavora con le gallerie in Power Apps, spesso è necessario dare agli utenti la possibilità di visualizzare un sottoinsieme di record. Filtrare i record in una galleria è un caso d'uso comune in cui è possibile applicare la funzione di filtro:
Filter(dataSource, searchCriteria)
Qui, dataSource si riferisce alla fonte dati utilizzata, e searchCriteria specifica le condizioni che i record devono soddisfare per essere visualizzati nella galleria.
Se per esempio si desidera visualizzare solo i record con uno stato "Attivo" in una galleria, si potrebbe utilizzare questa formula:
Filter(Projects, Status = "Active")
Allo stesso modo, si può utilizzare la funzione di filtro per visualizzare record specifici nei menu a cascata. Se si ha un menu a discesa con un elenco di dipendenti e si desidera mostrare solo i dipendenti con il titolo di contabile (qui indicato con la nomenclatura “Accountant”), la sintassi della nostra formula sarebbe:
Filter(EmployeeList, Title = "Accountant")
Filtrare i record in base all'input dell'utente è una modalità di ricerca importantissima da implementare per fornire informazioni personalizzate ai tuoi utenti. Quando gli utenti inseriscono i loro criteri in una casella di testo, si può utilizzare la funzione Filter per visualizzare i record pertinenti:
Filter(dataSource, searchCriteria = UserInput.Text)
Poniamo ad esempio di avere una casella di ricerca che consente agli utenti di cercare progetti specifici basati su una particolare parola chiave, la formula apparirebbe in questo modo:
Filter(Projects, TextSearchBox1.Text in Title)
Questa riga farà in modo di far visualizzare agli utenti solo i record contenenti la parola chiave inserita dall'utente che compare nel titolo del progetto.
Dev4Side Software è specializzata nella creazione di app aziendali con Power Apps, riducendo drasticamente i processi di sviluppo e mantenimento delle applicazioni interne.
Operando in maniera verticale sull'intero ecosistema Power Platform di Microsoft, abbiamo sviluppato una ottima competenza su Power Apps che ci permette di offrire soluzioni disegnate su misura ed completamente integrate all'interno del tuo tenant Microsoft 365.
Contattaci per trasformare le tue informazioni in azioni concrete.
Quando si utilizza la funzione di filtraggio in Power Apps di Microsoft Power Platform, è possibile incappare in alcuni errori piuttosto comuni. Questi errori possono spesso essere evitati seguendo le migliori pratiche di testing e controllo qualità e comprendendo le problematiche più frequenti in cui ci si può imbattere nello sviluppo delle proprie app. Facciamo un paio di esempi.
Gli errori di delega si verificano quando la funzione Filter è combinata con un'altra funzione, come ad esempio un'istruzione “if” o l’utilizzo errato di altri operatori logici all’interno della nostra formula.
Per risolvere gli errori di delega, dovremo spostare la funzione interna al di fuori della funzione Filter, consentendo al filtro di applicare i criteri desiderati senza interferenze causate da altre funzioni.
Assicuriamoci sempre di utilizzare il riferimento corretto alla tabella quando desideriamo applicare la funzione filter per selezionare accuratamente i dati che vogliamo cercare.
Facciamo testing rigorosi e controlliamo almeno un paio di volte i nomi delle tabelle, assicurandoci che la tabella con cui stiamo lavorando soddisfi tutti i criteri specificati dalla formula del filtro.
Al fine di migliorare le prestazioni delle proprie Power Apps durante l’utilizzo della funzione Filter, si dovrebbero prendere in considerazione alcune accortezze durante la fase di sviluppo. Ecco qualche esempio di cosa si potrebbe fare.
Quando utilizziamo la funzione filter, consideriamo l'impatto sulle risorse dal lato client. Operazioni come Raggruppa per, Filtra per e Unisci possono aumentare le dimensioni dell’heap di JavaScript sul lato client, causando una sensibile riduzione delle prestazioni.
Cerchiamo di modificare di conseguenza la struttura della nostra app per ridurre al minimo l'impatto di queste operazioni sulle risorse a disposizione del dispositivo client.
Utilizzare formule precise quando si definiscono le parti della propria funzione Filter. Più si è specifici nella selezione dei criteri, più facile sarà per Power Apps elaborare i record e visualizzare risultati accurati.
Utilizziamo gli operatori logici in combinazione con la funzione Filter per cercare di fornire ai nostri utenti un modo semplice per navigare attraverso grandi quantità di dati.
L’utilizzo consapevole e sensato degli operatori logici a nostra disposizione consente l'applicazione di condizioni multiple, garantendo che i record visualizzati dagli utenti soddisfino i criteri di ricerca desiderati.
Per capire come opera la funzione filter, andiamo adesso a vedere un piccolo esempio pratico andandola a implementare nel prototipo di una nostra ipotetica app di gestione dei clienti.
Uno dei migliori modi per utilizzare la funzione di filtro è impostare condizioni in cui è possibile avere diverse corrispondenze attraverso la fonte dati. Per fare ciò, dobbiamo creare un menu a cascata che ci permetta di farlo.
Per questo esempio, consentiamo agli utenti dell'app di filtrare i record in base alla tipologia di abbonamento del nostro cliente. I livelli che abbiamo sono Standard, Silver, Gold e Platinum.
Aggiungiamo quindi un menu a cascata cliccando su Input nella scheda Inserisci.
Se il menu a cascata predefinito sembra essere troppo grande per lo spazio che abbiamo non preoccupiamoci: elementi come questo possono essere facilmente ridimensionati cliccando sui puntini negli angoli e possiamo anche cambiarne i colori in modo che corrispondano al tema che stiamo utilizzando.
Ora, ogni menu a discesa ha un elenco di elementi al suo interno. Per modificare gli elementi nel menu a cascata, tutto ciò che dobbiamo fare è selezionare la proprietà Elementi e digitare tutti gli elementi all'interno delle parentesi quadre. Una volta premuto Invio, potremo vedere gli elementi inseriti nell'elenco a cascata.
Andiamo quindi ad aggiungere gli elementi che vogliamo che appaiano nella nostra app. Oltre ai livelli Standard, Silver, Gold e Platinum, vogliamo anche un'opzione per scegliere tutti gli elementi. Quindi iniziamo con “Tutti” e inseriamo i diversi piani di abbonamento successivamente.
Una volta premuto Invio, gli elementi che abbiamo aggiunto appariranno nel menu a cascata.
Se scegliamo una voce nel nostro menu a cascata, possiamo osservare che al momento non succede nulla. Questo perché non abbiamo ancora applicato la funzione di filter alla nostra app.
Quindi, se scegliamo Standard dal menu a cascata, vogliamo che gli elementi nella nostra galleria mostrino solo gli elementi che sono appartenenti al livello Standard. Questo significa che dobbiamo cambiare questa formula in modo che esegua questa azione.
La cosa interessante di Microsoft Power Apps è che permette di sovrapporre funzioni su funzioni. Questo significa che non dobbiamo eliminare la formula di ricerca già esistente. Invece, possiamo incorporare la nostra funzione di filtro all’interno della formula stessa.
La nostra funzione di ricerca già passa attraverso Table1 mentre cerca il termine di ricerca digitato nel campo di ricerca. Questo è rappresentato da TextInput1.Text. Poi, cerca quel termine di ricerca nelle colonne FirstName, LastName e AgentName.
Aggiungiamo Filter all'inizio della formula, quindi useremo la formula di ricerca come primo argomento.
Il primo argomento che filter cerca normalmente è una sorgente o una tabella, il che ha senso in questo caso perché filtrerà la stessa tabella che stiamo usando per il nostro filtro di ricerca dopo aver finito di cercare il termine di ricerca specifico.
Una volta che abbiamo la sorgente, è il momento di aggiungere la logica condizionale o la formula. Come condizione, vogliamo il livello di sottoscrizione che corrisponde a quello selezionato dal menu a cascata. Se controlliamo gli elementi nel riquadro di sinistra, vediamo che stiamo usando Dropdown2.
Quindi useremo SubscriptionLevel = Dropdown2.Selected.Value. Fondamentalmente, questa formula guarda l'output della ricerca e lo filtra in base al valore selezionato nel menu a cascata delle tipologie di abbonamento creato in precedenza.
Quindi, se ora scegliessimo ad esempio Silver nel menu a cascata, l'intera galleria verrà filtrata e ci mostrerà solo le voci che corrispondono al nostro criterio di filtraggio.
A questo punto, anche se il nostro menu a cascata adesso funziona, se scegliamo l’opzione "Tutti", continuerà a non restituire alcun risultato. Questo perché, in base alla logica che abbiamo creato, la funzione sta cercando solo i livelli di sottoscrizione che abbiamo inserito.
Per risolvere questo problema, aggiungeremo un'istruzione IF che indica che se l'utente seleziona "Tutti" dal menu a cascata, allora non c'è bisogno di applicare questa logica. Se l'utente seleziona qualcos'altro diverso da "Tutti", allora questa logica verrà comunque applicata.
Quindi la nostra istruzione sarà If(Dropdown2.Selected.Value – “Tutti”, true). Questo significa che vogliamo che la logica condizionale restituisca vero se viene selezionato "Tutti". Quindi, aggiungeremo SubscriptionLevel = Dropdown2.Selected.Value in modo che passi attraverso il normale processo di filtraggio se viene selezionato qualcosa di diverso da "Tutti".
Se proviamo e scegliamo "Tutti" nel nostro menu a discesa, vedrai che mostra tutti gli elementi nella nostra galleria.
Ma se scegliamo Standard dal menu a discesa, filtra automaticamente l'intera galleria e ora mostra solo le voci sotto la definizione Standard.
Ora, verifichiamo se entrambe le funzioni di ricerca e filtro funzionano contemporaneamente.
Con Silver selezionato dal menu a discesa, digitiamo il nome di un nostro cliente nella barra di ricerca. Come si può osservare, non restituisce alcun risultato. Questo perché non abbiamo la certezza che il nostro cliente rientri nel livello Silver.
Quindi proviamo lo stesso termine di ricerca utilizzando l’opzione "Tutti". Ora la app sta mostrando il nostro cliente, il che significa che sia la funzione di filtro che quella di ricerca funzionano perfettamente.
In sintesi, utilizzare la funzione Filter in Microsoft Power Apps ci permette di raffinare e restringere i dati presentati agli utenti all'interno delle proprie applicazioni in modo semplice e rapido, migliorando l’esperienza utente e l’efficienza delle nostre app in maniera sensibile.
Applicando formule e criteri specifici, possiamo sempre mostrare solo le informazioni o i record necessari e rilevanti per le esigenze dei nostri utenti, andando a risolvere la frustrante problematica comune del navigare attraverso grossi volumi di dati per trovare ciò che si desidera.
Per implementare il filtraggio in Power Apps, puoi utilizzare la funzione Filter
, che ti permette di creare un set di dati personalizzato basato su criteri specifici. Questa funzione può filtrare dati da varie fonti, tra cui elenchi di SharePoint, file Excel e database SQL, applicando condizioni per restituire solo i record rilevanti.
La sintassi di base per la funzione Filter
in Power Apps è Filter(Source, Condition)
. Qui, "Source" si riferisce alla fonte dati che vuoi filtrare e "Condition" è il criterio che applichi per filtrare i dati. Ad esempio, Filter(Employees, Department = "HR")
restituirà solo i record in cui il campo Department è "HR".
Sì, puoi filtrare con più condizioni in Power Apps utilizzando operatori logici come And
, Or
, e Not
. Ad esempio, per filtrare i dipendenti che sono nel reparto HR e hanno uno stipendio superiore a 50.000€, puoi usare Filter(Employees, Department = "HR" And Salary > 50000)
.
Per filtrare i dati di Power Apps da un elenco SharePoint, utilizza la funzione Filter
e specifica l'elenco SharePoint come fonte dati. Ad esempio, Filter(SharePointListName, FieldName = "Value")
restituirà i record dall'elenco SharePoint specificato in cui il campo corrisponde al valore dato.
Sì, è possibile filtrare dinamicamente una galleria in Power Apps utilizzando controlli di input come dropdown, caselle di testo o cursori. Puoi collegare il valore del controllo di input alla condizione della funzione Filter
, permettendo agli utenti di cambiare dinamicamente i criteri per filtrare i dati visualizzati nella galleria.
Per risolvere i problemi di filtraggio in Power Apps, verifica le connessioni alla fonte dati, assicurati di utilizzare i nomi dei campi e i tipi di dati corretti, e controlla che le condizioni siano impostate correttamente. Inoltre, assicurati che la delega sia supportata dalla fonte dati per le operazioni di filtro che stai eseguendo.
La delega si riferisce al processo in cui Power Apps delega i compiti di elaborazione dei dati alla fonte dati invece di recuperare tutti i record e processarli localmente. Questo è cruciale quando si filtrano grandi set di dati, poiché garantisce che vengano recuperati solo i record rilevanti, migliorando le prestazioni. Tuttavia, non tutte le fonti dati o le funzioni supportano la delega.
Sì, puoi filtrare i dati di Power Apps senza delega, ma questo approccio è adatto solo per set di dati più piccoli a causa dei possibili problemi di prestazioni. Quando la delega non è supportata, Power Apps recupera tutti i record localmente e applica il filtro, il che potrebbe portare a prestazioni lente e limitazioni dell'app con grandi set di dati.
La funzione Search
in Power Apps viene utilizzata per cercare testo all'interno di una colonna specifica, mentre la funzione Filter
applica condizioni specifiche all'intero set di dati. La funzione Search
viene tipicamente utilizzata per ricerche per parole chiave, mentre Filter
è per filtraggi più complessi basati su condizioni.
Sì, puoi combinare le funzioni Filter
e Sort
in Power Apps. Dopo aver filtrato il set di dati, puoi utilizzare la funzione Sort
per ordinare i risultati. Ad esempio, Sort(Filter(Employees, Department = "HR"), Name, Ascending)
filtrerà i dipendenti nel reparto HR e poi li ordinerà per nome in ordine ascendente.
Il team Modern Apps è specializzato nello sviluppo e nell'integrazione all'interno dell'intero ecosistema Microsoft 365. Progettiamo applicazioni native per le piattaforme Microsoft ed Azure e implementiamo processi aziendali che si integrano e massimizzano l'investimento aziendale effettuato con Microsoft 365.