Κοινή χρήση μέσω


Συναρτήσεις Filter, Search και LookUp

Ισχύει για: Εφαρμογές καμβά Ροές επιφάνειας εργασίας Εφαρμογές Power Pages Power Platform βάσει μοντέλου CLI

Εντοπίζει μία ή περισσότερες καρτέλες σε έναν πίνακα.

Παρακολουθήστε αυτό το βίντεο για να μάθετε πώς να χρησιμοποιείτε τις συναρτήσεις Filter, **Search και LookUp:

Σημείωμα

Οι εντολές PAC CLI pac power-fx δεν υποστηρίζουν τη λειτουργία αναζήτησης .

Description

Η συνάρτηση Filter βρίσκει τις καρτέλες ενός πίνακα που ικανοποιούν έναν τύπο. Χρησιμοποιήστε τη συνάρτηση Filter για να βρείτε ένα σύνολο καρτελών που πληρούν ένα ή περισσότερα κριτήρια και να απορρίψετε εκείνες που δεν τα πληρούν.

Η συνάρτηση LookUp εντοπίζει την πρώτη καρτέλα σε έναν πίνακα που ικανοποιεί έναν τύπο. Χρησιμοποιήστε τη συνάρτηση LookUp για να βρείτε μια μεμονωμένη καρτέλα που πληροί ένα ή περισσότερα κριτήρια.

Και στις δύο συναρτήσεις ο τύπος υπολογίζεται για κάθε καρτέλα του πίνακα. Οι καρτέλες που έχουν ως αποτέλεσμα true συμπεριλαμβάνονται στο αποτέλεσμα. Εκτός από τους συνήθεις τελεστές τύπων, μπορείτε να χρησιμοποιήσετε τους τελεστές in και exactin για συμφωνίες δευτερευουσών συμβολοσειρών.

Στον τύπο είναι διαθέσιμα πεδία της καρτέλας που βρίσκεται υπό επεξεργασία τη δεδομένη στιγμή. Χρησιμοποιήστε τον τελεστή ThisRecord ή απλά πεδία αναφοράς με βάση το όνομα, όπως θα κάνατε με οποιαδήποτε άλλη τιμή. Ο τελεστής As μπορεί επίσης να χρησιμοποιηθεί για το όνομα της καρτέλας που υπόκειται σε επεξεργασία και η οποία μπορεί να σας βοηθήσει να κάνετε τον τύπο σας πιο κατανοητό και να κάνετε προσβάσιμες τις ένθετες καρτέλες. Για περισσότερες πληροφορίες, δείτε τα παρακάτω παραδείγματα και την ενότητα εργασία με πεδίο καρτελών.

Η συνάρτηση Search βρίσκει καρτέλες σε έναν πίνακα που περιέχουν μια συμβολοσειρά σε μία από τις στήλες τους. Η συμβολοσειρά μπορεί βρίσκεται οπουδήποτε μέσα στη στήλη. Για παράδειγμα, η αναζήτηση για "rob" ή "bert" θα βρει μια συμφωνία σε μια στήλη που περιέχει "Robert". Η αναζήτηση δεν κάνει διάκριση πεζών-κεφαλαίων. Σε αντίθεση με τις συναρτήσεις Filter και LookUp, η συνάρτηση Search χρησιμοποιεί μία μοναδική συμβολοσειρά για συμφωνία και όχι έναν τύπο.

Η επιλογή "Φιλτράρισμα και αναζήτηση" επιστρέφει έναν πίνακα που περιέχει τις ίδιες στήλες με τον αρχικό πίνακα και τις εγγραφές που ταιριάζουν με τα κριτήρια. Η αναζήτηση επιστρέφει μόνο την πρώτη εγγραφή που βρέθηκε, μετά την εφαρμογή ενός τύπου για τη μείωση της εγγραφής σε μία μόνο τιμή. Εάν δεν βρεθεί καμία καρτέλα, οι συναρτήσεις Filter και Search επιστρέφουν έναν κενό πίνακα και η συνάρτηση LookUp επιστρέφει κενό.

