Δημιουργία εφαρμογής συνδεδεμένης σε μοντέλο σημασιολογίας

Χρησιμοποιήστε το πρότυπο εφαρμογής δεδομένων με μια σύνδεση μοντέλου σημασιολογίας Fabric για να δημιουργήσετε μια εφαρμογή ανάλυσης Fabric. Το πρότυπο παρέχει οπτικοποίηση, μορφοποίηση, πλέγμα δεδομένων και μοτίβα επικύρωσης προγράμματος περιήγησης. Η σύνδεση παρέχει πληκτρολογημένη, ανατεθειμένη πρόσβαση σε ένα σημασιολογικό μοντέλο μέσω του προγράμματος-πελάτη Fabric Apps.

Έτοιμες για χρήση, οι εφαρμογές που δημιουργούνται με το πρότυπο περιλαμβάνουν:

  • Fabric authentication.
  • Οδηγίες δημιουργίας DAX (Παραστάσεις ανάλυσης δεδομένων) υψηλότερης ποιότητας.
  • Οπτικά στοιχεία έτοιμα για επιχειρήσεις, σχεδιασμένα για αναλυτικές εφαρμογές.
  • Πλέγμα δεδομένων, θέματα, μορφοποίηση και μοτίβα επικύρωσης προγράμματος περιήγησης.

Σημείωση

Προς το παρόν, το Rayfin CLI είναι ο υποστηριζόμενος τρόπος δημιουργίας εφαρμογών χρησιμοποιώντας το πρότυπο εφαρμογής δεδομένων.

Γιατί να χρησιμοποιήσετε το πρότυπο εφαρμογής δεδομένων;

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

  • Περισσότερες αποτυχίες και σπασμένα ή κενά γραφικά.
  • Ασυνεπής συμπεριφορά γραφήματος.
  • Περιττά ερωτήματα DAX κατά την ανάπτυξη και τον χρόνο εκτέλεσης.

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

Προϋποθέσεις

  • Node.js 20 ή μεταγενέστερη έκδοση.
  • Πρόσβαση στο Fabric.
  • Ένας χώρος εργασίας Fabric όπου έχετε δικαιώματα συμβάλλου, μέλους ή διαχειριστή.
  • Ο φόρτος εργασίας Fabric Apps είναι ενεργοποιημένος στον μισθωτή σας. Ανατρέξτε στο θέμα Δημιουργία της πρώτης σας εφαρμογής Fabric.
  • Ενεργοποιήθηκε η ρύθμιση μισθωτή REST API εκτέλεσης ερωτημάτων σημασιολογικού μοντέλου.
  • Δικαιώματα δημιουργίας και ανάγνωσης σε ένα σημασιολογικό μοντέλο που φιλοξενείται σε εκχωρημένους πόρους Fabric ή Power BI.
  • Το αναγνωριστικό χώρου εργασίας και το αναγνωριστικό στοιχείου για το μοντέλο σημασιολογίας.

Δημιουργία εφαρμογής

Δημιουργήστε ένα έργο από το πρότυπο εφαρμογής δεδομένων:

npm create @microsoft/rayfin@latest -- "<app-name>" --template dataapp --workspace <workspace-name>

Αντικαταστήστε <app-name> το και <workspace-name> με τα ονόματα για την εφαρμογή και τον χώρο εργασίας Fabric. Στη συνέχεια, ανοίξτε το νέο φάκελο του έργου:

cd <app-name>

Προσθήκη της σύνδεσης μοντέλου σημασιολογίας

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

npx rayfin connector search --workspace-id <workspace-id> --type fabric-semanticmodel --json

Προσθέστε το σημασιολογικό μοντέλο ως σύνδεση:

npx rayfin connector add --type fabric-semanticmodel --workspace-id <workspace-id> --item-id <semantic-model-item-id> --name salesModel --operations executeQuery

