GENERATE
Ισχύει για:Υπολογιζόμενη στήλη
Υπολογιζόμενος πίνακας
Μέτρηση
υπολογισμού απεικόνισης
Επιστρέφει έναν πίνακα με το Καρτεσιανό γινόμενο μεταξύ κάθε γραμμής στον table1 και στον πίνακα που προκύπτει από την αξιολόγηση table2 στο περιβάλλον της τρέχουσας γραμμής από table1.
Σύνταξη
GENERATE(<table1>, <table2>)
Παραμέτρους
Όρος | Ορισμός |
---|---|
table1 |
Οποιαδήποτε DAX παράσταση που επιστρέφει έναν πίνακα. |
table2 |
Οποιαδήποτε DAX παράσταση που επιστρέφει έναν πίνακα. |
Τιμή επιστροφής
Ένας πίνακας με το καρτεσιανό γινόμενο μεταξύ κάθε γραμμής σε table1 και του πίνακα που προκύπτει από την αξιολόγηση table2 στο περιβάλλον της τρέχουσας γραμμής από table1
Παρατηρήσεις
Εάν η αξιολόγηση του table2 για την τρέχουσα γραμμή στον table1 επιστρέφει έναν κενό πίνακα, τότε ο πίνακας που προκύπτει δεν θα περιέχει την τρέχουσα γραμμή από τον table1. Αυτό είναι διαφορετικό από GENERATEALL() όπου η τρέχουσα γραμμή από table1 θα συμπεριληφθεί στα αποτελέσματα και οι στήλες που αντιστοιχούν στον table2 θα έχουν τιμές null για αυτήν τη γραμμή.
Όλα τα ονόματα στηλών από table1 και table2 πρέπει να είναι διαφορετικά ή να επιστρέφεται σφάλμα.
Αυτή η συνάρτηση δεν υποστηρίζεται για χρήση σε λειτουργία DirectQuery όταν χρησιμοποιείται σε υπολογιζόμενες στήλες ή σε κανόνες ασφάλειας σε επίπεδο γραμμών (RLS).
Παράδειγμα
Στο παρακάτω παράδειγμα, ο χρήστης θέλει έναν πίνακα σύνοψης των πωλήσεων κατά περιοχή και κατηγορία προϊόντος για το κανάλι μεταπωλητών, όπως τον ακόλουθο πίνακα:
SalesTerritory[SalesTerritoryGroup] | ProductCategory[ProductCategoryName] | [Πωλήσεις μεταπωλητή] |
---|---|---|
Ευρώπη | Εξαρτήματα | $ 142,227.27 |
Ευρώπη | Ποδήλατα | $ 9,970,200.44 |
Ευρώπη | Ρουχισμός | $ 365,847.63 |
Ευρώπη | Στοιχεία | $ 2,214,440.19 |
Βόρεια Αμερική | Εξαρτήματα | $ 379,305.15 |
Βόρεια Αμερική | Ποδήλατα | $ 52,403,796.85 |
Βόρεια Αμερική | Ρουχισμός | $ 1,281,193.26 |
Βόρεια Αμερική | Στοιχεία | $ 8,882,848.05 |
Ειρηνικός Ωκεανός | Εξαρτήματα | $ 12,769.57 |
Ειρηνικός Ωκεανός | Ποδήλατα | $ 710,677.75 |
Ειρηνικός Ωκεανός | Ρουχισμός | $ 22,902.38 |
Ειρηνικός Ωκεανός | Στοιχεία | $ 108,549.71 |
Ο ακόλουθος τύπος παράγει τον παραπάνω πίνακα:
GENERATE(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
Η πρώτη πρόταση SUMMARIZE,
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
, παράγει έναν πίνακα με ομάδες περιοχών, όπου κάθε γραμμή είναι μια ομάδα περιοχών, όπως φαίνεται παρακάτω:SalesTerritory[SalesTerritoryGroup] Βόρεια Αμερική Ευρώπη Ειρηνικός Ωκεανός NA Η δεύτερη πρόταση SUMMARIZE,
SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))
, παράγει έναν πίνακα με ομάδες κατηγοριών προϊόντων με τις πωλήσεις μεταπωλητών για κάθε ομάδα, όπως φαίνεται παρακάτω:ProductCategory[ProductCategoryName] [Πωλήσεις μεταπωλητή] Ποδήλατα $ 63,084,675.04 Στοιχεία $ 11,205,837.96 Ρουχισμός $ 1,669,943.27 Εξαρτήματα $ 534,301.99 Ωστόσο, όταν κάνετε λήψη του παραπάνω πίνακα και τον αξιολογείτε με βάση το περιβάλλον κάθε γραμμής από τον πίνακα ομάδων περιοχών, λαμβάνετε διαφορετικά αποτελέσματα για κάθε περιοχή.