Κατανόηση πινάκων και καρτελών σε εφαρμογές καμβά

Σε Power Apps, μπορείτε να δημιουργήσετε μια εφαρμογή καμβά που έχει πρόσβαση σε πληροφορίες σε Microsoft Excel, SharePoint, SQL Server και πολλές άλλες προελεύσεις που αποθηκεύουν δεδομένα σε εγγραφές και πίνακες. Για να εργαστείτε πιο αποτελεσματικά με αυτό το είδος δεδομένων, εξετάστε τις έννοιες που αποτελούν αυτές τις δομές.

  • Μια εγγραφή περιέχει μία ή περισσότερες κατηγορίες πληροφοριών σχετικά με ένα άτομο, μια θέση ή ένα πράγμα. Για παράδειγμα, μια καρτέλα μπορεί να περιέχει το όνομα, τη διεύθυνση ηλεκτρονικού ταχυδρομείου και τον αριθμό τηλεφώνου ενός πελάτη. Άλλα εργαλεία αναφέρονται σε μια εγγραφή ως "γραμμή" ή "στοιχείο".
  • Ένας πίνακας περιέχει μία ή περισσότερες εγγραφές που περιέχουν τις ίδιες κατηγορίες πληροφοριών. Για παράδειγμα, ένας πίνακας μπορεί να περιέχει τα ονόματα, τις διευθύνσεις ηλεκτρονικού ταχυδρομείου και τους αριθμούς τηλεφώνου 50 πελατών.

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

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

  • για να ενημερώσετε μια εγγραφή σε έναν πίνακα, καθορίζοντας αυτόν τον πίνακα ως ένα από τα πολλά ορίσματα για τη συνάρτηση Patch
  • για να προσθέσετε, να καταργήσετε και να μετονομάσετε στήλες σε έναν πίνακα, καθορίζοντας αυτόν τον πίνακα ως όρισμα για τη συνάρτηση AddColumns, DropColumns ή RenameColumns. Καμία από αυτές τις συναρτήσεις δεν τροποποιεί τον αρχικό πίνακα. Αντί για αυτό, η συνάρτηση επιστρέφει έναν άλλο πίνακα με βάση τα άλλα ορίσματα που καθορίζετε.

Στοιχεία ενός πίνακα

Στοιχεία πίνακα.

Εγγραφές

Κάθε εγγραφή περιέχει τουλάχιστον μία κατηγορία πληροφοριών για ένα άτομο, μια θέση ή ένα πράγμα. Το παραπάνω παράδειγμα δείχνει μια εγγραφή για κάθε προϊόν (Chocolate, Bread, και Water) και μια στήλη για κάθε κατηγορία πληροφοριών (Price, Quantity on Hand και Quantity on Order).

Σε έναν τύπο, μπορείτε να αναφερθείτε στην ίδια την εγγραφή, έξω από το περιβάλλον ενός πίνακα, χρησιμοποιώντας άγκιστρα. Για παράδειγμα, η εγγραφή { Name: "Strawberries", Price: 7.99 } δεν έχει συσχετιστεί με έναν πίνακα. Σε αυτό το παράδειγμα, τα ονόματα πεδίων, όπως Name και Price , δεν περικλείονται σε διπλά εισαγωγικά.

Πεδία

Το πεδίο είναι ένα μεμονωμένο τμήμα πληροφοριών σε μια εγγραφή. Μπορείτε να οπτικοποιήσετε αυτό το είδος πεδίου ως τιμή σε μια στήλη για μια συγκεκριμένη εγγραφή.

Όπως ακριβώς με ένα στοιχείο ελέγχου, αναφέρεστε σε ένα πεδίο μιας εγγραφής, χρησιμοποιώντας τον τελεστή. στην καρτέλα. Για παράδειγμα, το First(Products). Name επιστρέφει το πεδίο Name για την πρώτη εγγραφή στον πίνακα Products.

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

Columns

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

  • Όνομα
  • Τιμή
  • Διαθέσιμη ποσότητα
  • Ποσότητα στην παραγγελία

