LookUp di Power Apps è una delle funzioni più apprezzate dell'ambiente di sviluppo low-code Microsoft. Questa funzionalità permette infatti di trovare un singolo record in base a criteri di ricerca personalizzati. In questo articolo, approfondiremo cos’è la funzione LookUp di Power Apps, quali caratteristiche la distinguono dalle funzioni Search e Filter, e come utilizzarla nelle nostre app aziendali con un caso d'uso da ricreare in 3 semplici passaggi.
La funzione LookUp di Microsoft Power Apps è una delle funzioni fondamentali per manipolare e gestire i dati in un'applicazione sviluppata all’interno dell’ambiente di sviluppo low-code offerto da Microsoft e svolge un ruolo cruciale nell'aiutare gli utenti a cercare entry specifiche all’interno di grandi volumi di dati.
LookUp consente agli utenti di recuperare informazioni specifiche da una tabella o da una fonte dati, recuperando un singolo record corrispondente a determinati criteri di ricerca ed è utile quando si desidera trovare un record specifico che possa soddisfare determinate condizioni all'interno di un set di dati più ampio, velocizzando e semplificando enormemente il processo di ricerca delle informazioni che ci occorrono.
Quando un utente inserisce un determinato termine di ricerca per trovare righe corrispondenti, la funzione LookUp visualizza eventuali righe che corrisponderanno o il cui testo ha parziale somiglianza con la query inserita.
L’utilizzo di questa funzione per le nostre applicazioni Power Apps garantisce agli utenti ricerche più dinamiche e user-friendly e può semplificare moltissimo la navigazione attraverso i propri dati, consentendo agli utenti di trovare immediatamente ciò di cui hanno bisogno con il minimo dello sforzo e il massimo della precisione.
Fondamentalmente, la funzione LookUp di Power Apps restituisce il primo record da una tabella in base a una o più condizioni o formule, aiutando gli utenti e le organizzazioni a cercare rapidamente i valori corrispondenti che si desiderano. È generalmente utilizzata per ordinare directory di dati importanti memorizzate all'interno dell'organizzazione dell'utente o per riconoscere le parti importanti all'interno delle tabelle correlate.
È molto simile a VLOOKUP e HLOOKUP di Excel, ma più flessibile e copre più ambiti come INDEX MATCH, perfetto se si sta lavorando con più origini dati in un'unica app.
Essenzialmente, i record in una tabella vengono filtrati in base a uno o più criteri specificati da una formula. Quando si esegue la funzione LookUp di Power Apps, la formula viene valutata su ciascun record della tabella. I record che corrispondono ai criteri di ricerca determinati saranno aggiunti alla tabella dei risultati.
È importante notare che se nessun record corrisponde alla formula fornita nella funzione di ricerca, quest’ultima non fornirà nessun risultato.
La sintassi generale della funzione dovrebbe apparire simile a questa:
LookUp (Table*, Formula [, *ReductionFormula*])
O come apparirà nell’interfaccia utente in Power Apps:
LookUp (Source, Condition, Result)
Questa funzione valuta ogni record nella tabella specificata e mantiene solo i record che soddisfano i criteri specificati nella/e formula/e. Andiamo adesso a vedere a cosa corrispondono i parametri delle formule date sopra:
Quando si utilizza la funzione LookUp, è di vitale importanza capire l’interazione tra i vari parametri che contribuiscono a produrre il risultato finale della nostra ricerca. Più formule si specificano, più preciso sarà il risultato.
In Microsoft Power Apps, la funzione LookUp può ricadere in tre tipologie principali differenti in alcuni aspetti e utilizzabili in contesti diversi a seconda delle proprie esigenze. Andiamo a vederli più da vicino e osserviamo cosa li differenzia e in che contesti possiamo utilizzarli.
Questo è il tipo più comune di funzione LookUp. Trova il primo record in una tabella che soddisfa una formula specificata. Può essere utilizzato per trovare un singolo record che corrisponde a uno o più criteri.
Ad esempio, potrebbe essere utilizzata per trovare un cliente specifico in una tabella di dati dei clienti in base al suo ID o al suo nome. La sintassi di base della funzione LookUp come abbiamo già visto è:
LookUp (Source, Condition, Result)
Questa tipologia di LookUp restituirà il primo record che soddisfa la formula specificata. Se nessun record corrisponde ai criteri definiti, verrà restituito un valore vuoto.
La tipologia LookUp PartyList in Power Apps consente di selezionare più record da più tabelle. Ogni riga viene aggiunta alla tabella dei risultati. Fondamentalmente, ogni volta che viene aggiunto un record alla tabella, è possibile cercare un nuovo record nelle tabelle. È importante notare che non è possibile personalizzare il sistema né disabilitare le viste in questa tipologia di LookUp.
Questa tipologia di LookUp è utile quando si desidera selezionare più record da tabelle diverse e aggiungerli a una tabella dei risultati. Tuttavia, poiché non è particolarmente personalizzabile potrebbe non essere adatto per l’utilizzo in scenari più complessi che richiedono un maggiore controllo sull'interfaccia utente.
La sintassi per l’utilizzo della tipologia PartyList è la seguente:
FormContext.getAttribute (arg) .getLSPartyList ()
getlsPartyList è il riferimento all'API client che restituisce un valore booleano per indicare che si tratta di una funzione LookUp di tipo PartyList. Significa che se la funzione di ricerca restituisce true, allora si tratta di una funzione LookUp PartyList.
La tipologia LookUp Regarding è particolarmente utile quando si desidera cercare dati da più tabelle all'interno di un'app Power Apps. Questa funzionalità consente di trovare un singolo record corrispondente a determinati criteri specificati dall'utente.
È un'opzione avanzata che richiede l'abilitazione delle "attività" di una tabella. È particolarmente utile per organizzazioni, team e individui in quanto semplifica significativamente le operazioni di ricerca.
Una volta abilitata, offre una serie di funzionalità avanzate che consentono agli utenti di personalizzare ulteriormente il processo di ricerca e di gestire i risultati ottenuti in modo efficace. Ad esempio utilizzando le API client, gli sviluppatori possono estendere e personalizzare le funzionalità di questa tipologia di ricerca.
Questa tipologia di LookUp supporta anche l'authoring intelligente, consentendo una rapida creazione di app e form.
La funzione LookUp Regarding ha una sintassi specifica che è simile a quella standard, ma include la possibilità di specificare il tipo di ricerca relativa. La sintassi generale è la stessa della funzione LookUp standard, ma include l'opzione per specificare il tipo di ricerca relativa utilizzando un parametro aggiuntivo.
LookUp (Source, Condition, Result, RegardingType)
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.
Ora che abbiamo dato una panoramica generale della funzione Lookup, andiamo a vedere come e con quali condizioni è possibile applicarla per cercare i dati che ci interessano.
A questo proposito prenderemo la tabella di dati qui sotto (che indicheremo come “EmployeesTable”) e la utilizzeremo come riferimento per tutte le modalità di applicazione che andremo ad analizzare.
Per esemplificare la funzione di ricerca con una singola condizione supponiamo di voler trovare il dipendente di nome "Giorgio Neri" e visualizzarne il dipartimento d’appartenenza. Utilizzando la funzione LookUp la sintassi sarebbe:
LookUp(EmployeesTable, Employee Name = "George Blackwell", Department)
Questa formula cerca nella tabella il primo record in cui il campo "EmployeeName" corrisponde a "George Blackwell" e restituisce il valore del campo "Department", in questo caso “Accounting”.
Se invece volessimo utilizzare più condizioni per la nostra ricerca per visualizzare il nome di un dipendente che rispetti i parametri da noi scelti, la sintassi della funzione LookUp potrebbe essere simile a questa:
LookUp(EmployeesTable, Department = Marketing, Salary > 4000, Employee Name)
Il risultato di questa funzione ci restituirà il nome di Anna Brown, l’unica entry della tabella a rispettare entrambi i parametri settati.
Supponiamo invece di voler cercare il valore massimo presente in una colonna all’interno della nostra tabella, in questo caso lo stipendio e sapere a chi è associato. La sintassi che utilizzeremo per la nostra funzione sarà questa:
LookUp(EmployeesTable, Salary = Max (Salary), Employee Name)
La funzione ci restituirà come risultato il nome del dipendente a cui è associato il valore più alto nella colonna “Salary”, in questo caso Mark Redwall.
Come sappiamo, la funzione di ricerca di Power Apps restituisce di solito il primo record di qualsiasi tabella. Tuttavia, se si desidera ottenere l'ultimo record della tabella, è necessario applicare un ordinamento nella tabella dei risultati per restituire l'ultimo record.
La logica dietro a questa operazione è molto semplice, dobbiamo invertire la tabella dei risultati in modo che l'ultimo record della tabella dei risultati diventi il primo.
La sintassi della funzione che andremo a usare sarà questa:
LookUp(Sort(EmployeesTable,ID,ascending), Employee Name)
Il risultato della funzione sarà l’ultima voce della tabella ovvero “George Blackwell”.
Molto spesso LookUp risulta una funzione piuttosto confusionaria per chi si sta appena avvicinando al mondo dello sviluppo di Power Apps e viene spesso scambiata da utilizzatori alle prime armi con alcune delle altre funzioni di ricerca messe a disposizione dall’ambiente di sviluppo di Microsoft, come ad esempio Search o Filter.
Vediamo quindi di chiarire la confusione sull’argomento una volta per tutte e capire cosa differenzia LookUp dalle altre due funzioni sopracitate.
La funzione Filter viene utilizzata per trovare tutti i record in una tabella che soddisfano i criteri della formula. Questo è equivalente a come si utilizzerebbe il filtro di SharePoint o di Excel per restituire più record dall'elenco che corrispondono a uno o più criteri e scartare quelli che non lo fanno.
La funzione Search invece è pensata per cercare record che contengano una stringa e non che soddisfino una formula.
Invece la funzione LookUp, come abbiamo già visto, trova il primo record in una tabella che soddisfi le formule inserite nella funzione. Si usa LookUp per trovare un singolo record che corrisponda a uno o più criteri.
Prendiamo a esempio un elenco di Ticket di Servizio. L'elenco ha un campo di ricerca per una lista di dipendenti a cui è possibile assegnare un Ticket.
Se vogliamo vedere solo i Ticket di Servizio attualmente aperti, Filter è la soluzione giusta, mentre se desideriamo che ci vengano mostrati i ticket che sono stati Assegnati a qualcuno con "Marco" nel loro nome può tornarci più utile la funzione Search.
Se invece si vuole restituire come risultato il numero di telefono del dipendente a cui è assegnato il Ticket di Servizio selezionato nella tua tabella Power Apps, questo sarebbe un buon caso d'uso per la funzione LookUp perché per la nostra ricerca è necessario restituire un singolo record.
Ora che sappiamo come opera la funzione LookUp più nel dettaglio, vediamo insieme un esempio di applicazione della stessa in un possibile scenario reale.
Supponiamo di avere una app che consente agli utenti interni di un’azienda di richiedere l’acquisto e spedizione di attrezzature per l'ufficio e di farle consegnare al loro specifico ufficio.
Come origine dati utilizzeremo in questo caso una lista di SharePoint, ma in ogni caso ricordiamo la possibilità di utilizzare numerose altre fonti dati, come ad esempio Microsoft Excel.
Accediamo al portale di Power Apps con il nostro account Microsoft. Se non ne avete uno, non preoccupatevi. Basteranno pochi click per creare un account e in aggiunta è completamente gratuito.
Una volta ottenuto l’accesso al portale selezioniamo l'opzione "Nuova app" dal menu e scegliamo il tipo di app che desideriamo creare.
Nell'interfaccia di progettazione di Power Apps Studio, trasciniamo e rilasciamo elementi dalla barra degli strumenti come moduli, tabelle, pulsanti e controlli sull'area di progettazione della nostra app e organizziamo gli elementi dell'interfaccia utente in questo modo:
La posizione dell'ufficio e il metodo di spedizione sono disabilitati poiché è in questi specifici campi che utilizzeremo LookUp e non vogliamo consentire l'immissione manuale di dati all’interno di questi due specifici campi.
Ora occupiamoci delle nostre origini dati. In questo particolare caso ci avvarremo dell’utilizzo di SharePoint e organizzeremo i nostri elenchi nel seguente modo:
Il primo sarà una tabella degli ordini dove verrano salvati gli eventuali ordini effettuati dagli utenti e la chiameremo “OrdersTable”.
In secondo luogo avremo un elenco degli uffici disponibili e delle loro posizioni geografiche che denomineremo “OfficesTable”.
Infine per le aziende di spedizioni preferite per le diverse località, creeremo un elenco che denomineremo “ShippersTable”.
Quando il nostro utente finale sta compilando il modulo e seleziona l'ufficio in cui desidera consegnare gli articoli, vogliamo popolare automaticamente gli input della Posizione dell'Ufficio e del Metodo di Spedizione, per farlo possiamo utilizzare la funzione LookUp.
Vogliamo inserire la nostra espressione nella proprietà "Predefinito" dell'input su cui stiamo lavorando, questo significa che il valore di testo predefinito dell'input sarà il risultato della funzione LookUp.
Innanzitutto, per popolare automaticamente la Posizione dell'Ufficio possiamo eseguire una ricerca in OfficesTable, per recuperare la regione, in base al nome dell'ufficio che l'utente seleziona nel modulo.
Quando trasponiamo i nostri valori nel modello, otteniamo:
LookUp(OfficesTable, OfficeName = DeliveryOffice.Selected.OfficeName, Region)
Questo sta chiedendo all'app di:
In secondo luogo, possiamo fare un'altra ricerca nella tabella dei trasportatori per popolare l'input Metodo di Spedizione, in base alla posizione dell'ufficio popolata dalla precedente LookUp. Seguendo di nuovo il modello e inserendo i nostri valori, otteniamo:
LookUp(ShippersTable, Region = OfficeLocation.Text, PreferredShipper)
Questo sta invece chiedendo all'app di:
Ora, quando l'utente cambia l'ufficio di consegna desiderato, i due input per Posizione e Metodo di Spedizione cambieranno automaticamente in base agli elementi selezionati dall'utente.
Concludiamo quindi inserendo la funzione Patch sul nostro pulsante "Salva" per salvare l'ordine nella nostra tabella degli ordini utilizzando la seguente sintassi:
Patch(OrdersTable, Defaults(OrdersTable), {Title: CountRows(OrdersTable) + 1, nome: firstnameInput.Text, cognome: lastnameInput.Text, equipment: equipmentInput.Selected.Value, DeliveryOffice: DeliveryOfficeInput.Selected.OfficeName, ShippingMethod: ShippingMethodInput.Text})
Una volta inserita la funzione, il pulsante “Salva” sarà pienamente funzionante e potremo dedicarci a personalizzare l’estetica della nostra app a piacimento, testarla per verificare la presenza di eventuali errori da correggere o malfunzionamenti e poi distribuirla ai nostri utenti per l’utilizzo immediato.
In sintesi, utilizzare la funzione LookUp in Microsoft Power Apps ci permette di ottenere immediatamente il risultato desiderato nelle nostre ricerche, personalizzare le esperienze utente mostrando agli utilizzatori solo i dati pertinenti e automatizzare i processi all'interno delle proprie app per cercare e utilizzare automaticamente le informazioni che ci sono necessarie.
Applicando formule e criteri specifici per le nostre necessità, possiamo sempre mostrare solo le informazioni o i record necessari e rilevanti per le esigenze dei nostri utenti, senza incappare nelle problematiche comuni della regolare ricerca manuale.
La funzione LookUp in Power Apps viene utilizzata per cercare un singolo record all'interno di una fonte di dati che soddisfi una determinata condizione. Restituisce il primo record che corrisponde ai criteri.
Puoi utilizzare la funzione LookUp in Power Apps fornendo la fonte di dati, la condizione da soddisfare e, facoltativamente, la colonna da recuperare. La sintassi è LookUp(DataSource, Condition, [Column])
.
No, la funzione LookUp in Power Apps è progettata per restituire solo un singolo record. Se più record corrispondono alla condizione, restituirà il primo record trovato.
Se nessun record corrisponde alla condizione in LookUp Power Apps, la funzione restituisce un valore vuoto.
Mentre entrambe le funzioni LookUp e Filter in Power Apps vengono utilizzate per cercare all'interno delle fonti di dati, LookUp restituisce un singolo record, mentre Filter restituisce una tabella con tutti i record che corrispondono ai criteri.
Sì, è possibile utilizzare più condizioni nella funzione LookUp Power Apps combinandole con operatori logici come &&
(AND) e ||
(OR).
La funzione LookUp Power Apps può essere utilizzata con una varietà di fonti di dati, inclusi elenchi SharePoint, database SQL, file Excel e altro ancora.
Per gestire gli errori in LookUp Power Apps, puoi utilizzare la funzione IsBlank()
per verificare se il risultato è vuoto, indicando che non è stato trovato nessun record corrispondente.
Sì, LookUp Power Apps può essere utilizzata per cercare all'interno delle collezioni, proprio come qualsiasi altra fonte di dati, per trovare un record specifico.
La delega in LookUp Power Apps si riferisce alla capacità della funzione di delegare la query alla fonte di dati. Tuttavia, non tutte le fonti di dati supportano la delega, il che può portare al ritorno di dati incompleti se il set di dati è grande.
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.