Οι πίνακες είναι μια τιμή Power Apps, ακριβώς όπως μια συμβολοσειρά ή ένας αριθμός. Μπορεί να διαβιβαστεί και να επιστραφεί από συναρτήσεις. Το φίλτρο, η αναζήτηση και η αναζήτηση δεν τροποποιούν έναν πίνακα. Αντί για αυτό, λαμβάνουν έναν πίνακα ως όρισμα και επιστρέφουν έναν πίνακα, μια καρτέλα ή μια μεμονωμένη τιμή από αυτόν. Δείτε εργασία με πίνακες για περισσότερες λεπτομέρειες.

Ανάθεση

Όταν είναι δυνατόν, το Power Apps θα αναθέτει λειτουργίες φίλτρου και ταξινόμησης στην προέλευση δεδομένων και τη σελίδα μέσω των αποτελεσμάτων κατ' απαίτηση. Για παράδειγμα, όταν ξεκινάτε μια εφαρμογή που εμφανίζει ένα στοιχείο ελέγχου Συλλογή γεμάτο δεδομένα, στη συσκευή θα φέρνεται αρχικά μόνο το πρώτο σύνολο καρτελών. Καθώς ο χρήστης θα κάνει κύλιση, θα έρχονται επιπρόσθετα δεδομένα από την προέλευση δεδομένων. Το αποτέλεσμα είναι ταχύτερος χρόνος έναρξης για την εφαρμογή και πρόσβαση σε πολύ μεγάλα σύνολα δεδομένων.

Παρόλα αυτά, η ανάθεση μπορεί να μην είναι πάντα δυνατή. Οι προελεύσεις δεδομένων ποικίλλουν ως προς τις λειτουργίες και τους τελεστές που υποστηρίζουν με ανάθεση. Εάν δεν είναι δυνατή η πλήρης ανάθεση ενός τύπου, το περιβάλλον σύνταξης θα επισημαίνει το τμήμα που δεν μπορεί να ανατεθεί με μια ειδοποίηση. Όταν είναι δυνατόν, εξετάστε το ενδεχόμενο αλλαγής του τύπου προκειμένου να αποφύγετε λειτουργίες και τελεστές που δεν μπορούν να ανατεθούν. Η λίστα ανάθεσης περιγράφει λεπτομερώς τις προελεύσεις δεδομένων και τις λειτουργίες που μπορούν να ανατεθούν.

Εάν η ανάθεση δεν είναι δυνατή, το Power Apps θα αντλεί μόνο ένα μικρό σύνολο καρτελών για εργασία τοπικά. Οι λειτουργίες φιλτραρίσματος και ταξινόμησης θα λειτουργούν σε μειωμένο σύνολο καρτελών. Στη Συλλογή μπορεί να μην είναι διαθέσιμο το πλήρες ιστορικό, κάτι που θα μπορούσε να προκαλέσει σύγχυση στους χρήστες.

Για περισσότερες πληροφορίες, δείτε την ενότητα επισκόπηση ανάθεσης.

Σύνταξη

Φίλτρο(Πίνακας*; Τύπος1 [; *Τύπος2*;... ] )

  • Πίνακας - Υποχρεωτικό. Πίνακας για αναζήτηση.
  • Τύποι- Απαιτείται. Ο τύπος με βάση τον οποίο αξιολογείται κάθε καρτέλα του πίνακα. Η συνάρτηση επιστρέφει όλες τις καρτέλες που έχουν ως αποτέλεσμα true. Μπορείτε να αναφερθείτε σε στήλες στον πίνακα. Εάν παρέχετε περισσότερους από έναν τύπους, τα αποτελέσματα όλων των τύπων συνδυάζονται με την λειτουργία And .

Αναζήτηση(Πίνακας*; Συμβολοσειρά_αναζήτησης;Στήλη1 [ ; *Στήλη2*; ... ] )

  • Πίνακας - Υποχρεωτικό. Πίνακας για αναζήτηση.
  • SearchString - Απαιτείται. Η συμβολοσειρά για την οποία θα εκτελεστεί η αναζήτηση. Εάν είναι κενό ή μια κενή συμβολοσειρά, επιστρέφονται όλες οι καρτέλες.
  • Στήλες - Υποχρεωτικό. Τα ονόματα των στηλών του Πίνακα για την αναζήτηση. Εάν η SearchString βρεθεί μέσα στα δεδομένα οποιασδήποτε από αυτές τις στήλες ως μερική συμφωνία, θα επιστραφεί η πλήρης καρτέλα.