Το όνομα της στήλης απεικονίζει τα πεδία σε αυτή τη στήλη.

Όλες οι τιμές σε μια στήλη έχουν τον ίδιο τύπο δεδομένων. Στο προηγούμενο παράδειγμα, η στήλη "Quantity on Hand" περιέχει πάντα έναν αριθμό και δεν μπορεί να περιέχει μια συμβολοσειρά, όπως "12 μονάδες", για μία εγγραφή. Η τιμή οποιουδήποτε πεδίου μπορεί επίσης να είναι κενή.

Μπορεί να έχετε αναφερθεί σε στήλες ως "πεδία" σε άλλα εργαλεία.

Σημείωμα

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

Πίνακας

Ένας πίνακας περιλαμβάνει μία ή περισσότερες εγγραφές, καθεμία με πολλαπλά πεδία που έχουν συνεπή ονόματα σε όλες τις εγγραφές.

Χρησιμοποιείτε το όνομα πίνακα για να αναφερθείτε σε οποιονδήποτε πίνακα είναι αποθηκευμένος σε μια προέλευση δεδομένων ή μια συλλογή. Μπορείτε επίσης να διαβιβάσετε το όνομα του πίνακα σε συναρτήσεις που λαμβάνουν πίνακες ως ορίσματα. Μια συνάρτηση ή ένας τύπος μπορεί επίσης να επιστρέψει πίνακες.

Όπως φαίνεται στο παρακάτω παράδειγμα, μπορείτε να εκφράσετε έναν πίνακα σε έναν τύπο χρησιμοποιώντας τη συνάρτηση Table με ένα σύνολο εγγραφών, το οποίο μπορείτε να εκφράσετε με άγκιστρα:

Table( { Value: "Strawberry" }, { Value: "Vanilla" } )

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

[ "Strawberry", "Vanilla" ]

Τύποι πίνακα

Στο Excel και Power Apps, χρησιμοποιείτε τύπους για να χειριστείτε αριθμούς και συμβολοσειρές κειμένου με παρόμοιους τρόπους:

  • Στο Excel, πληκτρολογήστε μια τιμή, όπως 42, στο κελί A1 και, στη συνέχεια, πληκτρολογήστε έναν τύπο, όπως A1+2, σε ένα άλλο κελί για να εμφανίσετε την τιμή 44.
  • Σε Power Apps, ορίστε την ιδιότητα Default ιδιότητα Slider1 σε 42 και ορίστε την ιδιότητα Text μιας ετικέτας σε Slider1.Value + 2 για να εμφανίσετε την τιμή 44.

Και στις δύο περιπτώσεις, η υπολογιζόμενη τιμή αλλάζει αυτόματα εάν αλλάξετε τις τιμές των ορισμάτων (για παράδειγμα, τον αριθμό στο κελί A1 ή την τιμή του Slider1).

Παρομοίως, μπορείτε να χρησιμοποιήσετε τύπους για την πρόσβαση και τον χειρισμό δεδομένων σε πίνακες και εγγραφές. Μπορείτε να χρησιμοποιήσετε τα ονόματα των πινάκων ως ορίσματα σε μερικούς τύπους, όπως Min(Catalog, Price), για να εμφανίσετε τη χαμηλότερη τιμή στη στήλη Price του πίνακα Catalog. Άλλοι τύποι παρέχουν ολόκληρους πίνακες ως επιστρεφόμενες τιμές, όπως ο τύπος RenameColumns(Catalog, "Price", "Cost"), που επιστρέφει όλες τις εγγραφές από τον πίνακα Catalog αλλά αλλάζει το όνομα της στήλης Price σε Cost.

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

