Αντικείμενα και ιδιότητες απεικονίσεων του Power BI
Τα αντικείμενα περιγράφουν προσαρμόσιμες ιδιότητες που σχετίζονται με μια απεικόνιση. Ένα αντικείμενο μπορεί να έχει πολλές ιδιότητες και κάθε ιδιότητα έχει έναν συσχετισμένο τύπο που περιγράφει τι θα είναι η ιδιότητα. Αυτό το άρθρο παρέχει πληροφορίες σχετικά με αντικείμενα και τύπους ιδιοτήτων.
myCustomObject
Το είναι το εσωτερικό όνομα που χρησιμοποιείται για την αναφορά του αντικειμένου εντός dataView
του .
"objects": {
"myCustomObject": {
"properties": { ... }
}
}
Εμφανιζόμενο όνομα και περιγραφή
Σημείωμα
Το εμφανιζόμενο όνομα και η περιγραφή καταγράφονται από την έκδοση 5.1+API. Το εμφανιζόμενο όνομα και η περιγραφή προστίθενται τώρα στο μοντέλο μορφοποίησης αντί για το αρχείο capabilities.json .
displayName
Το είναι το όνομα που θα εμφανίζεται στο τμήμα παραθύρου ιδιοτήτων.
description
Το είναι μια περιγραφή της ιδιότητας μορφοποίησης που θα εμφανίζεται στον χρήστη ως συμβουλή εργαλείου.
Ιδιότητες
properties
Το είναι μια αντιστοίχιση ιδιοτήτων που ορίζονται από τον προγραμματιστή.
"properties": {
"myFirstProperty": {
"type": ValueTypeDescriptor | StructuralTypeDescriptor
}
}
Σημείωμα
show
Το είναι μια ειδική ιδιότητα που επιτρέπει την εναλλαγή του αντικειμένου.
Παράδειγμα:
"properties": {
"show": {
"type": {"bool": true}
}
}
Τύποι ιδιοτήτων
Υπάρχουν δύο τύποι ιδιοτήτων: ValueTypeDescriptor
και StructuralTypeDescriptor
.
Περιγραφή τύπου τιμής
ValueTypeDescriptor
Οι τύποι είναι κυρίως στοιχειώδεις και συνήθως χρησιμοποιούνται ως στατικό αντικείμενο.
Ακολουθούν ορισμένα από τα κοινά ValueTypeDescriptor
στοιχεία:
export interface ValueTypeDescriptor {
text?: boolean;
numeric?: boolean;
integer?: boolean;
bool?: boolean;
}
Περιγραφή δομικού τύπου
StructuralTypeDescriptor
Οι τύποι χρησιμοποιούνται κυρίως για αντικείμενα συνδεδεμένα με δεδομένα.
Ο πιο συνηθισμένος StructuralTypeDescriptor
τύπος είναι fill.
export interface StructuralTypeDescriptor {
fill?: FillTypeDescriptor;
}
Ιδιότητα διαβάθμισης
Η ιδιότητα διαβάθμισης είναι μια ιδιότητα που δεν μπορεί να οριστεί ως τυπική ιδιότητα. Αντί για αυτό, πρέπει να ορίσετε έναν κανόνα για την αντικατάσταση της ιδιότητας επιλογής χρώματος (τύπος γεμίσματος ).
Ακολουθεί ένα παράδειγμα στον παρακάτω κώδικα:
"properties": {
"showAllDataPoints": {
"type": {
"bool": true
}
},
"fill": {
"type": {
"fill": {
"solid": {
"color": true
}
}
}
},
"fillRule": {
"type": {
"fillRule": {}
},
"rule": {
"inputRole": "Gradient",
"output": {
"property": "fill",
"selector": [
"Category"
]
}
}
}
}
Προσέξτε τις ιδιότητες fill και fillRule . Η πρώτη είναι ο επιλογέας χρώματος και η δεύτερη είναι ο κανόνας υποκατάστασης για τη διαβάθμιση που θα αντικαταστήσει την ιδιότητα fill property, visually
, όταν ικανοποιηθούν οι συνθήκες κανόνα.
Αυτή η σύνδεση μεταξύ της ιδιότητας γεμίσματος και του κανόνα υποκατάστασης ορίζεται στην "rule"
"output"
>ενότητα της ιδιότητας fillRule.
"Rule"
>"InputRole"
Η ιδιότητα ορίζει ποιος ρόλος δεδομένων ενεργοποιεί τον κανόνα (συνθήκη). Σε αυτό το παράδειγμα, εάν ο ρόλος "Gradient"
δεδομένων περιέχει δεδομένα, ο κανόνας εφαρμόζεται για την "fill"
ιδιότητα .
Ένα παράδειγμα του ρόλου δεδομένων που ενεργοποιεί τον κανόνα γεμίσματος (the last item
) εμφανίζεται στον παρακάτω κώδικα:
{
"dataRoles": [
{
"name": "Category",
"kind": "Grouping",
"displayName": "Details",
"displayNameKey": "Role_DisplayName_Details"
},
{
"name": "Series",
"kind": "Grouping",
"displayName": "Legend",
"displayNameKey": "Role_DisplayName_Legend"
},
{
"name": "Gradient",
"kind": "Measure",
"displayName": "Color saturation",
"displayNameKey": "Role_DisplayName_Gradient"
}
]
}
Τμήμα παραθύρου "Μορφοποίηση"
Για να προσαρμόσετε τις ιδιότητες στο τμήμα παραθύρου μορφοποίησης, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους, ανάλογα με την έκδοση API που χρησιμοποιείτε.
Σημείωμα
Η getFormattingModel
μέθοδος API υποστηρίζεται από τις εκδόσεις API 5.1+. Για να μάθετε ποια έκδοση χρησιμοποιείτε, ελέγξτε το apiVersion
στο αρχείο pbiviz.json .
Για να χρησιμοποιήσετε αποτελεσματικά αντικείμενα στην έκδοση API 5.1+, πρέπει να υλοποιήσετε τη getFormattingModel
μέθοδο .
Αυτή η μέθοδος δημιουργεί και επιστρέφει ένα μοντέλο μορφοποίησης που περιλαμβάνει ιεραρχία παραθύρου πλήρων ιδιοτήτων για κάρτες μορφοποίησης, ομάδες μορφοποίησης, Επίσης, περιέχει ιδιότητες μορφοποίησης και τις τιμές τους.
Αντικείμενα δυνατοτήτων που απεικονίζονται στο μοντέλο μορφοποίησης
Κάθε ιδιότητα μορφοποίησης στο μοντέλο μορφοποίησης χρειάζεται ένα αντίστοιχο αντικείμενο στο αρχείο capabilities.json . Η ιδιότητα μορφοποίησης θα πρέπει να περιέχει μια περιγραφή με όνομα αντικειμένου και όνομα ιδιότητας που ταιριάζει απόλυτα με το αντίστοιχο αντικείμενο δυνατοτήτων (στα ονόματα αντικειμένων και ιδιοτήτων γίνεται διάκριση πεζών-κεφαλαίων).
Για παράδειγμα:
Για την ακόλουθη ιδιότητα μορφοποίησης στο μοντέλο μορφοποίησης (ανατρέξτε στο περιεχόμενο αντικειμένου περιγραφής):
const myCustomCard: powerbi.visuals.FormattingCard = {
displayName: "My Custom Object Card",
uid: "myCustomObjectCard_uid",
groups: [{
displayName: undefined,
uid: "myCustomObjectGroup_uid",
slices: [
{
uid: "myCustomProperty_uid",
displayName: "My Custom Property",
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "myCustomObject",
propertyName: "myCustomProperty",
selector: null // selector is optional
},
value: { value: "#000000" }
}
}
}
],
}],
};
Το αντίστοιχο αντικείμενο από την ενότητα δυνατοτήτων objects
θα πρέπει να είναι:
"objects": {
"myCustomObject": {
"properties": {
"myCustomProperty": {
"type": {
"fill": {
"solid": {
"color": true
}
}
}
}
}
}
}
Επιλογέας ιδιοτήτων μορφοποίησης
Ο προαιρετικός επιλογέας στην περιγραφή ιδιοτήτων μορφοποίησης προσδιορίζει το σημείο σύνδεσης κάθε ιδιότητας στο dataView. Υπάρχουν τέσσερις ξεχωριστές επιλογές.
Παράδειγμα
Το παραπάνω myCustomCard
παράδειγμα εμφανίζει την ιδιότητα μορφοποίησης στο μοντέλο μορφοποίησης που θα μοιάζει με ένα αντικείμενο με μία ιδιότητα myCustomProperty
. Αυτό το αντικείμενο ιδιότητας συνδέεται στατικά στο dataViews[index].metadata.objects
.
Ο επιλογέας στην περιγραφή μπορεί να αλλάξει ανάλογα με τον τύπο επιλογέα που επιλέγετε.
Τύποι επιλογέων αντικειμένων
Ο επιλογέας στο enumerateObjectInstances
προσδιορίζει το σημείο σύνδεσης κάθε αντικειμένου στην dataView. Υπάρχουν τέσσερις ξεχωριστές επιλογές:
στατικός
Αυτό το αντικείμενο συνδέεται στα μετα-δεδομένα dataviews[index].metadata.objects
, όπως φαίνεται εδώ.
selector: null
στήλες
Αυτό το αντικείμενο συνδέεται σε στήλες με το αντίστοιχο QueryName
.
selector: {
metadata: 'QueryName'
}
επιλογέας
Αυτό το αντικείμενο συνδέεται στο στοιχείο για το οποίο δημιουργήσατε ένα selectionID
. Σε αυτό το παράδειγμα, ας υποθέσουμε ότι δημιουργήσαμε selectionID
για ορισμένα σημεία δεδομένων και δημιουργούμε βρόχους σε αυτά.
for (let dataPoint in dataPoints) {
...
selector: dataPoint.selectionID.getSelector()
}
Ταυτότητα εμβέλειας
Αυτό το αντικείμενο συνδέεται με συγκεκριμένες τιμές στην τομή των ομάδων. Για παράδειγμα, εάν έχετε κατηγορίες και σειρές ["Jan", "Feb", "March", ...]
["Small", "Medium", "Large"]
, μπορεί να θέλετε να έχετε ένα αντικείμενο στην τομή των τιμών που συμφωνούν Feb
και Large
. Για να γίνει αυτό, μπορείτε να λάβετε την DataViewScopeIdentity
και των δύο στηλών, να τις προωθήσετε στη μεταβλητή identities
και να χρησιμοποιήσετε αυτήν τη σύνταξη με τον επιλογέα.
selector: {
data: <DataViewScopeIdentity[]>identities
}