Azure Cosmos DB v2 (Beta)
Σύνοψη
Στοιχείο | Περιγραφή |
---|---|
Κατάσταση έκδοσης | Βήτα |
Προϊόντα | Power BI (Σημασιολογικά μοντέλα) Power BI (Ροές δεδομένων) Fabric (Dataflow Gen2) |
Υποστηριζόμενοι τύποι ελέγχου ταυτότητας | Κλειδί τροφοδοσίας |
Προαπαιτούμενα στοιχεία
- Ένας λογαριασμός Azure Cosmos DB .
Υποστηριζόμενες δυνατότητες
- Εισαγωγή
- DirectQuery (σημασιολογικά μοντέλα Power BI)
- Επιλογές για προχωρημένους
- Αριθμός επαναλήψεων
- Ενεργοποίηση διαβίβασης συνάρτησης "AVERAGE"
- Ενεργοποίηση διαβίβασης "SORT" για πολλές στήλες
Σύνδεση στο Azure Cosmos DB
Για να συνδεθείτε στα δεδομένα του Azure Cosmos DB:
Εκκινήστε το Power BI Desktop.
Στην Αρχική καρτέλα, επιλέξτε Λήψη δεδομένων.
Στο πλαίσιο αναζήτησης, πληκτρολογήστε Cosmos DB v2.
Επιλέξτε Azure Cosmos DB v2 (Beta) και, στη συνέχεια, επιλέξτε Σύνδεση.
Στη σελίδα σύνδεσης Azure Cosmos DB v2, για Cosmos Endpoint, εισαγάγετε το URI του λογαριασμού Azure Cosmos DB που θέλετε να χρησιμοποιήσετε. Για τη λειτουργία συνδεσιμότητας δεδομένων, επιλέξτε μια λειτουργία που είναι κατάλληλη για την περίπτωση χρήσης σας, ακολουθώντας τις παρακάτω γενικές οδηγίες:
Για μικρότερα σύνολα δεδομένων, επιλέξτε Εισαγωγή. Όταν χρησιμοποιείτε τη λειτουργία εισαγωγής, το Power BI συνεργάζεται με το Cosmos DB για την εισαγωγή των περιεχομένων ολόκληρου του συνόλου δεδομένων για χρήση στις απεικονίσεις σας.
Η λειτουργία DirectQuery επιτρέπει την προώθηση ερωτημάτων στο κοντέινερ Cosmos DB για εκτέλεση και βελτιώνει τις επιδόσεις της σύνδεσης. Για τα διαμερισμένα κοντέινερ Cosmos DB, ένα ερώτημα SQL με συνάρτηση συγκεντρωτικών αποτελεσμάτων μεταβιβάζεται στο Cosmos DB εάν το ερώτημα περιέχει επίσης ένα φίλτρο (όρο WHERE) στο Κλειδί διαμερίσματος. Για παράδειγμα, εάν το κλειδί διαμερίσματος έχει οριστεί ως "Προϊόν", τότε ένα ερώτημα SQL που μπορεί να διαβιβαστεί και να εκτελεστεί στον διακομιστή Cosmos DB μπορεί να είναι:
SELECT SUM(ColumnName) FROM TableName where Product = 'SampleValue'
Σημείωμα
Χρησιμοποιήστε τη Σύνδεση Azure Synapse για το Azure Cosmos DB εάν θέλετε να εκτελέσετε συναρτήσεις συγκεντρωτικών αποτελεσμάτων μεταξύ διαμερισμάτων στο κοντέινερ Cosmos DB.
Περισσότερες πληροφορίες:
Στη γραμμή εντολών για να ρυθμίσετε τον έλεγχο ταυτότητας προέλευσης δεδομένων, πληκτρολογήστε κλειδί λογαριασμού. Στη συνέχεια, επιλέξτε Σύνδεση. Ο κατάλογος δεδομένων, οι βάσεις δεδομένων και οι πίνακές σας εμφανίζονται στο παράθυρο διαλόγου Περιήγηση .
Στο τμήμα παραθύρου Εμφάνιση επιλογών, επιλέξτε το πλαίσιο ελέγχου για το σύνολο δεδομένων που θέλετε να χρησιμοποιήσετε.
Ο βέλτιστος τρόπος για να καθορίσετε το φίλτρο κλειδιού διαμερίσματος (έτσι ώστε οι συναρτήσεις συγκεντρωτικών αποτελεσμάτων να μπορούν να προωθηθούν στο Cosmos DB) είναι να χρησιμοποιήσετε δυναμικές παραμέτρους M. Για να χρησιμοποιήσετε δυναμικές παραμέτρους M, θα δημιουργήσετε ένα σύνολο δεδομένων με μοναδικές τιμές κλειδιού διαμερίσματος, θα δημιουργήσετε μια παράμετρο, θα την προσθέσετε ως φίλτρο στο κύριο σύνολο δεδομένων, θα το συνδέσετε στο μοναδικό σύνολο δεδομένων κλειδιού διαμερίσματος και θα το χρησιμοποιήσετε ως αναλυτή για το κύριο σύνολο δεδομένων. Χρησιμοποιήστε τα παρακάτω βήματα για να ενεργοποιήσετε δυναμικές παραμέτρους M για φιλτράρισμα κλειδιού διαμερίσματος.
a. Δημιουργία συνόλου δεδομένων με μοναδικές τιμές κλειδιού διαμερίσματος:
Στην Περιήγηση, επιλέξτε Μετασχηματισμός δεδομένων αντί για Φόρτωση για να εμφανίσετε το πρόγραμμα επεξεργασίας Power Query. Κάντε δεξί κλικ στο σύνολο δεδομένων ερωτημάτων και, στη συνέχεια, επιλέξτε Αναπαραγωγή για να δημιουργήσετε ένα νέο σύνολο δεδομένων.
Μετονομάστε το νέο μοντέλο κλειδιού διαμερίσματος και, στη συνέχεια, κάντε δεξί κλικ στη στήλη κλειδιού διαμερίσματος Cosmos DB. Σε αυτό το παράδειγμα, Product είναι η στήλη κλειδιού διαμερίσματος Cosmos DB. Επιλέξτε Κατάργηση άλλων στηλών και, στη συνέχεια, επιλέξτε Κατάργηση διπλότυπων.
β. Δημιουργία παραμέτρου για δυναμικό φιλτράρισμα:
Στο πρόγραμμα επεξεργασίας Power Query, επιλέξτε Διαχείριση παραμέτρων>Νέα παράμετρος. Μετονομάστε τη νέα παράμετρο ώστε να αντικατοπτρίζει την παράμετρο φίλτρου και εισαγάγετε μια έγκυρη τιμή ως Τρέχουσα τιμή.
γ. Εφαρμογή παραμετροποιημένου φίλτρου στο κύριο σύνολο δεδομένων:
Επιλέξτε το αναπτυσσόμενο εικονίδιο της στήλης Κλειδί διαμερίσματος και, στη συνέχεια, επιλέξτε Φίλτρα>κειμένου Ισούται με. Αλλάξτε τον τύπο φίλτρου από Κείμενο σε Παράμετρος. Στη συνέχεια, επιλέξτε την παράμετρο που δημιουργήθηκε στο βήμα β. Επιλέξτε Κλείσιμο και εφαρμογή στην επάνω αριστερή γωνία του προγράμματος επεξεργασίας Power Query.
δ. Δημιουργία αναλυτή τιμών κλειδιού διαμερίσματος με σύνδεση παραμέτρων:
Στο Power BI, επιλέξτε την καρτέλα Μοντέλο . Στη συνέχεια, επιλέξτε το πεδίο Κλειδί διαμερίσματος. Από το τμήμα παραθύρου Ιδιότητες, επιλέξτε Σύνδεση για προχωρημένους>στην παράμετρο. Επιλέξτε την παράμετρο που δημιουργήθηκε στο βήμα β.
Επιλέξτε την καρτέλα Αναφορά και προσθέστε έναν αναλυτή με το μοναδικό Κλειδί διαμερίσματος.
ε. Προσθήκη απεικονίσεων και εφαρμογή φίλτρου κλειδιού διαμερίσματος από τον αναλυτή:
Δεδομένου ότι η επιλεγμένη τιμή κλειδιού διαμερίσματος στον αναλυτή συνδέεται στην παράμετρο (όπως γίνεται στο βήμα δ) και το παραμετροποιημένο φίλτρο εφαρμόζεται στο κύριο σύνολο δεδομένων (όπως γίνεται στο βήμα γ), η επιλεγμένη τιμή κλειδιού διαμερίσματος εφαρμόζεται ως φίλτρο στο κύριο σύνολο δεδομένων και το ερώτημα με το φίλτρο κλειδιού διαμερίσματος μεταβιβάζεται προς τα κάτω στο Cosmos DB σε όλες τις απεικονίσεις.
Επιλογές για προχωρημένους
Το Power Query παρέχει ένα σύνολο σύνθετων επιλογών που μπορείτε να προσθέσετε στο ερώτημά σας, εάν είναι απαραίτητο.
Ο παρακάτω πίνακας παραθέτει όλες τις επιλογές για προχωρημένους που μπορείτε να ορίσετε στο Power Query.
Επιλογή για προχωρημένους | Περιγραφή |
---|---|
Αριθμός επαναλήψεων | Πόσες φορές θα προσπαθήσετε ξανά εάν υπάρχουν κωδικοί επιστροφής 408 - Request Timeout HTTP , 412 - Precondition Failed ή 429 - Too Many Requests . Ο προεπιλεγμένος αριθμός επαναλήψεων είναι 5. |
Ενεργοποίηση διαβίβασης συνάρτησης AVERAGE | Καθορίζει εάν η σύνδεση επιτρέπει μεταβίβαση της συνάρτησης συγκεντρωτικών αποτελεσμάτων AVG στο Cosmos DB. Η προεπιλεγμένη τιμή είναι 1 και η σύνδεση επιχειρεί να μεταβιβάσει τη συνάρτηση συγκεντρωτικών αποτελεσμάτων AVG προς τα κάτω στο Cosmos DB, από προεπιλογή. Εάν το όρισμα περιέχει τιμές συμβολοσειράς, δυαδικής τιμής ή null για τη συνάρτηση συγκεντρωτικών αποτελεσμάτων AVG, επιστρέφεται ένα μη καθορισμένο σύνολο αποτελεσμάτων από τον διακομιστή Cosmos DB. Όταν οριστεί σε τιμή 0, η συνάρτηση συγκεντρωτικών αποτελεσμάτων AVG δεν μεταβιβάζεται προς τα κάτω στον διακομιστή Cosmos DB και στους χειρισμούς σύνδεσης που εκτελούν την ίδια τη λειτουργία συνάθροισης AVG. |
Ενεργοποίηση διαβίβασης SORT για πολλές στήλες | Καθορίζει εάν η σύνδεση επιτρέπει τη μεταβίβαση πολλών στηλών στο Cosmos DB όταν καθορίζεται στον όρο ORDER BY του ερωτήματος SQL. Η προεπιλεγμένη τιμή είναι 0 και εάν έχουν καθοριστεί περισσότερες από μία στήλες στον όρο ORDER BY, η σύνδεση δεν διαβιβάζει τις στήλες από προεπιλογή και αντ' αυτού χειρίζεται την εκτέλεση της σειράς από μόνη της. Όταν οριστεί σε τιμή 1, η σύνδεση επιχειρεί να μεταβιβάσει πολλές στήλες στο Cosmos DB όταν καθορίζεται στον όρο ORDER BY του ερωτήματος SQL. Για να επιτρέψετε τη μεταβίβαση πολλών στηλών στο Cosmos DB, βεβαιωθείτε ότι έχετε ορίσει σύνθετα ευρετήρια στις στήλες στις αντίστοιχες συλλογές. Για διαμερισμένες συλλογές, ένα ερώτημα SQL με ORDER BY θα μεταβιβαστεί προς τα κάτω στο Cosmos DB μόνο εάν το ερώτημα περιέχει ένα φίλτρο στο διαμερισμένο κλειδί. Επίσης, εάν υπάρχουν περισσότερες από οκτώ στήλες που καθορίζονται στον όρο ORDER BY, η σύνδεση δεν διαβιβάζει τον όρο ORDER BY και αντ' αυτού χειρίζεται την ίδια την εκτέλεση ταξινόμησης. |
Γνωστά ζητήματα και περιορισμοί
Για τα διαμερισμένα κοντέινερ Cosmos DB, ένα ερώτημα SQL με συνάρτηση συγκεντρωτικών αποτελεσμάτων μεταβιβάζεται στο Cosmos DB εάν το ερώτημα περιέχει επίσης ένα φίλτρο (όρο WHERE) στο Κλειδί διαμερίσματος. Εάν το ερώτημα συνάθροισης δεν περιέχει ένα φίλτρο στο κλειδί διαμερίσματος, η συνάθροιση εκτελείται από τη σύνδεση.
Η σύνδεση δεν διαβιβάζει μια συνάρτηση συγκεντρωτικών αποτελεσμάτων εάν κληθεί μετά την εφαρμογή των top ή LIMIT. Το Cosmos DB επεξεργάζεται τη λειτουργία TOP στο τέλος κατά την επεξεργασία ενός ερωτήματος. Για παράδειγμα, στο παρακάτω ερώτημα, το TOP εφαρμόζεται στο δευτερεύον ερώτημα, ενώ η συνάρτηση συγκεντρωτικών αποτελεσμάτων εφαρμόζεται πάνω από αυτό το σύνολο αποτελεσμάτων:
SELECT COUNT(1) FROM (SELECT TOP 4 * FROM EMP) E
Εάν παρέχεται η DISTINCT σε μια συνάρτηση συγκεντρωτικών αποτελεσμάτων, η σύνδεση δεν διαβιβάζει τη συνάρτηση συγκεντρωτικών αποτελεσμάτων στο Cosmos DB εάν παρέχεται ένας όρος DISTINCT σε μια συνάρτηση συγκεντρωτικών αποτελεσμάτων. Όταν υπάρχει σε μια συνάρτηση συγκεντρωτικών αποτελεσμάτων, η DISTINCT δεν υποστηρίζεται από το Cosmos DB SQL API.
Για τη συνάρτηση συγκεντρωτικών αποτελεσμάτων SUM, η συνάρτηση Cosmos DB επιστρέφει μη καθορισμένο ως αποτέλεσμα, εάν οποιοδήποτε από τα ορίσματα στη SUM είναι συμβολοσειρά, δυαδική τιμή ή null. Ωστόσο, εάν υπάρχουν τιμές null, η σύνδεση μεταβιβάζει το ερώτημα στο Cosmos DB με τέτοιο τρόπο ώστε να ζητά από την προέλευση δεδομένων να αντικαταστήσει μια τιμή null με μηδέν ως μέρος του υπολογισμού SUM.
Για τη συνάρτηση συγκεντρωτικών αποτελεσμάτων AVG, η συνάρτηση Cosmos DB επιστρέφει μη καθορισμένο ως αποτέλεσμα εάν οποιοδήποτε από τα ορίσματα στη SUM είναι συμβολοσειρά, δυαδική τιμή ή null. Η σύνδεση εκθέτει μια ιδιότητα σύνδεσης για να απενεργοποιήσει τη μεταβίβαση της συνάρτησης συγκεντρωτικών αποτελεσμάτων AVG στο Cosmos DB, σε περίπτωση που αυτή η προεπιλεγμένη συμπεριφορά Cosmos DB πρέπει να αντικατασταθεί. Όταν η διαβίβαση AVG είναι απενεργοποιημένη, δεν διαβιβάζεται στο Cosmos DB και οι λαβές σύνδεσης που εκτελούν την ίδια τη λειτουργία συνάθροισης AVG. Για περισσότερες πληροφορίες, μεταβείτε στην επιλογή "Ενεργοποίηση διαβίβασης συνάρτησης AVERAGE" στις Επιλογές για προχωρημένους.
Τα κοντέινερ Azure Cosmos DB με μεγάλο κλειδί διαμερίσματος δεν υποστηρίζονται προς το παρόν στη σύνδεση.
Η διαβίβαση συνάθροισης είναι απενεργοποιημένη για την ακόλουθη σύνταξη λόγω περιορισμών του διακομιστή:
Όταν το ερώτημα δεν φιλτράρει σε ένα κλειδί διαμερίσματος ή όταν το φίλτρο κλειδιού διαμερίσματος χρησιμοποιεί τον τελεστή OR με άλλο κατηγόρημα στο ανώτερο επίπεδο στον όρο WHERE.
Όταν το ερώτημα έχει ένα ή περισσότερα κλειδιά διαμερίσματος, εμφανίζονται σε έναν όρο IS NOT NULL στον όρο WHERE.
Η σύνδεση V2 δεν υποστηρίζει σύνθετους τύπους δεδομένων, όπως πίνακες, αντικείμενα και ιεραρχικές δομές. Συνιστούμε τη δυνατότητα Fabric Mirroring for Azure Cosmos DB για αυτά τα σενάρια.
Η σύνδεση V2 χρησιμοποιεί δειγματοληψία των 1.000 πρώτων εγγράφων για να καταλήξει στο συναχθεί σχήμα. Δεν συνιστάται για σενάρια εξέλιξης σχήματος όταν ενημερώνεται μόνο ένα μέρος των εγγράφων. Για παράδειγμα, μια ιδιότητα που προστέθηκε πρόσφατα σε ένα έγγραφο σε ένα κοντέινερ με μνηστικά εγγράφων ενδέχεται να μην συμπεριλαμβάνεται στο συνηθισμένο σχήμα. Συνιστούμε τη δυνατότητα Fabric Mirroring for Azure Cosmos DB για αυτά τα σενάρια.
Προς το παρόν, η σύνδεση V2 δεν υποστηρίζει τιμές που δεν είναι συμβολοσειρές σε ιδιότητες αντικειμένου.
Η μείωση φιλτραρίσματος είναι απενεργοποιημένη για την ακόλουθη σύνταξη λόγω περιορισμών του διακομιστή:
- Όταν το ερώτημα που περιέχει μία ή περισσότερες συγκεντρωτικές στήλες αναφέρεται στον όρο WHERE.