Ας δούμε ορισμένα απλά παραδείγματα.

  1. Προσθέστε μια κενή εφαρμογή για ένα τηλέφωνο και μετά ένα κατακόρυφο στοιχείου ελέγχου Συλλογή που περιέχει άλλα στοιχεία ελέγχου.

    Από προεπιλογή, η οθόνη εμφανίζει κείμενο κράτησης θέσης από έναν πίνακα με το όνομα CustomGallerySample. Η ιδιότητα Items του στοιχείου ελέγχου Συλλογή της οθόνης ορίζεται αυτόματα σε αυτόν τον πίνακα.

    Συλλογή.

    Σημείωμα

    Ορισμένα στοιχεία ελέγχου αναδιατάσσονται και διευρύνονται για λόγους απεικόνισης.

  2. Αντί να ρυθμίσετε την ιδιότητα Items με το όνομα ενός πίνακα, ορίστε την σε έναν τύπο που περιλαμβάνει το όνομα του πίνακα ως όρισμα, όπως σε αυτό το παράδειγμα:

    Sort(CustomGallerySample, SampleHeading, SortOrder.Descending)

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

    Ταξινόμηση για συλλογή.

  3. Ορίστε την ιδιότητα Items σε έναν τύπο που λαμβάνει τον τύπο από το προηγούμενο βήμα ως όρισμα και επιστρέφει έναν πίνακα, όπως στο παρακάτω παράδειγμα:

    FirstN(Sort(CustomGallerySample, SampleHeading, SortOrder.Descending), 2)

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

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

    FirstN για συλλογή.

Συναρτήσεις πίνακα και ιδιότητες στοιχείων ελέγχου

Εξετάστε τη χαμηλότερη συνάρτηση. Εάν η μεταβλητή καλώς ήρθατε περιέχει τη συμβολοσειρά "Hello, World", ο τύπος Χαμηλότερος (Καλώς ορίσατε) επιστρέφει την τιμή "Hello, World". Αυτή η συνάρτηση δεν αλλάζει την τιμή σε αυτή τη μεταβλητή. Η συνάρτηση Lower είναι μια καθαρή συνάρτηση καθώς επεξεργάζεται μόνο την είσοδο και παράγει δεδομένα εξόδου. Δεν έχει παρενέργειες. Όλες οι συναρτήσεις στο Excel και οι περισσότερες συναρτήσεις στο Power Apps είναι καθαρές συναρτήσεις, το οποίο σημαίνει ότι το βιβλίο εργασίας ή η εφαρμογή επανυπολογίζονται αυτόματα.

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

  • Sort, Filter - Ταξινόμηση και φιλτράρισμα εγγραφών.
  • FirstN, LastN - Επιστρέφει τις πρώτες N ή τις τελευταίες N εγγραφές του πίνακα.
  • Abs, Sqrt, Round, RoundUp, RoundDown - Εκτελέστε αριθμητικές λειτουργίες σε κάθε εγγραφή ενός πίνακα μίας στήλης, με αποτέλεσμα έναν πίνακα αποτελεσμάτων μίας στήλης.
  • Left, Mid, Right, Replace, Substitute, Trim, Lower, Upper, Proper - Εκτελέστε χειρισμοί συμβολοσειρών σε κάθε εγγραφή ενός πίνακα μίας στήλης, με αποτέλεσμα έναν πίνακα συμβολοσειρών μίας στήλης.
  • Len - Για μια στήλη συμβολοσειρών, επιστρέφει έναν πίνακα μίας στήλης που περιέχει το μήκος κάθε συμβολοσειράς.
  • Concatenate - Συνενώνει πολλές στήλες συμβολοσειρών, αποδίδοντας έναν πίνακα συμβολοσειρών μίας στήλης.
  • AddColumns, DropColumns, RenameColumns, ShowColumns - Εκτελέστε χειρισμό στήλης του πίνακα, με αποτέλεσμα έναν νέο πίνακα με διαφορετικές στήλες.
  • Distinct - Καταργεί τις διπλότυπες εγγραφές.
  • Shuffle - Αναδιατάσσει τις εγγραφές με τυχαία σειρά.
  • HashTags - Αναζητά hashtag σε μια συμβολοσειρά.
  • Errors - Παρέχει πληροφορίες σφάλματος όταν εργάζεστε με μια προέλευση δεδομένων.