Σημείωμα

Στο Power Apps πριν από την έκδοση 3.24042, τα ονόματα στηλών για τη συνάρτηση Search καθορίστηκαν με μια συμβολοσειρά κειμένου με τη χρήση διπλών εισαγωγικών και, αν συνδεθούν σε μια προέλευση δεδομένων θα ήταν απαραίτητα για να είναι λογικά ονόματα. Για παράδειγμα, χρησιμοποιήθηκε το λογικό όνομα "cr43e_name" με διπλά εισαγωγικά αντί για το εμφανιζόμενο όνομα Name χωρίς εισαγωγικά. Για τις προελεύσεις δεδομένων SharePoint και Excel που περιέχουν ονόματα στηλών με διαστήματα, κάθε διάστημα καθορίστηκε με "_x0020_", για παράδειγμα "Όνομα στήλης" ως "Column_x0020_Name". Μετά από αυτήν την έκδοση, όλες οι εφαρμογές ενημερώθηκαν αυτόματα με τη νέα σύνταξη που περιγράφεται σε αυτό το άρθρο.

LookUp(Πίνακας*; Τύπος [; Τύπος_μείωσης] )

  • Πίνακας - Υποχρεωτικό. Πίνακας για αναζήτηση. Στο UI, η σύνταξη εμφανίζεται ως πηγή πάνω από το πλαίσιο λειτουργίας.
  • Τύπος - Απαιτείται. Ο τύπος με βάση τον οποίο αξιολογείται κάθε καρτέλα του πίνακα. Η συνάρτηση επιστρέφει την πρώτη καρτέλα που έχει ως αποτέλεσμα true. Μπορείτε να αναφερθείτε σε στήλες στον πίνακα. Στο περιβάλλον εργασίας χρήστη, η σύνταξη εμφανίζεται ως συνθήκη επάνω από το πλαίσιο συναρτήσεων.
  • ReductionFormula - Προαιρετικό. Αυτός ο τύπος αξιολογείται στην καρτέλα που βρέθηκε και στη συνέχεια μειώνει την καρτέλα σε μια μοναδική τιμή. Μπορείτε να αναφερθείτε σε στήλες στον πίνακα. Εάν δεν χρησιμοποιήσετε αυτήν την παράμετρο, η συνάρτηση επιστρέφει την πλήρη καρτέλα από τον πίνακα. Στο περιβάλλον εργασίας χρήστη, η σύνταξη εμφανίζεται ως αποτέλεσμα επάνω από το πλαίσιο συναρτήσεων.

Παραδείγματα

Τα ακόλουθα παραδείγματα χρησιμοποιούν την προέλευση δεδομένων IceCream:

Προέλευση δεδομένων Ice cream.

