EVALUATEANDLOG
Ισχύει για:Υπολογιζόμενη στήλη
Υπολογιζόμενος πίνακας
Μέτρηση
υπολογισμού απεικόνισης
Επιστρέφει την τιμή του πρώτου ορίσματος και το καταγράφει σε ένα DAX συμβάν Evaluation Log profiler. Αυτή η συνάρτηση είναι πλήρως λειτουργική μόνο στο Power BI Desktop. Λειτουργεί ως μια απλή συνάρτηση διαβίβασης σε άλλα περιβάλλοντα.
Σύνταξη
EVALUATEANDLOG(<Value>, [Label], [MaxRows])
Παραμέτρους
Όρος | Ορισμός |
---|---|
Value |
Οποιαδήποτε ανυσματική παράσταση ή παράσταση πίνακα προς αξιολόγηση και καταγραφή. |
Label |
(Προαιρετικό) Μια συμβολοσειρά σταθεράς που περιλαμβάνεται τόσο στο κείμενο json όσο και στη στήλη Ετικέτα του DAX συμβάν Αρχείο καταγραφής αξιολόγησης, η οποία μπορεί να χρησιμοποιηθεί για την εύκολη αναγνώριση μιας παρουσίας της κλήσης συνάρτησης. |
MaxRows |
(Προαιρετικό) Ο μέγιστος αριθμός γραμμών στο κείμενο json του DAX συμβάν Αρχείο καταγραφής αξιολόγησης όταν το πρώτο όρισμα είναι μια παράσταση πίνακα. Η προεπιλογή είναι 10. |
Τιμή επιστροφής
Η τιμή του πρώτου ορίσματος.
Η δομή JSON που έχει καταγραφεί σε ένα DAX συμβάν profiler αρχείου καταγραφής αξιολόγησης περιλαμβάνει:
-
expression
είναι η έκδοση κειμένου του πρώτου ορίσματος. -
label
είναι η παράμετρος Label όταν καθορίζεται στην παράσταση. -
inputs
είναι μια λίστα στηλών στο περιβάλλον αξιολόγησης που επηρεάζει τις τιμές του πρώτου ορίσματος. -
outputs
είναι μια λίστα μίας μόνο στήλης [Τιμή] όταν το πρώτο όρισμα είναι μια ανυσματική παράσταση και μια λίστα στηλών εξόδου όταν το πρώτο όρισμα είναι μια παράσταση πίνακα. -
data
είναι μια λίστα τιμών εισόδου και τιμών εξόδου όταν το πρώτο όρισμα είναι μια ανυσματική παράσταση και μια λίστα τιμών εισόδου και αντίστοιχων γραμμών εξόδου όταν το πρώτο όρισμα είναι μια παράσταση πίνακα. -
rowCount
είναι ο αριθμός των γραμμών όταν το πρώτο όρισμα είναι μια παράσταση πίνακα. Παρόλο που ο αριθμός των γραμμών στην έξοδο json περικόπτεται από την παράμετρο MaxRows, το rowCount είναι ο πραγματικός αριθμός γραμμών χωρίς εκτέλεση.
Παρατηρήσεις
Τα συμβάντα ανίχνευσης μπορούν να καταγραφούν χρησιμοποιώντας
SQL Server Profiler και το εργαλείο εξόδου ανοιχτού κώδικα . Αυτή η συνάρτηση μπορεί να χρησιμοποιηθεί με σχεδόν οποιαδήποτε δευτερεύουσα παράσταση σε μια παράσταση DAX και ολόκληρη η παράσταση θα εξακολουθεί να είναι έγκυρη.
Όταν το πρώτο όρισμα αξιολογείται πολλές φορές σε ένα μόνο ερώτημα, η συνάρτηση δημιουργεί ένα μοναδικό DAX συμβάν Αρχείο καταγραφής αξιολόγησης που περιέχει τόσο τις τιμές εισόδου όσο και τις αντίστοιχες τιμές εξόδου.
Όταν καθοριστεί η παράμετρος ετικέτας, η τιμή της επιστρέφεται τόσο στην έξοδο json όσο και στη στήλη Ετικέτα του συμβάντος DAX Αρχείο καταγραφής αξιολόγησης.
Εάν το πρώτο όρισμα είναι μια παράσταση πίνακα, μόνο οι επάνω γραμμές MaxRows εμφανίζονται στο συμβάν DAX Αρχείο καταγραφής αξιολόγησης.
Σε ορισμένες περιπτώσεις, αυτή η συνάρτηση δεν εκτελείται λόγω βελτιστοποιήσεων.
Εάν το συμβάν DAX Αρχείο καταγραφής αξιολόγησης είναι μεγαλύτερο από ένα εκατομμύριο χαρακτήρες, περικόπτεται για να διατηρηθεί η σωστή δομή json.
Παράδειγμα 1
Το παρακάτω DAX ερώτημα:
evaluate
SUMMARIZE(
EVALUATEANDLOG(FILTER(Sales, [ProductKey] = 528)),
Sales[SalesTerritoryKey],
"sum",
sum(Sales[Sales Amount])
)
Επιστρέφει το ακόλουθο DAX συμβάν Αρχείο καταγραφής αξιολόγησης:
{
"expression": "FILTER(Sales, [ProductKey] = 528)",
"inputs": [],
"outputs": ["'Sales'[SalesOrderLineKey]", "'Sales'[ResellerKey]", "'Sales'[CustomerKey]", "'Sales'[ProductKey]", "'Sales'[OrderDateKey]", "'Sales'[DueDateKey]", "'Sales'[ShipDateKey]", "'Sales'[SalesTerritoryKey]", "'Sales'[Order Quantity]", "'Sales'[Unit Price]", "'Sales'[Extended Amount]", "'Sales'[Product Standard Cost]", "'Sales'[Total Product Cost]", "'Sales'[Sales Amount]", "'Sales'[Unit Price Discount Pct]"],
"data": [
{
"input": [],
"rowCount": 3095,
"output": [
[52174001, -1, 23785, 528, 20190707, 20190717, 20190714, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[52173001, -1, 26278, 528, 20190707, 20190717, 20190714, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[52082001, -1, 23831, 528, 20190705, 20190715, 20190712, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[52054002, -1, 11207, 528, 20190704, 20190714, 20190711, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[52036001, -1, 25337, 528, 20190704, 20190714, 20190711, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[51939002, -1, 23670, 528, 20190702, 20190712, 20190709, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[51911002, -1, 11746, 528, 20190701, 20190711, 20190708, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[51379003, -1, 13745, 528, 20190612, 20190622, 20190619, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[51264002, -1, 11282, 528, 20190605, 20190615, 20190612, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0],
[51184003, -1, 11263, 528, 20190531, 20190610, 20190607, 1, 1, 4.99, 4.99, 1.8663, 1.8663, 4.99, 0.0]
]
}
]
}
Παράδειγμα 2
Το παρακάτω DAX ερώτημα με ένα ανυσματικά ορίσματα και χαρακτηριστικά που διαφέρουν:
evaluate
SELECTCOLUMNS(
TOPN(5, Customer),
[Customer],
"Customer",
EVALUATEANDLOG([Customer] & ", " & [Country-Region], "customerLog")
)
Επιστρέφει το ακόλουθο DAX συμβάν Αρχείο καταγραφής αξιολόγησης:
{
"expression": "[Customer] & \", \" & [Country-Region]",
"label": "customerLog",
"inputs": ["'Customer'[Customer]", "'Customer'[Country-Region]"],
"data": [
{
"input": ["Russell Xie", "United States"],
"output": "Russell Xie, United States"
},
{
"input": ["Savannah Baker", "United States"],
"output": "Savannah Baker, United States"
},
{
"input": ["Maurice Tang", "United States"],
"output": "Maurice Tang, United States"
},
{
"input": ["Emily Wood", "United States"],
"output": "Emily Wood, United States"
},
{
"input": ["Meghan Hernandez", "United States"],
"output": "Meghan Hernandez, United States"
}
]
}