Πολλές από αυτές τις συναρτήσεις λαμβάνουν έναν πίνακα μίας στήλης ως εισαγωγή τους. Εάν ένας ολόκληρος πίνακας έχει μόνο μία στήλη, μπορείτε να την καθορίσετε με βάση το όνομα. Εάν ένας πίνακας έχει πολλές στήλες, μπορείτε να καθορίσετε μία από αυτές τις στήλες χρησιμοποιώντας τη σύνταξη Table.Column. Για παράδειγμα, το Products.Name επιστρέφει τον πίνακα μίας στήλης με μόνο τιμές Name από τον πίνακα Προϊόντα.

Μπορείτε να αναδιαμορφώσετε πλήρως έναν πίνακα, όπως θέλετε, χρησιμοποιώντας τη συνάρτηση AddColumns, RenameColumns, ShowColumns ή DropColumns. Και πάλι, αυτές οι συναρτήσεις αλλάζουν μόνο την έξοδο τους και όχι την προέλευσή τους.

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

  • Items - Ισχύει για συλλογές, πλαίσιο λίστας και σύνθετα πλαίσια. Αυτή η ιδιότητα καθορίζει τον πίνακα που εμφανίζεται στη συλλογή ή τη λίστα.
  • SelectedItems - Ισχύει για πλαίσια λίστας και σύνθετα πλαίσια. Αυτή η ιδιότητα ορίζει τον πίνακα των στοιχείων που επέλεξε ο χρήστης εάν είναι ενεργοποιημένο το SelectMultiple .

Τύποι συμπεριφοράς

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

  • Collect, Clear, ClearCollect - Δημιουργεί συλλογές, τις διαγράφει και προσθέτει δεδομένα σε αυτές.
  • Patch - Τροποποιεί ένα ή περισσότερα πεδία σε μια εγγραφή.
  • Update, UpdateIf - Ενημερώνει τις εγγραφές που ταιριάζουν με ένα ή περισσότερα κριτήρια που καθορίζετε.
  • Remove, RemoveIf - Διαγράφει τις εγγραφές που ταιριάζουν με ένα ή περισσότερα κριτήρια που καθορίζετε.

Τύποι εγγραφής

Μπορείτε επίσης να δημιουργήσετε έναν τύπο που υπολογίζει δεδομένα για μια μεμονωμένη εγγραφή, λαμβάνει μια μεμονωμένη εγγραφή ως όρισμα και παρέχει μια μεμονωμένη εγγραφή ως επιστρεφόμενη τιμή. Επιστρέφοντας στο παράδειγμα συλλογής, χρησιμοποιήστε την ιδιότητα Gallery1.Selected για να εμφανίσετε πληροφορίες από οποιαδήποτε εγγραφή επιλέγει ο χρήστης σε αυτήν τη συλλογή.

  1. Προσθέσετε ένα Κουμπί και ορίστε την ιδιότητα OnSelect σε αυτόν τον τύπο:
    Collect( SelectedRecord, Gallery1.Selected )

  2. Επιλέξτε το κουμπί ενώ κρατάτε πατημένο το πλήκτρο Alt.

  3. Στο μενού Αρχείο, επιλέξτε Συλλογές.

    Συλλογή SelectedRecord.

Αυτός ο τύπος επιστρέφει μια εγγραφή που περιλαμβάνει όχι μόνο τα δεδομένα από την εγγραφή που είναι επιλεγμένη τη συγκεκριμένη στιγμή στη συλλογή αλλά και κάθε στοιχείο ελέγχου σε αυτή τη συλλογή. Για παράδειγμα, η εγγραφή περιέχει μια στήλη SampleText, η οποία ταιριάζει με τη στήλη SampleText στον αρχικό πίνακα και μια στήλη Subtitle1, η οποία αντιπροσωπεύει την ετικέτα που εμφανίζει τα δεδομένα από αυτήν τη στήλη. Επιλέξτε το εικονίδιο του πίνακα στη στήλη Subtitle1 για να αναλύσετε αυτά τα δεδομένα.