Τύπος Description Result
Φίλτρο(Παγωτό, Παραγγελία > 0) Επιστρέφει καρτέλες όπου η τιμή της στήλης OnOrder είναι μεγαλύτερο από το μηδέν. Σειρά φίλτρου ενεργού.
Φίλτρο(Παγωτό, Ποσότητα + Παραγγελία > 225) Επιστρέφει καρτέλες όπου το άθροισμα των στηλών Quantity και OnOrder είναι μεγαλύτερο από 225. Ποσότητα και σειρά φίλτρων.
Φίλτρο (Παγωτό, "σοκολάτα" στο Lower (Flavor)) Επιστρέφει καρτέλες όπου η λέξη "chocolate" εμφανίζεται στο όνομα Flavor, ανεξάρτητα από κεφαλαία ή πεζά γράμματα. Φιλτράρισμα στο χαμηλότερο.
Φίλτρο (Παγωτό, Ποσότητα < 10 &&; Παραγγελία < 20) Επιστρέφει καρτέλες όπου η τιμή Quantity είναι μικρότερο από 10 και η τιμή OnOrder είναι μικρότερη από 20. Δεν υπάρχουν καρτέλες που πληρούν αυτά τα κριτήρια, οπότε επιστρέφεται ένας κενός πίνακας. Φίλτρο στην ποσότητα.
Αναζήτηση(Παγωτό; "choc", Γεύση) Επιστρέφει καρτέλες όπου η συμβολοσειρά "choc" εμφανίζεται στο όνομα Γεύση, ανεξάρτητα από κεφαλαία ή πεζά γράμματα. Αναζήτηση στοιχείων.
Αναζήτηση(Παγωτό; "; Γεύση) Επειδή ο όρος αναζήτησης είναι κενός, επιστρέφονται όλες οι καρτέλες. Αναζήτηση όλων των στοιχείων.
LookUp (Παγωτό, Γεύση = "Σοκολάτα", Ποσότητα) Αναζητά μια καρτέλα με Flavor ίση με "Chocolate", από τις οποίες υπάρχει μία. Για την πρώτη καρτέλα που βρέθηκε, επιστρέφει την τιμή Quantity αυτής της καρτέλας. 100
LookUp (Παγωτό, Ποσότητα > 150, Ποσότητα + Παραγγελία) Αναζητά μια καρτέλα με Quantity μεγαλύτερη από 150, από τις οποίες υπάρχουν πολλές. Για την πρώτη καρτέλα που βρέθηκε, η οποία είναι "Vanilla" Flavor, επιστρέφει το άθροισμα των στηλών Quantity και OnOrder. 250
LookUp(Παγωτό; Γεύση = "Φιστίκι", OnOrder) Αναζητά μια καρτέλα με Flavor ίση με "Pistachio", από τις οποίες δεν υπάρχει καμία. Επειδή δεν βρίσκεται καμία, η συνάρτηση LookUp επιστρέφει κενό. λευκός
LookUp (Παγωτό, Γεύση = "Βανίλια") Αναζητά μια καρτέλα με Flavor ίση με "Vanilla", από τις οποίες υπάρχει μία. Δεδομένου ότι δεν δόθηκε τύπος μείωσης, επιστρέφεται ολόκληρη η καρτέλα. { Flavor: "Vanilla", Quantity: 200, OnOrder: 75 }

Φιλτράρισμα με στήλες επιλογής

Το παρακάτω παράδειγμα χρησιμοποιεί τον πίνακα Λογαριασμός στο Microsoft Dataverse ως προέλευση δεδομένων. Αυτό το παράδειγμα δείχνει τον τρόπο Φιλτραρίσματος λίστας λογαριασμών με βάση τις επιλεγμένες τιμές στοιχείων ελέγχου Combo box:

Βήμα προς βήμα

  1. Άνοιγμα κενής εφαρμογής.

  2. Προσθέστε μια νέα οθόνη επιλέγοντας την επιλογή Νέα οθόνη.

  3. Στην καρτέλα Εισαγωγή, επιλέξτε Gallery και, στη συνέχεια, επιλέξτε Κατακόρυφα.

  4. Στην καρτέλα Ιδιότητες του δεξιού τμήματος παραθύρου, ανοίξτε το παράθυρο Προέλευση δεδομένων, στη συνέχεια, επιλέξτε Λογαριασμοί.

  5. (Προαιρετικό) Στη λίστα Διάταξη, κάντε διαφορετικές επιλογές.

  6. Στην καρτέλα Εισαγωγή, επιλέξτε Είσοδος και, στη συνέχεια, επιλέξτε Combo box. Επαναλάβετε το βήμα για να προσθέσετε ακόμη δύο στοιχεία ελέγχου σύνθετου πλαισίου.

  7. Για κάθε στοιχείο ελέγχου Combo box, στην καρτέλα Ιδιότητες του δεξιού τμήματος παραθύρου, ανοίξτε το παράθυρο Προέλευση δεδομένων και στη συνέχεια, επιλέξτε Λογαριασμοί Επιλέξτε Επεξεργασία δίπλα στην επιλογή Πεδία και, στη συνέχεια, επιλέξτε τις τιμές κύριου κειμένου και SearchField. Το κύριο κείμενο πρέπει να είναι η στήλη επιλογών που θέλετε να προσθέσετε στο σύνθετο πλαίσιο. Επαναλάβετε το βήμα για τα ακόμη δύο στοιχεία ελέγχου σύνθετου πλαισίου.

    Ορισμός τιμών σύνθετου πλαισίου.

  8. Τώρα επιλέξτε στοιχείο Gallery και ορίστε την ιδιότητα Items στον ακόλουθο τύπο:

    Filter(Accounts,
     'Industry' = ComboBox3.Selected.Industry Or IsBlank(ComboBox3.Selected.Industry),
     'Relationship Type' = ComboBox2.Selected.'Relationship Type' Or
       IsBlank(ComboBox2.Selected.'Relationship Type'),
     'Preferred Method of Contact' = ComboBox1.Selected.'Preferred Method of Contact' Or
       IsBlank(ComboBox1.Selected.'Preferred Method of Contact'))
    

    Προέλευση δεδομένων λογαριασμών.

Εμπειρία αναζήτησης χρήστη

Τα ακόλουθα παραδείγματα χρησιμοποιούν την προέλευση δεδομένων IceCream:

Σε πολλές εφαρμογές, μπορείτε να πληκτρολογήσετε έναν ή περισσότερους χαρακτήρες σε ένα πλαίσιο αναζήτησης για να φιλτράρετε μια λίστα εγγραφών σε ένα μεγάλο σύνολο δεδομένων. Καθώς πληκτρολογείτε, η λίστα εμφανίζει μόνο εκείνες τις εγγραφές που ικανοποιούν τα κριτήρια αναζήτησης.

Τα παραδείγματα στο υπόλοιπο μέρος αυτού του άρθρου εμφανίζουν τα αποτελέσματα αναζήτησης σε μια λίστα Πελάτες που περιέχουν αυτά τα δεδομένα:

Αναζήτηση για πελάτες.

Για να δημιουργήσετε αυτήν την προέλευση δεδομένων ως συλλογή, δημιουργήστε ένα στοιχείο ελέγχου Button και ορίστε την ιδιότητα OnSelect σε αυτόν τον τύπο:

ClearCollect(Πελάτες, Πίνακας ({ Όνομα: "Fred Garcia", Εταιρεία: "Northwind Traders" }; { Όνομα: "Cole Miller", Εταιρεία: "Contoso" }; { Όνομα: "Glenda Johnson", Εταιρεία: "Contoso" }; { Όνομα: "Mike Collins", Εταιρεία: "Adventure Works" }; { Όνομα: "Colleen Jones", Εταιρεία: "Adventure Works" }) )

Όπως και σε αυτό το παράδειγμα, μπορείτε να εμφανίσετε μια λίστα εγγραφών σε ένα στοιχείο ελέγχου Συλλογή στο κάτω μέρος μιας οθόνης. Κοντά στο επάνω μέρος της οθόνης, μπορείτε να προσθέσετε ένα στοιχείο ελέγχου Text input, που ονομάζεται SearchInput, ώστε οι χρήστες να μπορούν να καθορίσουν τις εγγραφές που τους ενδιαφέρουν.

Αναζήτηση με χρήση της εισόδου αναζήτησης.

Καθώς ο χρήστης πληκτρολογεί χαρακτήρες στο στοιχείο ελέγχου SearchInput, τα αποτελέσματα της συλλογής φιλτράρονται αυτόματα. Στην περίπτωση αυτή, η συλλογή έχει ρυθμιστεί για την εμφάνιση καρτελών για τις οποίες το όνομα του πελάτη (όχι το όνομα της εταιρείας) ξεκινά με τη σειρά των χαρακτήρων στο στοιχείο SearchInput. Εάν ο χρήστης πληκτρολογήσει co στο πλαίσιο αναζήτησης, η συλλογή εμφανίζει αυτά τα αποτελέσματα:

Η αναζήτηση με ξεκινά με.

Για να φιλτράρετε με βάση τη στήλη Όνομα, ορίστε την ιδιότητα Items του στοιχείου ελέγχου "Συλλογή" σε έναν από αυτούς τους τύπους:

Τύπος Περιγραφή Αποτέλεσμα
Φίλτρο(Πελάτες, StartsWith(Όνομα; SearchInput.Text)) Φιλτράρει την προέλευση δεδομένων Customers για εγγραφές στις οποίες η συμβολοσειρά αναζήτησης εμφανίζεται στην αρχή της στήλης Name. Η δοκιμή δεν κάνει διάκριση πεζών-κεφαλαίων. Εάν ο χρήστης πληκτρολογήσει co στο πλαίσιο αναζήτησης, η συλλογή εμφανίζει Colleen Jones και Cole Miller. Η συλλογή δεν εμφανίζει το όνομα Mike Collins επειδή η στήλη Name για τη συγκεκριμένη εγγραφή δεν ξεκινά με τη συμβολοσειρά αναζήτησης. Φιλτράρισμα με έναρξη με.
Φίλτρο(Πελάτες, SearchInput.Text στο όνομα) Φιλτράρει την προέλευση δεδομένων Customers για εγγραφές στις οποίες η συμβολοσειρά αναζήτησης εμφανίζεται οπουδήποτε στη στήλη Name. Η δοκιμή δεν κάνει διάκριση πεζών-κεφαλαίων. Εάν ο χρήστης πληκτρολογήσει co στο πλαίσιο αναζήτησης, η συλλογή εμφανίζει τα ονόματα Colleen Jones,Cole Miller και Mike Collins, επειδή η συμβολοσειρά αναζήτησης εμφανίζεται κάπου στη στήλη Name όλων αυτών των καρτελών. Φιλτράρισμα με δεδομένα εισόδου αναζήτησης.
Αναζήτηση(Πελάτες; SearchInput.Text; Όνομα) Παρόμοια με τη χρήση του τελεστή in, η συνάρτηση Search αναζητεί μια αντιστοίχιση σε οποιοδήποτε σημείο μέσα στη στήλη Όνομα κάθε εγγραφής. Πρέπει να περικλείσετε τη στήλη ονόματος σε διπλά εισαγωγικά. Αναζήτηση πελατών.

Μπορείτε να επεκτείνετε την αναζήτησή σας για να συμπεριλάβετε τη στήλη Εταιρεία και τη στήλη Όνομα:

Τύπος Περιγραφή Αποτέλεσμα
Φίλτρο(Πελάτες, StartsWith(Όνομα; SearchInput.Text) || StartsWith(Εταιρεία, SearchInput.Text) ) Φιλτράρει την πηγή δεδομένων Πελάτες για εγγραφές στις οποίες είτε η στήλη Όνομα είτε η στήλη Εταιρία ξεκινά με τη συμβολοσειρά αναζήτησης (για παράδειγμα, co). Ο ||τελεστής είναι true, εάν οποιαδήποτε συνάρτηση StartsWith είναι true. Φιλτράρισμα πελατών, έναρξη με.
Φίλτρο(Πελάτες, SearchInput.Text στο όνομα || SearchInput. Κείμενο στην εταιρεία) Φιλτράρει την προέλευση δεδομένων Company για εγγραφές στις οποίες είτε η στήλη Name, είτε η στήλη Company περιέχει οπουδήποτε τη συμβολοσειρά αναζήτησης (για παράδειγμα, co). Φιλτράρισμα πελατών δεδομένα εισόδου αναζήτησης.
Αναζήτηση(Πελάτες, SearchInput.Text; Όνομα, Εταιρεία) Παρόμοια με τη χρήση του τελεστή in, η συνάρτηση Search εκτελεί αναζήτηση στην προέλευση δεδομένων Πελάτες για εγγραφές στις οποίες είτε η στήλη Όνομα είτε η στήλη Εταιρεία περιέχει οπουδήποτε τη συμβολοσειρά αναζήτησης (για παράδειγμα, co). Η ανάγνωση και εγγραφή της συνάρτησης Search είναι πιο εύκολη από εκείνη της συνάρτησης Filter, αν θέλετε να καθορίσετε πολλές στήλες και πολλούς τελεστές in.  Αναζήτηση πελατών με δεδομένα εισόδου αναζήτησης.