Η εντολή:

  • Προσθέτει τη salesModel γραμμή σύνδεσης στο rayfin/rayfin.yml.
  • Δημιουργεί το σχήμα του κάτω από rayfin/connectors/salesModel/.
  • Εκτυπώνει μια εντολή που ταιριάζει με npm install την έκδοση για τα πακέτα σύνδεσης.

Εκτελέστε την ακριβή εντολή εγκατάστασης που εκτυπώνεται από το CLI.

Η διαμόρφωση που δημιουργείται μοιάζει με το ακόλουθο παράδειγμα:

connectors:
  - name: salesModel
    type: fabric-semanticmodel
    config:
      workspaceId: "<workspace-id>"
      itemId: "<semantic-model-item-id>"
    auth:
      type: delegated
    version: "1"
    operations:
      - name: executeQuery

Διατηρήστε την παραγόμενη version τιμή.

Σύνδεση του προτύπου με το μοντέλο σημασιολογίας

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

Σημαντικός

Χρησιμοποιήστε το πρόγραμμα-πελάτη σύνδεσης για ερωτήματα μοντέλου σημασιολογίας. Εάν το ικρίωμα περιλαμβάνει έναν άλλο πελάτη σημασιολογικού μοντέλου, αντικαταστήστε τις κλήσεις σε αυτόν αντί να διατηρήσετε δύο διαδρομές πρόσβασης δεδομένων.

import { ConnectorsRayfinClient } from '@microsoft/rayfin-client';
import { fabricSemanticModel } from '@microsoft/rayfin-connector-fabric-semanticmodel';
import {
  connectorConfig,
  type SalesModelSchema,
} from '../../rayfin/connectors/salesModel/schema.js';

type AppConnectorsSchema = {
  salesModel: SalesModelSchema;
};

export const client = new ConnectorsRayfinClient<
  Record<string, never>,
  Record<string, never>,
  AppConnectorsSchema
>(
  {
    baseUrl: '<app-api-url>',
    publishableKey: '<publishable-key>',
    authStorage: true,
    connectors: {
      salesModel: connectorConfig,
    },
  },
  {
    salesModel: fabricSemanticModel(),
  }
);

Χρησιμοποιήστε τη διεύθυνση URL API και το κλειδί με δυνατότητα δημοσίευσης από το έργο Fabric Apps. Διατηρήστε την υπάρχουσα ροή εισόδου Fabric του προτύπου.

Υποβολή DAX μέσω της σύνδεσης:

const result = await client.connectors.salesModel.executeQuery({
  query: 'EVALUATE TOPN(10, Sales)',
});

if (result.status === 'success') {
  console.log(result.table.columns, result.table.rows);
} else {
  console.error(result.error.category, result.error.message);
}

Αντικαταστήστε Sales με έναν πίνακα στο σημασιολογικό σας μοντέλο. Ελέγξτε την κατάσταση που επιστρέφεται πριν μεταβιβάσετε στήλες και γραμμές σε μια απεικόνιση.

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

Δημιουργήστε την εφαρμογή με έναν παράγοντα κωδικοποίησης

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

Για παράδειγμα, μπορείτε να κάνετε τα εξής:

  • Ανοίξτε το έργο στο Visual Studio Code και, στη συνέχεια, ανοίξτε το τμήμα παραθύρου GitHub Copilot Chat.
  • Ανοίξτε ένα τερματικό στο έργο και, στη συνέχεια, εκτελέστε copilotτο αρχείο .

Στιγμιότυπο οθόνης που εμφανίζει τη διασύνδεση GitHub Copilot Chat στον κώδικα του Visual Studio Code.

Χρησιμοποιήστε αυτήν την προτροπή ως σημείο εκκίνησης:

Build an analytical Fabric app that uses the existing salesModel connector.

Before editing:
1. Read the repository instructions and skills.
2. Inspect rayfin/connectors/salesModel/schema.ts and the template's data-access,
   visualization, data grid, formatting, and validation patterns.
3. Query the semantic model metadata before writing DAX. Don't guess table,
   measure, or column names.