Σημείωμα

Η στήλη Subtitle1 μπορεί να ονομάζεται Subtitle2 ή παρόμοια εάν προσθέσετε στοιχεία διαφορετικά από εκείνα που καθορίζει αυτό το θέμα.

Τώρα που έχετε την επιλεγμένη εγγραφή, μπορείτε να εξαγάγετε μεμονωμένα πεδία από αυτή χρησιμοποιώντας τον τελεστή .

  1. Προσθέστε ένα στοιχείο ελέγχου Ετικέτα και μετακινήστε το κάτω από τη συλλογή και το κουμπί.

  2. Ορίστε την ιδιότητα Text της ετικέτας σε αυτή την παράσταση:
    "Επιλεγμένο: " & Gallery1.Selected.SampleHeading

    Ιδιότητα κειμένου με ενημερωμένη ετικέτα.

Πήρατε την ιδιότητα Selected , η οποία είναι μια εγγραφή και εξαγάγατε την ιδιότητα SampleHeading από αυτή.

Μπορείτε επίσης να χρησιμοποιήσετε μια εγγραφή ως κοντέινερ γενικής χρήσης για τις σχετικές καθορισμένες τιμές.

  • Εάν δημιουργείτε έναν τύπο για τις συναρτήσεις UpdateContext και Navigate, χρησιμοποιήστε μια εγγραφή για να συγκεντρώσετε τις μεταβλητές περιβάλλοντος που θέλετε να ενημερώσετε.
  • Χρησιμοποιήστε την ιδιότητα Updates σε ένα στοιχείο ελέγχου Φόρμα επεξεργασίας για να συγκεντρώσετε τις αλλαγές που κάνει ο χρήστης σε μια φόρμα.
  • Χρησιμοποιήστε τη συνάρτηση Patch για να ενημερώσετε μια προέλευση δεδομένων αλλά και για να συγχωνεύσετε εγγραφές.

Σε αυτές τις περιπτώσεις, η εγγραφή δεν ήταν ποτέ μέρος ενός πίνακα.

Συναρτήσεις εγγραφής και ιδιότητες στοιχείων ελέγχου

Συναρτήσεις που επιστρέφουν εγγραφές:

  • FirstN, LastN - Επιστρέφει την πρώτη ή την τελευταία εγγραφή ή εγγραφές του πίνακα.
  • Lookup - Επιστρέφει την πρώτη εγγραφή από έναν πίνακα που συμφωνεί με ένα ή περισσότερα κριτήρια.
  • Patch - Ενημερώνει μια προέλευση δεδομένων ή συγχωνεύει εγγραφές.
  • Defaults - Επιστρέφει προεπιλεγμένες τιμές μιας προέλευσης δεδομένων.

Ιδιότητες που επιστρέφουν εγγραφές:

  • Selected - Ισχύει για συλλογές και πλαίσια λίστας. Επιστρέφει την τρέχουσα επιλεγμένη εγγραφή.
  • Updates - Ισχύει για συλλογές. Συγκεντρώνει μαζί όλες τις αλλαγές που κάνει ένας χρήστης σε μια φόρμα καταχώρησης δεδομένων.
  • Update - Ισχύει για στοιχεία ελέγχου εισαγωγής, όπως τα στοιχεία ελέγχου εισαγωγής κειμένου και τα ρυθμιστικά. Ρυθμίζει μεμονωμένες ιδιότητες για τη συλλογή για να τις συγκεντρώσει.

Πεδίο εφαρμογής εγγραφής

