Τελεστές και αναγνωριστικά
Σημείωμα
Το Microsoft Power Fx είναι το νέο όνομα για τη γλώσσα τύπου των εφαρμογών καμβά. Αυτά τα άρθρα είναι σε εξέλιξη καθώς εξάγουμε τη γλώσσα από εφαρμογές καμβά, την ενοποιουμε με άλλα προϊόντα Microsoft Power Platform και την κάνουμε διαθέσιμη ως ανοιχτό κώδικα. Ξεκινήστε με την Επισκόπηση του Microsoft Power Fx για μια εισαγωγή στη γλώσσα.
Οι τελεστές στο Microsoft Power Fx περιγράφονται παρακάτω. Ορισμένοι από αυτούς τους τελεστές εξαρτώνται από τη γλώσσα του συντάκτη. Δείτε τις Καθολικές εφαρμογές για περισσότερες πληροφορίες.
Σύμβολο | Τύπος | Σύνταξη | Περιγραφή |
---|---|---|---|
. | Επιλογέας ιδιοτήτων | Ρυθμιστικό1.Τιμή Color.Red |
Εξάγει μια ιδιότητα από ένα στοιχείο ελέγχου πίνακα ή απαρίθμηση. Για συμβατότητα με παλαιότερες εκδόσεις, ! μπορεί να χρησιμοποιηθεί. |
. Εξαρτάται από τη γλώσσα |
Διαχωριστικό δεκαδικών | 1.23 | Το διαχωριστικό μεταξύ του ακέραιου και του κλασματικού μέρους ενός αριθμού. Ο χαρακτήρας εξαρτάται από τη γλώσσα. |
( ) | Παρενθέσεις | Φίλτρο (Τ, Α < 10) (1 + 2) * 3 |
Επιβάλλει τη σειρά προτεραιοτήτων και ομαδοποιεί δευτερεύουσες παραστάσεις σε μια μεγαλύτερη παράσταση |
+ | Αριθμητικοί τελεστές | 1 + 2 | Πρόσθεση |
- | 2 - 1 | Αφαίρεση και πρόσημο | |
* | 2 * 3 | Πολλαπλασιασμός | |
/ | 2 / 3 | Διαίρεση (δείτε επίσης τη συνάρτηση Mod) | |
^ | 2 ^ 3 | Ύψωση σε δύναμη, ισοδύναμο με τη συνάρτηση Power | |
% | 20% | Ποσοστό (ισοδύναμο με "* 1/100") | |
= | Τελεστές σύγκρισης | Τιμή = 100 | Ίσο με |
> | Τιμή > 100 | Μεγαλύτερο από | |
>= | Τιμή >= 100 | Μεγαλύτερο από ή ίσο με | |
< | Τιμή < 100 | Μικρότερο από | |
<= | Τιμή <= 100 | Μικρότερο από ή ίσο με | |
<> | Τιμή <> 100 | Δεν είναι ίσο με | |
& | Τελεστής συνένωσης συμβολοσειρών | "Γεια σας" &; " " & "Κόσμος" | Κάνει πολλαπλές συμβολοσειρές να εμφανίζονται ως συνεχείς |
&ή και | Λογικοί τελεστές | Τιμή < : 100 &&; Slider1.Value = 20 ή Price < 100 And Slider1.Value = 20 |
Λογική σύνδεση, ισοδύναμο με τη συνάρτηση And |
|| ή Ή | Τιμή < 100 || Slider1.Value = 20 ή τιμή < 100 ή Slider1.Value = 20 | Λογική αποσύνδεση, ισοδύναμο με τη συνάρτηση Or | |
! ή Not | ! (τιμή < 100) ή όχι (τιμή < 100) | Λογική άρνηση, ισοδύναμο με τη συνάρτηση Not | |
Εξακτίνη | Φορείς εκμετάλλευσης μελών | Gallery1.Selected exactin SavedItems | Ανήκει σε μια συλλογή ή πίνακα |
Εξακτίνη | "Windows" exactin "Για να εμφανίσετε παράθυρα στο λειτουργικό σύστημα Windows ..." | Δοκιμή δευτερεύουσας συμβολοσειράς (διάκριση πεζών-κεφαλαίων) | |
μέσα | Gallery1.Selected στο SavedItems | Ανήκει σε μια συλλογή ή πίνακα | |
μέσα | "Το" στο "Το πληκτρολόγιο και η οθόνη ..." | Δοκιμή δευτερεύουσας συμβολοσειράς (μη διάκριση πεζών-κεφαλαίων) | |
@ | Τελεστής αποσαφήνισης | Ο πίνακας μου[@fieldname] | Αποσαφήνιση πεδίου |
@ | [@MyVariable] | Καθολική αποσαφήνιση | |
, [με εξάρτηση από γλώσσα] |
Διαχωριστικό λιστών | If(X < 10; "Χαμηλή"; "Καλή") { X: 12, Y: 32 } [ 1, 2, 3 ] |
Διαχωρίζει: Αυτός ο χαρακτήρας εξαρτάται από τη γλώσσα. |
; [με εξάρτηση από γλώσσα] |
Αλληλουχία τύπων | Συλλέξτε (Τ, Α); Πλοήγηση (S1; "") | Διαχωρίζει κλήσεις συναρτήσεων σε ιδιότητες συμπεριφορών. Ο τελεστής αλληλουχίας εξαρτάται της γλώσσας. |
Όπως | Ως χειριστής | AllCustomers ως πελάτης | Παρακάμπτει το ThisItem και το ThisRecord σε συλλογές και συναρτήσεις εύρους καρτελών. Όπως είναι χρήσιμο για την παροχή ενός καλύτερου, συγκεκριμένου ονόματος και είναι ιδιαίτερα σημαντικό σε ένθετα σενάρια. |
Εαυτός | Αυτοχειριστής | Αυτοσυμπλήρωση | Αποκτήστε πρόσβαση σε ιδιότητες του τρέχοντος στοιχείου ελέγχου |
γονικό στοιχείο | γονικό στοιχείο χειριστή | Γονικό.Συμπληρώστε | Παρέχει πρόσβαση στις ιδιότητες ενός κοντέινερ στοιχείου ελέγχου |
ΑυτόΣτοιχείο | Τελεστής ThisItem | ThisItem.FirstName | Παρέχει πρόσβαση σε πεδία ενός στοιχείου ελέγχου "Συλλογή" ή "Φόρμα" |
Αυτό το ρεκόρ | Τελεστής ThisItem | ΑυτόRecord.FirstName | Πρόσβαση στην πλήρη καρτέλα και τα μεμονωμένα πεδία της καρτέλας εντός ForAll, Sum, With και άλλων συναρτήσεων εύρους καρτελών. Μπορεί να παρακαμφθεί με τον τελεστή As. |
Τελεστές in και exactin
Χρησιμοποιήστε τους τελεστές in και exactin για να βρείτε μια συμβολοσειρά σε μια προέλευση δεδομένων, όπως μια συλλογή ή έναν πίνακα που έχει εισαχθεί. Ο τελεστής in αναγνωρίζει αντιστοιχίσεις ανεξάρτητα πεζών-κεφαλαίων και ο τελεστής exactin αναγνωρίζει αντιστοιχίσεις μόνο εάν χαρακτηρίζονται από την ίδια διάκριση πεζών-κεφαλαίων. Ακολουθεί ένα παράδειγμα:
Δημιουργήστε ή εισαγάγετε μια συλλογή με την ονομασία Inventory και εμφανίστε την σε μια συλλογή, όπως περιγράφει η πρώτη διαδικασία στο θέμα Εμφάνιση εικόνων και κειμένου σε μια συλλογή.
Ορίστε την ιδιότητα Items της συλλογής σε αυτόν τον τύπο:
Φίλτρο(Απόθεμα, "E" στο ProductName)Η συλλογή εμφανίζει όλα τα προϊόντα εκτός του Callisto, καθώς το όνομα αυτού του προϊόντος είναι το μοναδικό που δεν περιέχει το γράμμα που καθορίσατε.
Αλλάξτε την ιδιότητα Items της συλλογής σε αυτόν τον τύπο:
Φίλτρο (Απόθεμα, "E" exactin ProductName)Η συλλογή εμφανίζει μόνο Europa, επειδή μόνο το όνομά του περιέχει το γράμμα που καθορίσατε στην περίπτωση που καθορίσατε.
Τελεστές ThisItem, ThisRecord και As
Ορισμένα στοιχεία ελέγχου και συναρτήσεις εφαρμόζουν τύπους σε μεμονωμένες καρτέλες ενός πίνακα. Για να ανατρέξετε στη μεμονωμένη καρτέλα ενός τύπου, χρησιμοποιήστε ένα από τα παρακάτω:
Τελεστής | Ισχύει για | Περιγραφή |
---|---|---|
ΑυτόΣτοιχείο | Στοιχείο ελέγχου συλλογής Επεξεργασία στοιχείου ελέγχου φόρμας Στοιχείο ελέγχου φόρμας εμφάνισης |
Το προεπιλεγμένο όνομα για την τρέχουσα καρτέλα σε μια Gallery ή στοιχείο ελέγχου Form. |
Αυτό το ρεκόρ | ForAll,Filter,With,Sum ... ... ... και άλλες συναρτήσεις εύρους εγγραφών | Το προεπιλεγμένο όνομα για την τρέχουσα καρτέλα στο ForAll και άλλες συναρτήσεις εύρους καρτελών. |
Ωςόνομα | Στοιχείο ελέγχου συλλογής ForAll,Filter,With,Sum ... ... ... και άλλες συναρτήσεις εύρους εγγραφών |
Προσδιορίζει ένα όνομα για την τρέχουσα καρτέλα, αντικαθιστώντας το προεπιλεγμένο ThisItem ή ThisRecord. Χρησιμοποιήστε το As για να κάνετε τους τύπους πιο κατανοητούς και να επιλύσετε τις ασάφειες κατά την ένθεση. |
Τελεστής ThisItem
Για παράδειγμα, στο ακόλουθο στοιχείο ελέγχου Συλλογή, η ιδιότητα Στοιχεία ορίζεται στην προέλευση δεδομένων Υπάλληλοι (όπως η οντότητα Υπάλληλοι που περιλαμβάνεται στο δείγμα Northwind traders):
Employees
Το πρώτο στοιχείο στη συλλογή είναι ένα πρότυπο που έχει αναπαραχθεί για κάθε υπάλληλο. Στο πρότυπο, ο τύπος για την εικόνα χρησιμοποιεί το ThisItem για να αναφερθεί στο τρέχον στοιχείο:
ThisItem.Picture
Ομοίως, ο τύπος για το όνομα χρησιμοποιεί επίσης ThisItem:
ThisItem.'First Name' & " " & ThisItem.'Last Name'
Τελεστής ThisRecord
Αυτό το Record χρησιμοποιείται σε συναρτήσεις που έχουν εύρος εγγραφών. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση Filter με την ιδιότητα Items της συλλογής μας για να εμφανίζονται μόνο τα ονόματα που αρχίζουν από M:
Filter( Employees, StartsWith( ThisRecord.Employee.'First Name', "M" ) )
Αυτό το Record είναι προαιρετικό και υπονοείται χρησιμοποιώντας τα πεδία απευθείας, για παράδειγμα, σε αυτήν την περίπτωση, θα μπορούσαμε να είχαμε γράψει:
Filter( Employees, StartsWith( 'First Name', "M" ) )
Αν και προαιρετικό, η χρήση του ThisRecord μπορεί να διευκολύνει την κατανόηση των τύπων και μπορεί να απαιτηθεί σε διφορούμενες καταστάσεις όπου ένα όνομα πεδίου μπορεί να είναι επίσης ένα όνομα σχέσης. Το ThisRecord είναι προαιρετικό, ενώ το ThisItem απαιτείται πάντα.
Χρησιμοποιήστε το ThisRecord για να αναφέρετε ολόκληρη την καρτέλα με τις συναρτήσεις Patch, Collect και άλλες συναρτήσεις πεδίου καρτελών. Για παράδειγμα, ο τύπος που ακολουθεί ορίζει την κατάσταση για όλους τους ανενεργούς υπαλλήλους σε ενεργή:
With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
ForAll( InactiveEmployees,
Patch( Employees, ThisRecord, { Status: 'Status (Employees)'.Active } ) ) )
Ως τελεστής
Χρησιμοποιήστε τον τελεστή As για να ονομάσετε μια καρτέλα σε μια συνάρτηση πεδίου συλλογής ή καρτέλας, παρακάμπτοντας την προεπιλεγμένη ThisItem ή ThisRecord. Η ονομασία της καρτέλας μπορεί να διευκολύνει την κατανόηση των τύπων σας και μπορεί να απαιτείται σε ένθετες καταστάσεις για την πρόσβαση σε καρτέλες που βρίσκονται σε άλλα πεδία.
Για παράδειγμα, μπορείτε να τροποποιήσετε την ιδιότητα Items της συλλογής μας για να χρησιμοποιήσετε το As για να προσδιορίσετε ότι συνεργαζόμαστε με έναν υπάλληλο:
Employees As Employee
Οι τύποι για την εικόνα και το όνομα προσαρμόζονται ώστε να χρησιμοποιούν αυτό το όνομα για την τρέχουσα καρτέλα:
Employee.Picture
Employee.'First Name' & " " & Employee.'Last Name'
Όπως μπορεί επίσης να χρησιμοποιηθεί με συναρτήσεις εύρους εγγραφών για την αντικατάσταση του προεπιλεγμένου ονόματος ThisRecord. Μπορούμε να εφαρμόσουμε αυτό το στοιχείο στο προηγούμενο παράδειγμα, για να διευκρινίσουμε την καρτέλα με την οποία εργαζόμαστε:
With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
ForAll( InactiveEmployees As Employee,
Patch( Employees, Employee, { Status: 'Status (Employees)'.Active } ) ) )
Κατά την ένθεση των συναρτήσεων συλλογών και πεδίου καρτελών, ThisItem και ThisRecord αναφέρεται πάντα στο πιο εσωτερικό πεδίο, αφήνοντας τις καρτέλες στο εξωτερικό πεδίο μη διαθέσιμες. Χρησιμοποιήστε το As για να καταστήσετε διαθέσιμα όλα τα πεδία καρτελών δίνοντας στο καθένα ένα μοναδικό όνομα.
Για παράδειγμα, αυτός ο τύπος παράγει ένα μοτίβο σκακιέρας ως συμβολοσειρά κειμένου με ένθεση δύο συναρτήσεων ForAll:
Concat(
ForAll( Sequence(8) As Rank,
Concat(
ForAll( Sequence(8) As File,
If( Mod(Rank.Value + File.Value, 2) = 1, " X ", " . " )
),
Value
) & Char(10)
),
Value
)
Η ρύθμιση της ιδιότητας Text ενός στοιχείου ελέγχου Label σε αυτόν τον τύπο εμφανίζει:
Ας δούμε τι συμβαίνει εδώ:
- Ξεκινάμε επαναλαμβάνοντας έναν ανώνυμο πίνακα με 8 αριθμημένες καρτέλες από τη συνάρτηση Sequence. Αυτός ο βρόχος είναι για κάθε σειρά του πίνακα, η οποία συνήθως αναφέρεται ως Τάξη και έτσι δίνουμε αυτό το όνομα.
- Για κάθε γραμμή, επαναλαμβάνουμε έναν άλλο ανώνυμο πίνακα με 8 στήλες και δίνουμε το κοινό όνομα Αρχείο.
- Εάν Rank.Value + File.Value είναι μονός αριθμός, το τετράγωνο αποκτά ένα X, ειδάλλως μια τελεία. Αυτό το τμήμα του τύπου παραπέμπει και στους δύο βρόχους ForAll, οι οποίοι κατέστησαν εφικτοί με τη χρήση του τελεστή As.
- Το Concat χρησιμοποιείται δύο φορές, πρώτα για να συναρμολογήσει τις στήλες και στη συνέχεια τις σειρές, με ένα Char(10) να ρίχνεται μέσα για να δημιουργήσει μια νέα γραμμή.
Ένα παρόμοιο παράδειγμα είναι δυνατό με ένθετα στοιχεία ελέγχου Gallery αντί για συναρτήσεις ForAll. Ξεκινάμε με την κατακόρυφη συλλογή για την Τάξη. Αυτό το Στοιχείο ελέγχου Gallery θα περιλαμβάνει έναν τύπο Στοιχεία:
Sequence(8) as Rank
Σε αυτήν τη συλλογή, θα τοποθετήσουμε μια οριζόντια συλλογή για το Αρχείο, η οποία θα αναπαραχθεί για κάθε Τάξη, με μια ιδιότητα Items:
Sequence(8) as File
Τέλος, μέσα σε αυτήν τη συλλογή, θα προσθέσουμε ένα στοιχείο ελέγχου Label που θα αναπαραχθεί για κάθε Αρχείο και κάθε Τάξη. Θα προσαρμόσουμε το μέγεθος για να γεμίσουμε ολόκληρο τον χώρο και θα χρησιμοποιήσουμε την ιδιότητα Fill για να παρέχουμε το χρώμα με αυτόν τον τύπο:
If( Mod( Rank.Value + File.Value, 2 ) = 1, Green, Beige )
Τελεστές Self και Parent
Υπάρχουν τρεις τρόποι για να αναφερθείτε σε ένα στοιχείο ελέγχου και τις ιδιότητές του μέσα σε έναν τύπο:
Μέθοδος | Περιγραφή |
---|---|
Κατά όνομα στοιχείου ελέγχου | Οποιοδήποτε στοιχείο ελέγχου μπορεί να αναφέρεται με το όνομα από οποιοδήποτε σημείο εντός της εφαρμογής. Για παράδειγμα, το Label1.Fill αναφέρεται στην ιδιότητα συμπλήρωσης του στοιχείου ελέγχου που ονομάζεται Label1. |
Αυτοχειριστής | Είναι συχνά βολικό να κάνετε αναφορά σε μια άλλη ιδιότητα του ίδιου στοιχείου ελέγχου όταν συντάσσετε έναν τύπο. Αντί να χρησιμοποιήσετε μια απόλυτη αναφορά με βάση το όνομα, είναι ευκολότερο και πιο φορητό να χρησιμοποιήσετε μια σχετική αναφορά σε ένα self. Ο τελεστής Self παρέχει αυτήν την εύκολη πρόσβαση στο τρέχον στοιχείο ελέγχου. Για παράδειγμα, το Self.Fill αναφέρεται στη συμπλήρωση χρώματος του τρέχοντος στοιχείου ελέγχου. |
γονικό στοιχείο χειριστής | Ορισμένα στοιχεία ελέγχου φιλοξενούν άλλα στοιχεία ελέγχου, όπως τα στοιχεία ελέγχου Screen και Gallery. Το στοιχείο ελέγχου φιλοξενίας των στοιχείων ελέγχου σε αυτό καλείται γονικό. Όπως και ο τελεστής Self, ο τελεστής Parent παρέχει μια εύκολη σχετική αναφορά στο στοιχείο ελέγχου Container. Για παράδειγμα, το Parent.Fill αναφέρεται στην ιδιότητα συμπλήρωσης του στοιχείου ελέγχου που είναι ο περιέκτης του τρέχοντος στοιχείου ελέγχου. |
Τελεστές self ή γονικό στοιχείο are και όχι ιδιότητες στα ίδια τα στοιχεία ελέγχου. Η αναφορά στα Parent.Parent, Self.Parent ή Parent.Self δεν υποστηρίζεται.
Ονόματα αναγνωριστικών
Τα ονόματα των μεταβλητών, των προελεύσεων δεδομένων, των στηλών και άλλων αντικειμένων μπορούν να περιέχουν οποιοδήποτε Unicode.
Χρησιμοποιήστε μονά εισαγωγικά γύρω από ένα όνομα που περιέχει ένα διάστημα ή άλλο ειδικό χαρακτήρα.
Χρησιμοποιήστε δύο μονά εισαγωγικά μαζί για να απεικονίσετε ένα μονό εισαγωγικό στο όνομα. Τα ονόματα που δεν περιέχουν ειδικούς χαρακτήρες δεν απαιτούν τη χρήση μονών εισαγωγικών.
Ακολουθούν ορισμένα παραδείγματα ονομάτων στηλών που μπορεί να συναντήσετε σε έναν πίνακα και ο τρόπος με τον οποίο απεικονίζονται σε έναν τύπο:
Όνομα στήλης σε μια βάση δεδομένων | Αναφορά στήλης σε έναν τύπο |
---|---|
SimpleName | SimpleName |
NameWith123Numbers | NameWith123Numbers |
Όνομα με διαστήματα | 'Name with spaces' |
Όνομα με "διπλά" εισαγωγικά | 'Name with "double" quotes' |
Όνομα με 'μονά' εισαγωγικά | 'Name with ''single'' quotes' |
Όνομα με σύμβολο @ (παπάκι) | 'Name with an @ at sign' |
Τα διπλά εισαγωγικά χρησιμοποιούνται για την ονομασία συμβολοσειρών κειμένου.
Ονόματα εμφάνισης και λογικά ονόματα
Ορισμένες προελεύσεις δεδομένων, όπως τα SharePoint και Microsoft Dataverse έχουν δύο διαφορετικά ονόματα, για να αναφέρονται στον ίδιο πίνακα ή στη στήλη δεδομένων:
Λογικό όνομα - Ένα όνομα που είναι εγγυημένα μοναδικό, δεν αλλάζει μετά τη δημιουργία του, συνήθως δεν επιτρέπει κενά ή άλλους ειδικούς χαρακτήρες και δεν έχει μεταφραστεί σε διαφορετικές γλώσσες. Ως εκ τούτου, το όνομα μπορεί να είναι κρυπτογραφημένο. Αυτά τα ονόματα χρησιμοποιούνται από επαγγελματίες προγραμματιστές. Για παράδειγμα, cra3a_customfield. Αυτό το όνομα μπορεί επίσης να αναφέρεται ως όνομα σχήματος ή απλώς ως όνομα.
εμφανιζόμενο όνομα - Ένα όνομα που είναι φιλικό προς το χρήστη και προορίζεται να το δουν οι τελικοί χρήστες. Αυτό το όνομα δεν μπορεί να είναι μοναδικό, μπορεί να αλλάξει με την πάροδο του χρόνου, μπορεί να περιέχει κενά διαστήματα και οποιονδήποτε χαρακτήρα Unicode και μπορεί να είναι μεταφρασμένο σε διαφορετικές γλώσσες. Αντίστοιχα με το παραπάνω παράδειγμα, το εμφανιζόμενο όνομα μπορεί να είναι Προσαρμοσμένο πεδίο με διάστημα ανάμεσα στις λέξεις.
Καθώς είναι πιο εύκολο να κατανοήσετε τα εμφανιζόμενα ονόματα, το Power Fx θα τα προτείνει ως επιλογές και δεν θα προτείνει λογικά ονόματα. Παρόλο που δεν προτείνεται η χρήση λογικών ονομάτων, μπορούν ακόμα να χρησιμοποιηθούν εάν πληκτρολογούνται έμμεσα.
Για παράδειγμα, φανταστείτε ότι έχετε προσθέσει ένα Προσαρμοσμένο πεδίο σε μια οντότητα στο Dataverse. Ένα λογικό όνομα θα ανατεθεί για εσάς από το σύστημα το οποίο μπορείτε να τροποποιήσετε μόνο κατά τη δημιουργία του πεδίου. Το αποτέλεσμα θα είναι ως εξής:
Κατά τη σύνταξη μιας αναφοράς σε ένα πεδίο λογαριασμών, η πρόταση θα γίνει για χρησιμοποιηθεί ως 'Προσαρμοσμένο πεδίο' καθώς αυτό είναι το εμφανιζόμενο όνομα. Τα μονά εισαγωγικά πρέπει να χρησιμοποιηθούν επειδή αυτό το όνομα διαθέτει κενό διάστημα:
Αφού επιλέξετε την πρόταση, το 'Προσαρμοσμένο πεδίο' εμφανίζεται στη γραμμή τύπων και γίνεται ανάκτηση των δεδομένων:
Παρόλο που δεν προτείνεται, θα μπορούσαμε επίσης να χρησιμοποιήσουμε το λογικό όνομα για αυτό το πεδίο. Αυτό θα έχει ως αποτέλεσμα την ανάκτηση των ίδιων δεδομένων. Δεν απαιτούνται μονά εισαγωγικά, καθώς αυτό το όνομα δεν περιέχει διαστήματα ή ειδικούς χαρακτήρες:
Στο παρασκήνιο, διατηρείται μια αντιστοίχιση μεταξύ των εμφανιζόμενων ονομάτων που εμφανίζονται σε τύπους και των υποκείμενων λογικών ονομάτων. Επειδή τα λογικά ονόματα πρέπει να χρησιμοποιούνται για την αλληλεπίδραση με την προέλευση δεδομένων, αυτή η αντιστοίχιση χρησιμοποιείται για τη μετατροπή από το τρέχον εμφανιζόμενο όνομα στο λογικό όνομα αυτόματα και αυτό είναι που εμφανίζεται στην κυκλοφορία δικτύου. Αυτή η αντιστοίχιση χρησιμοποιείται επίσης για τη μετατροπή εκ νέου σε λογικά ονόματα για τη μετάβαση σε νέα εμφανιζόμενα ονόματα, για παράδειγμα, εάν ένα εμφανιζόμενο όνομα αλλάζει ή ένας δημιουργός σε διαφορετική γλώσσα επεξεργάζεται την εφαρμογή.
Σημείωμα
Τα λογικά ονόματα δεν μεταφράζονται κατά τη μετακίνηση μιας εφαρμογής μεταξύ των περιβαλλόντων. Για τα ονόματα των οντοτήτων και των πεδίων συστήματος του Dataverse αυτό δεν θα πρέπει να αποτελεί πρόβλημα, καθώς τα λογικά ονόματα είναι συνεπή μεταξύ των περιβαλλόντων. Ωστόσο, οποιοδήποτε προσαρμοσμένο πεδίο, όπως το cra3a_customfield στο παραπάνω παράδειγμα, μπορεί να έχει διαφορετικό πρόθεμα περιβάλλοντος ( cra3a σε αυτήν την περίπτωση). Τα εμφανιζόμενα ονόματα προτιμώνται επειδή είναι δυνατό να αντιστοιχιστούν με τα εμφανιζόμενα ονόματα στο νέο περιβάλλον.
Αποσαφήνιση ονόματος
Επειδή τα εμφανιζόμενα ονόματα δεν είναι μοναδικά, το ίδιο εμφανιζόμενο όνομα μπορεί να εμφανίζεται περισσότερες από μία φορές στην ίδια οντότητα. Όταν συμβεί αυτό, το λογικό όνομα θα προστεθεί στο τέλος του εμφανιζόμενου ονόματος σε παρένθεση για ένα από τα περισσότερα ονόματα που βρίσκονται σε διένεξη. Με βάση το παραπάνω παράδειγμα, εάν υπήρχε ένα δεύτερο πεδίο με το ίδιο εμφανιζόμενο όνομα Προσαρμοσμένο πεδίο με ένα λογικό όνομα cra3a_customfieldalt τότε οι προτάσεις θα έδειχναν:
Οι συμβολοσειρές αποσαφήνισης ονόματος προστίθενται σε άλλες περιπτώσεις όπου παρουσιάζονται διενέξεις ονομάτων, όπως τα ονόματα των οντοτήτων, τα σύνολα επιλογών και άλλα στοιχεία Dataverse.
Τελεστής αποσαφήνισης
Ορισμένες συναρτήσεις δημιουργούν εμβέλειες εγγραφών για πρόσβαση στα πεδία του πίνακα κατά την επεξεργασία κάθε εγγραφής, όπως Filter, AddColumns και Sum. Ονόματα πεδίων που προστίθενται με την εμβέλεια εγγραφών παρακάμπτουν τα ίδια ονόματα πεδίων από κάποιο άλλο σημείο στην εφαρμογή. Όταν συμβαίνει αυτό, εξακολουθείτε να έχετε πρόσβαση σε τιμές εκτός της εμβέλειας εγγραφών με τον τελεστή αποσαφήνισης @:
- Για πρόσβαση σε τιμές από ένθετες εμβέλειες εγγραφών, χρησιμοποιήστε τον τελεστή @ με το όνομα του πίνακα που χρησιμοποιείται με το εξής μοτίβο:
Πίνακας[@ΌνομαΠεδίου] - Για πρόσβαση σε καθολικές τιμές, όπως προελεύσεις δεδομένων, συλλογές και μεταβλητές περιβάλλοντος, χρησιμοποιήστε το μοτίβο [@ObjectName] (χωρίς ονομασία πίνακα).
Για περισσότερες πληροφορίες και παραδείγματα, ανατρέξτε στο θέμα για τις εμβέλειες εγγραφών.