Requirements:
- Use ConnectorsRayfinClient and fabricSemanticModel() for semantic model access.
- Call client.connectors.salesModel.executeQuery() for DAX queries.
- Keep the existing Fabric sign-in flow. Don't add credentials, access tokens,
  another authentication flow, or direct calls to the Execute Queries REST API.
- Reuse query results where practical, and bound large result sets.
- Apply semantic model format strings consistently to cards, charts, tooltips,
  and data grids.
- Include loading, empty, and error states.
- Use the template's browser-validation workflow at desktop and mobile sizes.

Give me a short implementation plan, make the changes, run the existing build,
and report the results.

Χρήση των δυνατοτήτων του προτύπου

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

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

Απεικονίσεις

Το πρότυπο περιλαμβάνει διασταυρούμενη επισήμανση και προρυθμισμένα πρωτόγονα για:

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

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

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

Δυνατότητες πλέγματος δεδομένων

Το πρότυπο περιλαμβάνει ένα πλέγμα δεδομένων με αυτές τις προρυθμισμένες δυνατότητες:

  • Κεφαλίδες στηλών που προέρχονται από μεταδεδομένα σημασιολογικού μοντέλου.
  • Μορφοποίηση αριθμών και ημερομηνιών που εφαρμόζεται ανά στήλη μέσω συμβολοσειρών μορφοποίησης.
  • Ταξινόμηση.
  • Σειρές με δυνατότητα κύλισης με χειρισμό υπερχείλισης.
  • Υποστήριξη ανοιχτού και σκούρου θέματος.
  • Προσαρμοσμένες αποδόσεις κελιών για:
    • Ράβδοι δεδομένων για αριθμητικές τιμές.
    • Δείκτες Boolean.
    • URL με δυνατότητα κλικ.
    • Κελιά εικόνας με επικάλυψη lightbox.
    • Κελιά πολλών πεδίων, όπως ένα όνομα και ένας ρόλος σε μία στήλη.

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

Θεματοποίηση

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

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

Συμβολοσειρές μορφοποίησης

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

Για παράδειγμα, ένας ορισμός μεμονωμένης μορφής συνεχίζει να 1500.5 εμφανίζεται ως $1,500.50 και να εμφανίζεται όπως 25% όπου 0.25 εμφανίζονται αυτές οι τιμές.

Επικύρωση προγράμματος περιήγησης

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

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

Αυτή η ροή εργασίας εντοπίζει ζητήματα διάταξης και απόδοσης πριν τα δουν οι χρήστες. Η επικύρωση του προγράμματος περιήγησης επιβεβαιώνει τη συμπεριφορά του frontend. Δοκιμάστε την αναπτυγμένη σύνδεση ξεχωριστά με έναν χρήστη που έχει πρόσβαση τόσο στην εφαρμογή Fabric όσο και στο σημασιολογικό μοντέλο.

Ανάπτυξη και επαλήθευση της εφαρμογής

Αναπτύξτε τη ρύθμιση παραμέτρων της εφαρμογής και της σύνδεσης:

npx rayfin up

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

Εάν ένα ερώτημα αποτύχει:

  • Επιβεβαιώστε τα αναγνωριστικά στοιχείων χώρου εργασίας και μοντέλου σημασιολογίας στο rayfin.yml.
  • Επιβεβαιώστε ότι η ρύθμιση μισθωτή REST API εκτέλεσης μοντέλου σημασιολογίας είναι ενεργοποιημένη.
  • Επιβεβαιώστε ότι ο χρήστης έχει δικαιώματα δημιουργίας και ανάγνωσης στο μοντέλο σημασιολογίας.
  • Επαληθεύστε ότι το DAX αναφέρεται σε υπάρχοντες πίνακες, στήλες και μετρήσεις.
  • Ελέγξτε την κατηγορία σφάλματος και το μήνυμα του αποτελέσματος της σύνδεσης.
  • Ελέγξτε την κονσόλα του προγράμματος περιήγησης για σφάλματα από την πλευρά του προγράμματος-πελάτη.