Ορισμένες συναρτήσεις λειτουργούν με την αξιολόγηση ενός τύπου σε όλες τις εγγραφές ενός πίνακα, μία εγγραφή κάθε φορά. Χρησιμοποιείτε το αποτέλεσμα του τύπου με διαφορετικούς τρόπους για κάθε συνάρτηση:

  • AddColumns - Χρησιμοποιήστε τον τύπο για να λάβετε την τιμή για το νέο πεδίο που προσθέτετε.
  • Average, Max, Min, Sum, StdevP, VarP - Χρησιμοποιήστε τον τύπο για να λάβετε την τιμή που θέλετε να συναθροίσετε.
  • Filter, Lookup - Χρησιμοποιήστε τον τύπο για να αποφασίσετε εάν η εγγραφή πρέπει να είναι μέρος της εξόδου.
  • Concat - Χρησιμοποιήστε τον τύπο για να αποφασίσετε ποιες συμβολοσειρές θα συνενώνετε.
  • Distinct - Χρησιμοποιήστε τον τύπο για να επιστρέψετε μια τιμή που σας βοηθά να βρείτε διπλότυπες εγγραφές.
  • ForAll - Χρησιμοποιήστε τον τύπο για να επιστρέψετε οποιαδήποτε τιμή, πιθανώς με παρενέργειες.
  • Sort - Χρησιμοποιήστε τον τύπο για να λάβετε την τιμή κατά την οποία θα ταξινομήσετε τις εγγραφές.
  • Με - Χρησιμοποιήστε τον τύπο για να επιστρέψετε οποιαδήποτε τιμή, πιθανώς με δευτερεύουσες επιδράσεις.

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

Για παράδειγμα, εξετάστε έναν πίνακα προϊόντων:

Παράδειγμα προϊόντων.

Για να δημιουργήσετε αυτό το παράδειγμα πίνακα στην εφαρμογή σας, εισαγάγετε ένα κουμπί, ορίστε την ιδιότητά του OnSelect ιδιότητα σε αυτόν τον τύπο και, στη συνέχεια, επιλέξτε το κουμπί (κάντε κλικ ενώ κρατάτε πατημένο το πλήκτρο Alt στο Power Apps Studio):

Set( Products,
    Table(
        { Product: "Widget",    'Quantity Requested': 6,  'Quantity Available': 3 },
        { Product: "Gadget",    'Quantity Requested': 10, 'Quantity Available': 20 },
        { Product: "Gizmo",     'Quantity Requested': 4,  'Quantity Available': 11 },
        { Product: "Apparatus", 'Quantity Requested': 7,  'Quantity Available': 6 }
    )
)

Για να ελέγξετε εάν οποιοδήποτε από αυτά τα προϊόντα έχει περισσότερο αίτημα από αυτό που είναι διαθέσιμο, χρησιμοποιήστε αυτόν τον τύπο:

Filter( Products, 'Quantity Requested' > 'Quantity Available' )

Το πρώτο όρισμα στο Filter είναι ο πίνακας εγγραφών στον οποίο θα εργαστούμε. Το δεύτερο όρισμα είναι μια φόρμουλα. Η συνάρτηση Filter δημιουργεί ένα πεδίο εγγραφής για την αξιολόγηση αυτού του τύπου. Τα πεδία κάθε εγγραφής είναι διαθέσιμα, όπως Προϊόν, Ποσότητα που ζητήθηκε και Διαθέσιμη ποσότητα. Το αποτέλεσμα της σύγκρισης αποφασίζει αν κάθε εγγραφή θα πρέπει να είναι μέρος του αποτελέσματος της συνάρτησης:

Φιλτραρισμένος πίνακας.

Μπορείτε να προσθέσετε σε αυτό το παράδειγμα υπολογίζοντας πόσο από κάθε προϊόν πρέπει να παραγγείλετε:

AddColumns( 
    Filter( Products, 'Quantity Requested' > 'Quantity Available' ), 
    "Quantity To Order", 'Quantity Requested' - 'Quantity Available'
)

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

Προσθήκη στηλών.

Τέλος, μπορείτε να μειώσετε τον πίνακα αποτελεσμάτων μόνο στις στήλες που θέλετε:

ShowColumns(
    AddColumns(
        Filter( Products, 'Quantity Requested' > 'Quantity Available' ),
        "Quantity To Order", 'Quantity Requested' - 'Quantity Available'
    ),
    "Product",
    "Quantity To Order"
)

