Συναρτήσεις AddColumns, DropColumns, RenameColumns και ShowColumns
Ισχύει για: Εφαρμογές καμβά Ροές επιφάνειας εργασίας Εφαρμογές Power Platform βάσει μοντέλου CLI
Διαμορφώνει έναν πίνακα, προσθέτοντας, απορρίπτοντας, μετονομάζοντας και επιλέγοντας τις στήλες του.
Η συνάρτηση **ForAll μπορεί επίσης να χρησιμοποιηθεί για τη διαμόρφωση ενός πίνακα, επιστρέφοντας έναν πίνακα νέων καρτελών που δημιουργούνται από υπάρχουσες στήλες.
Επισκόπηση
Αυτές οι συναρτήσεις διαμορφώνουν έναν πίνακα, προσαρμόζοντας τις στήλες του:
- Μειώστε έναν πίνακα που περιέχει πολλές στήλες σε μία μόνο στήλη για χρήση με συναρτήσεις μίας στήλης, όπως η Lower ή η Sqrt.
- Προσθέστε μια υπολογιζόμενη στήλη σε έναν πίνακα (για παράδειγμα, μια στήλη Συνολική τιμή που εμφανίζει τα αποτελέσματα του πολλαπλασιασμού μιας στήλης Ποσότητα με μια στήλη Τιμή μονάδας).
- Μετονομάστε μια στήλη σε κάτι πιο χαρακτηριστικό, για εμφάνιση στους χρήστες ή για χρήση σε τύπους.
Ένας πίνακας είναι μια τιμή στο Power Apps, όπως ακριβώς και μια συμβολοσειρά ή ένας αριθμός. Μπορείτε να καθορίσετε έναν πίνακα ως όρισμα σε έναν τύπο και οι συναρτήσεις μπορούν να επιστρέψουν έναν πίνακα ως αποτέλεσμα.
Σημείωμα
Οι συναρτήσεις που περιγράφονται σε αυτό το θέμα δεν τροποποιούν τον αρχικό πίνακα. Αντί για αυτό, λαμβάνουν αυτόν τον πίνακα ως όρισμα και επιστρέφουν έναν νέο πίνακα έχοντας εφαρμόσει έναν μετασχηματισμό. Για περισσότερες πληροφορίες δείτε Εργασία με πίνακες.
Δεν μπορείτε να τροποποιήσετε τις στήλες μιας προέλευσης δεδομένων με τη χρήση αυτών των συναρτήσεων. Πρέπει να τροποποιήσετε τα δεδομένα στην προέλευσή τους. Μπορείτε να προσθέσετε στήλες σε μια συλλογή με τη συνάρτηση Collect. Για περισσότερες πληροφορίες δείτε Εργασία με προελεύσεις δεδομένων.
Description
Η συνάρτηση AddColumns προσθέτει μια στήλη σε έναν πίνακα και ένας τύπος ορίζει τις τιμές αυτής της στήλης. Οι υπάρχουσες στήλες παραμένουν αμετάβλητες.
Ο τύπος αξιολογείται για κάθε εγγραφή του πίνακα.
Στον τύπο είναι διαθέσιμα πεδία της καρτέλας που βρίσκεται υπό επεξεργασία τη δεδομένη στιγμή. Χρησιμοποιήστε τον τελεστή ThisRecord ή απλά πεδία αναφοράς με βάση το όνομα, όπως θα κάνατε με οποιαδήποτε άλλη τιμή. Ο τελεστής As μπορεί επίσης να χρησιμοποιηθεί για το όνομα της καρτέλας που υπόκειται σε επεξεργασία και η οποία μπορεί να σας βοηθήσει να κάνετε τον τύπο σας πιο κατανοητό και να κάνετε προσβάσιμες τις ένθετες καρτέλες. Για περισσότερες πληροφορίες, δείτε τα παρακάτω παραδείγματα και την ενότητα εργασία με πεδίο καρτελών.
Η συνάρτηση DropColumns εξαιρεί στήλες από έναν πίνακα. Όλες οι άλλες στήλες παραμένουν αμετάβλητες. Το DropColumns εξαιρεί τις στήλες και το ShowColumns περιλαμβάνει στήλες.
Χρησιμοποιήστε τη συνάρτηση RenameColumns για να μετονομάσετε μία ή περισσότερες στήλες ενός πίνακα, παρέχοντας τουλάχιστον ένα ζεύγος ορισμάτων που καθορίζουν το όνομα μιας στήλης που περιέχει ο πίνακας (το παλιό όνομα που θέλετε να αντικαταστήσετε) και το όνομα μιας στήλης που δεν περιέχει ο πίνακας (το νέο όνομα που θέλετε να χρησιμοποιήσετε). Το παλιό όνομα πρέπει να υπάρχει ήδη στον πίνακα και το νέο όνομα δεν πρέπει να υπάρχει. Κάθε όνομα στήλης μπορεί να εμφανίζεται μόνο μία φορά στη λίστα ορισμάτων είτε ως παλιό είτε ως νέο όνομα στήλης. Για να μετονομάσετε μια στήλη σε ένα υπάρχον όνομα στήλης, πρώτα καταργήστε την υπάρχουσα στήλη με τη συνάρτηση DropColumns ή μετονομάστε την υπάρχουσα στήλη ενσωματώνοντας μια συνάρτηση RenameColumns εντός μιας άλλης.
Η συνάρτηση ShowColumns περιλαμβάνει στήλες ενός πίνακα και απορρίπτει όλες τις άλλες στήλες. Μπορείτε να χρησιμοποιήσετε τη ShowColumns για να δημιουργήσετε έναν πίνακα μίας στήλης από έναν πίνακα πολλών στηλών. Το ShowColumns περιλαμβάνει στήλες και το DropColumns εξαιρεί στήλες.
Για όλες αυτές τις συναρτήσεις, το αποτέλεσμα είναι ένας νέος πίνακας στον οποίο έχει εφαρμοστεί ο μετασχηματισμός. Ο αρχικός πίνακας δεν τροποποιείται. Δεν μπορείτε να τροποποιήσετε έναν υπάρχοντα πίνακα με έναν τύπο. Τα SharePoint, Microsoft Dataverse, SQL Server και άλλες προελεύσεις δεδομένων παρέχουν εργαλεία για την τροποποίηση των στιλών λιστών, πινάκων και πινάκων που συχνά αναφέρονται ως σχήμα. Οι συναρτήσεις σε αυτό το άρθρο μετατρέπουν μόνο έναν πίνακα εισόδου, χωρίς να τροποποιούν το πρωτότυπο, σε έναν πίνακα εξόδου για περαιτέρω χρήση.
Τα ορίσματα σε αυτές τις συναρτήσεις υποστηρίζουν την ανάθεση. Για παράδειγμα, μια συνάρτηση Filter που χρησιμοποιείται ως όρισμα για την εμφάνιση μιας λίστας σχετικών καρτελών πραγματοποιεί αναζήτηση σε όλες τις καταχωρήσεις, ακόμη και αν η προέλευση δεδομένων '[dbo].[AllListings]' περιέχει ένα εκατομμύριο γραμμές:
AddColumns( RealEstateAgents,
Listings,
Filter( '[dbo].[AllListings]', ListingAgentName = AgentName )
)
Ωστόσο, το αποτέλεσμα αυτών των συναρτήσεων υπόκειται στο όριο καρτέλας μη ανάθεσης. σε αυτό το παράδειγμα, επιστρέφονται μόνο 500 καρτέλες ακόμα και εάν η προέλευση δεδομένων RealEstateAgents έχει 501 ή περισσότερες καρτέλες.
Εάν χρησιμοποιείτε το Προσθήκη στηλών με αυτόν τον τρόπο, το Φίλτρο πρέπει να πραγματοποιεί ξεχωριστές κλήσεις στην πηγή δεδομένων για καθεμία από αυτές τις πρώτες εγγραφές στο RealEstateAgents, γεγονός που προκαλεί πολύ φλυαρία. Εάν το [dbo](.[AllListings] είναι αρκετά μικρό και δεν αλλάζει συχνά. Μπορείτε να καλέσετε τη συνάρτηση Collect στο OnStart για να προσθέσετε προσωρινά την προέλευση δεδομένων στην εφαρμογή σας μόλις ξεκινήσει. Εναλλακτικά, θα μπορούσατε να αναδομήσετε την εφαρμογή σας, ώστε να τραβάτε τις σχετικές καρτέλες μόνο όταν ο χρήστης τις ζητήσει.
Σημείωμα
Στο Power Apps πριν από την έκδοση 3.24042, τα ονόματα στηλών καθορίστηκαν με μια συμβολοσειρά κειμένου με τη χρήση διπλών εισαγωγικών και, αν συνδεθούν σε μια προέλευση δεδομένων θα ήταν απαραίτητα για να είναι λογικά ονόματα. Για παράδειγμα, χρησιμοποιήθηκε το λογικό όνομα "cr43e_name" με διπλά εισαγωγικά αντί για το εμφανιζόμενο όνομα Name χωρίς εισαγωγικά. Για τις προελεύσεις δεδομένων SharePoint και Excel που περιέχουν ονόματα στηλών με διαστήματα, κάθε διάστημα καθορίστηκε με "_x0020_", για παράδειγμα "Όνομα στήλης" ως "Column_x0020_Name". Μετά από αυτήν την έκδοση, όλες οι εφαρμογές ενημερώθηκαν αυτόματα με τη νέα σύνταξη που περιγράφεται σε αυτό το άρθρο.
Σύνταξη
AddColumns(Πίνακας ; ColumnName1; Formula1 [; ColumnName2; Formula2; ... ] )
- Πίνακας - Υποχρεωτικό. Ο πίνακας που θα χρησιμοποιηθεί.
- ColumnNames - Απαιτείται. Τα ονόματα των στηλών που θα προστεθούν.
- Τύποι- Απαιτείται. Οι τύποι για την αξιολόγηση κάθε καρτέλας. Το αποτέλεσμα θα προστίθεται ως η τιμή της αντίστοιχης νέας στήλης. Μπορείτε να αναφερθείτε σε άλλες στήλες του πίνακα σε αυτόν τον τύπο.
DropColumns(Πίνακας ; ColumnName1[ ; ColumnName2; ... ] )
- Πίνακας - Υποχρεωτικό. Ο πίνακας που θα χρησιμοποιηθεί.
- ColumnNames - Απαιτείται. Τα ονόματα των στηλών που θα απορριφθούν.
RenameColumns(Πίνακας ; OldColumnName1;NewColumnName1 [ ; OldColumnName2;NewColumnName2 ; ... ] )
- Πίνακας - Υποχρεωτικό. Ο πίνακας που θα χρησιμοποιηθεί.
- OldColumnNames - Απαιτείται. Τα ονόματα των στηλών για μετονομασία από τον αρχικό πίνακα. Αυτό το στοιχείο εμφανίζεται πρώτο στο ζεύγος ορισμάτων (ή πρώτο σε κάθε ζεύγος ορισμάτων αν ο τύπος περιλαμβάνει περισσότερα από ένα ζεύγη).
- NewColumnNames - Απαιτείται. Ονόματα αντικατάστασης. Αυτό το στοιχείο εμφανίζεται τελευταίο στο ζεύγος ορισμάτων (ή τελευταίο σε κάθε ζεύγος ορισμάτων αν ο τύπος περιλαμβάνει περισσότερα από ένα ζεύγη).
ShowColumns(Πίνακας ; ΌνομαΣτήλης1[ ; Όνομα_στήλης2; ... ] )
- Πίνακας - Υποχρεωτικό. Ο πίνακας που θα χρησιμοποιηθεί.
- ColumnNames - Απαιτείται. Τα ονόματα των στηλών που θα συμπεριληφθούν.
Παραδείγματα
Τα παραδείγματα σε αυτή την ενότητα χρησιμοποιούν την προέλευση δεδομένων IceCreamSales, η οποία περιέχει τα δεδομένα σε αυτόν τον πίνακα:
Κανένα από αυτά τα παραδείγματα δεν τροποποιεί την προέλευση δεδομένων IceCreamSales. Κάθε συνάρτηση μετασχηματίζει την τιμή της προέλευσης δεδομένων σε πίνακα και επιστρέφει αυτή την τιμή ως αποτέλεσμα.
Τύπος | Description | Result |
---|---|---|
AddColumns( IceCreamSales, Έσοδα, UnitPrice * ΠοσότηταΠωλήθηκε) | Προσθέτει μια στήλη Revenue στο αποτέλεσμα. Για κάθε εγγραφή, υπολογίζεται το γινόμενο UnitPrice * QuantitySold και το αποτέλεσμα τοποθετείται στη νέα στήλη. | |
DropColumns( IceCreamSales, Τιμή_μονάδας) | Εξαιρεί τη στήλη UnitPrice στήλη από το αποτέλεσμα. Χρησιμοποιήστε αυτή τη συνάρτηση για να εξαιρέσετε στήλες και χρησιμοποιήστε τη συνάρτηση ShowColumns για να τις συμπεριλάβετε. | |
ShowColumns( IceCreamSales, Γεύση ) | Περιλαμβάνει μόνο τη στήλη Flavor στήλης στο αποτέλεσμα. Χρησιμοποιήστε αυτή τη συνάρτηση για να συμπεριλάβετε στήλες και χρησιμοποιήστε τη συνάρτηση DropColumns για να τις εξαιρέσετε. | |
RenameColumns( IceCreamSales, Τιμή_μονάδας, Τιμή) | Μετονομάζει τη στήλη UnitPrice στο αποτέλεσμα. | |
RenameColumns( IceCreamSales, Τιμή_μονάδας, Τιμή, ΠοσότηταΠώληση, Αριθμός) | Μετονομάζει τις στήλες UnitPrice και QuantitySold στο αποτέλεσμα. | |
DropColumns( RenameColumns( AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ), UnitPrice, Price ), Quantity ) |
Εκτελεί τους ακόλουθους μετασχηματισμούς πίνακα με τη σειρά, ξεκινώντας από το εσωτερικό του τύπου:
|
Βήμα προς βήμα
Ας δοκιμάσουμε ορισμένα από τα παραδείγματα που προηγήθηκαν σε αυτό το άρθρο.
Δημιουργήστε μια συλλογή προσθέτοντας ένα στοιχείο ελέγχου Button και ορίζοντας την ιδιότητά του OnSelect σε αυτόν τον τύπο:
ClearCollect( IceCreamSales, Table( { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 }, { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 }, { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 } ) )
Εκτελέστε τον τύπο επιλέγοντας το κουμπί, ενώ κρατάτε πατημένο το πλήκτρο Alt.
Προσθέστε ένα δεύτερο στοιχείο ελέγχου Button ορίστε στην ιδιότητα OnSelect αυτόν τον τύπο και μετά εκτελέστε το:
ClearCollect( FirstExample, AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) )
Στο μενού Αρχείο, επιλέξτε Συλλογές και μετά επιλέξτε IceCreamSales για να εμφανίσετε αυτήν τη συλλογή.
Όπως δείχνει αυτό το γραφικό, ο δεύτερος τύπος δεν τροποποίησε αυτήν τη συλλογή. Η συνάρτηση AddColumns χρησιμοποίηση το IceCreamSales ως όρισμα μόνο για ανάγνωση. Η συνάρτηση δεν τροποποίηση τον πίνακα στον οποίο αναφέρετε αυτό το όρισμα.
Επιλέξτε FirstExample.
Όπως δείχνει αυτό το γραφικό, ο δεύτερος τύπος επέστρεψε ένα νέο πίνακα με την προσθήκη της στήλης. Η συνάρτηση ClearCollect κατέγραψε τον νέο πίνακα στη συλλογή FirstExample, προσθέτοντας κάτι στον αρχικό πίνακα, καθώς περνούσε από τη συνέρτηση χωρίς να τροποποιήσει την προέλευση:
Αντιστοίχιση στηλών σε ένα στοιχείο
Δέιτε Αντιστοίχιση στηλών.