Ενημερωμένος πίνακας.

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

Αποσαφήνιση

Τα ονόματα πεδίων που προσθέτετε με την εμβέλεια εγγραφών παρακάμπτουν τα ίδια ονόματα από κάποιο άλλο σημείο της εφαρμογής. Όταν συμβαίνει αυτό, εξακολουθείτε να έχετε πρόσβαση σε τιμές εκτός της εμβέλειας εγγραφών χρησιμοποιώντας τον @ τελεστή αποσαφήνισης :

  • Για πρόσβαση σε τιμές από ένθετες εμβέλειες εγγραφών, χρησιμοποιήστε τον @ τελεστή με το όνομα του πίνακα που χρησιμοποιείτε, χρησιμοποιώντας αυτό το μοτίβο:
    Table[@FieldName]
  • Για πρόσβαση σε καθολικές τιμές, όπως προελεύσεις δεδομένων, συλλογές και μεταβλητές περιβάλλοντος, χρησιμοποιήστε το μοτίβο [@ObjectName] (χωρίς ονομασία πίνακα).

Εάν ο πίνακας στον οποίο χρησιμοποιείτε είναι μια παράσταση, όπως Filter(Table, ... ), δεν μπορείτε να χρησιμοποιήσετε τον τελεστή αποσαφήνισης. Μόνο η εσωτερική εμβέλεια εγγραφής μπορείτε να αποκτήσει πρόσβαση σε πεδία από αυτή την παράσταση πίνακα, χωρίς να χρησιμοποιήσει τον τελεστή αποσαφήνισης.

Για παράδειγμα, φανταστείτε τη συλλογή X:

Συλλογή Χ.

Δημιουργείτε αυτήν τη συλλογή χρησιμοποιώντας τον τύπο ClearCollect( X, [1, 2] ).

Και μια άλλη συλλογή Y:

Συλλογή Υ.

Δημιουργείτε αυτήν τη συλλογή χρησιμοποιώντας τον τύπο ClearCollect( Y, ["A", "B"] ).

Επίσης, ορίστε μια μεταβλητή περιβάλλοντος με το όνομα Value με αυτόν τον τύπο: UpdateContext( {Value: "!"} )

Ας τα συνδυάσουμε όλα. Σε αυτό το περιβάλλον, ο παρακάτω τύπος:

Ungroup(
    ForAll( X,
        ForAll( Y,
            Y[@Value] & Text( X[@Value] ) & [@Value]
        )
    ),
    "Value"
)

παράγει αυτόν τον πίνακα:

Πίνακας XY.

Τι τρέχει εδώ; Η εξωτερική συνάρτηση ForAll ορίζει μια εμβέλεια εγγραφής για το X, επιτρέποντας την πρόσβαση στο πεδίο Τιμή κάθε εγγραφής καθώς επεξεργάζεται. Μπορείτε να αποκτήσετε πρόσβαση σε αυτή χρησιμοποιώντας απλώς τη λέξη Value ή χρησιμοποιώντας το X[@Value].

Η εσωτερική συνάρτηση ForAll ορίζει μια άλλη εμβέλεια εγγραφής για το Y. Δεδομένου ότι αυτός ο πίνακας έχει επίσης ένα καθορισμένο πεδίο Τιμή, η χρήση του πεδίου Τιμή εδώ αναφέρεται στο πεδίο στην εγγραφή του Y και όχι πλέον στο πεδίο από το X. Για να αποκτήσετε πρόσβαση στο πεδίο Value του X, πρέπει να χρησιμοποιήσετε τη μεγαλύτερη έκδοση με τον τελεστή αποσαφήνισης.

Δεδομένου ότι το Y είναι η εσωτερική εμβέλεια εγγραφής, η πρόσβαση στα πεδία αυτού του πίνακα δεν απαιτεί αποσαφήνιση, επομένως, μπορείτε να χρησιμοποιήσετε αυτόν τον τύπο με το ίδιο αποτέλεσμα:

Ungroup(
    ForAll( X,
        ForAll( Y,
            Value & Text( X[@Value] ) & [@Value]
        )
    ),
    "Value"
)

Όλες οι εμβέλειες της εγγραφής ForAll παρακάμπτουν την καθολική εμβέλεια. Η μεταβλητή περιβάλλοντος Value που ορίσατε δεν είναι διαθέσιμη με βάση το όνομα χωρίς τον τελεστή αποσαφήνισης. Για να αποκτήσετε πρόσβαση σε αυτήν την τιμή, χρησιμοποιήστε το [@Value].

Η συνάρτηση Ungroup εξομαλύνει το αποτέλεσμα, επειδή ότι οι ένθετες συναρτήσεις ForAll έχουν ως αποτέλεσμα έναν ένθετο πίνακα αποτελεσμάτων.

Πίνακες μίας στήλης

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

ShowColumns( Products, "Product" )

Αυτός ο τύπος παράγει αυτόν τον πίνακα μονής στήλης:

Πίνακας μονής στήλης.

Για μια πιο σύντομη εναλλακτική λύση, καθορίστε τον Table.Column, που εξάγει τον πίνακα μίας στήλης μόνο Στήλης από τον Πίνακα. Για παράδειγμα, αυτός ο τύπος παράγει ακριβώς το ίδιο αποτέλεσμα με τη χρήση του ShowColumns.

Products.Product

Ενσωματωμένες εγγραφές

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

{ Name: "Chocolate", Price: 3.95, 'Quantity on Hand': 12, 'Quantity on Order': 10 }

Μπορείτε επίσης να ενσωματώσετε τύπους μέσα σε άλλους τύπους, όπως φαίνεται σε αυτό το παράδειγμα:

{ Name: First(Products).Name, Price: First(Products).Price * 1.095 }

Μπορείτε να κάνετε ένθεση εγγραφών ενθέτοντας άγκιστρα, όπως φαίνεται σε αυτό το παράδειγμα:

{ 'Quantity': { 'OnHand': ThisItem.QuantOnHand, 'OnOrder': ThisItem.QuantOnOrder } }

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

Σημειώστε ότι η τιμή της στήλης Price δεν περιλαμβάνει ένα σύμβολο νομίσματος, όπως το σύμβολο του δολαρίου. Αυτή η μορφοποίηση εφαρμόζεται όταν εμφανίζεται η τιμή.

Ενσωματωμένοι πίνακες

Δημιουργήστε έναν πίνακα χρησιμοποιώντας τη συνάρτηση Table και ένα σύνολο εγγραφών. Μπορείτε να εκφράσετε τον πίνακα στην αρχή αυτού του θέματος, χρησιμοποιώντας τον εξής τύπο:

Table( 
	{ Name: "Chocolate", Price: 3.95, 'Quantity on Hand': 12, 'Quantity on Order': 10 },
	{ Name: "Bread", Price: 4.95, 'Quantity on Hand': 34, 'Quantity on Order': 0 },
	{ Name: "Water", Price: 4.95, 'Quantity on Hand': 10, 'Quantity on Order': 0 } 
)

Μπορείτε επίσης να κάνετε ένθεση πινάκων:

Table( 
	{ Name: "Chocolate", 
	  'Quantity History': Table( { Quarter: "Q1", OnHand: 10, OnOrder: 10 },
	                             { Quarter: "Q2", OnHand: 18, OnOrder: 0 } ) 
	}
)

Πίνακες ενσωματωμένης τιμής

Δημιουργήστε πίνακες μίας στήλης καθορίζοντας τιμές σε αγκύλες. Ο πίνακας που προκύπτει έχει μία μόνο στήλη, με το όνομα Value.

Για παράδειγμα, το [ 1, 2, 3, 4 ] είναι ισοδύναμο με το Table( { Value: 1 }, { Value: 2 }, { Value: 3 }, { Value: 4 } ) και επιστρέφει αυτόν τον πίνακα:

Ενσωματωμένος πίνακας.