Intermediate Level Functions. Μια πιο ελεύθερη προσέγγιση είναι ότι η χρήση τους εξομοιώνει τις λειτουργίες ενός Κύβου . Στον Κύβο υπάρχουν διαστάσεις (Dimensions) και Aggregates (Summaries) είτε ανά διάσταση είτε συγκεντρωτικά, που υπολογίζονται αυτόματα. Χρησιμοποιώντας αυτού του τύπου συναρτήσεις μπορείτε να εξομοιώσετε αυτή την συμπεριφορά και σε Grids .
aggr( SummaryExpression, Dimensions)
Υπολογίζει Aggregates ( Sum,Avg κλπ ) για μία τιμή (Πεδίο) είτε για το σύνολο των εγγραφών είτε ως υποσύνολο σε δοτές διαστάσεις.
Παράμετροι :
- SummaryExpression. Η έκφραση.
- Dimensions ,, . Διαστάσεις χωρισμένες με κόμμα (,) ή τίποτα για υπολογισμό σε όλες τις γραμμές.
Παράδειγμα:
aggr(Sum( [Αξία Πωλήσεων] ), [Κατηγορία 1], [Είδος] )
aggr(Sum( [Αξία Πωλήσεων] ) )
joinRule( dimension, searchValue )
Καθορίζει κανόνα Join (Συνένωση) για την Διάσταση <Dimension> της συνάρτησης aggr .Η συνάρτηση joinRule μπορεί να χρησιμοποιηθεί μόνο ως όρισμα συνάρτησης aggr.
Παράμετροι :
- Dimension
- searchValue
Παράδειγμα:
aggr(Sum( [Αξία Πωλήσεων] ), joinRule(GetYear( [Date] ), GetYear( [Date] ) - 1))
w( WindowExpression, partitionByFunction, orderByFunction )
Επιστρέφει αποτελέσματα υπολογισμών από WindowExpression ( Function ) ομαδοποιημένα σε τμήματα και ταξινομημένα.
Παράμετροι:
- WindowExpression
- partitionByFunction
- orderByFunction
Παράδειγμα:
w(RankDense(Sum( [Αξία Πωλήσεων] ), 'desc'), partitionBy( [Κατηγορία]), orderBy(([Κατηγορία2]))
partitionBy( column1, column2, … )
Καθορίζει τις στήλες με βάση τις οποίες ομαδοποιούνται οι γραμμές δεδομένων. Η λειτουργία παραθύρου εφαρμόζεται σε κάθε τμήμα ξεχωριστά. Η συνάρτηση partitionBy μπορεί να χρησιμοποιηθεί μόνο ως όρισμα της συνάρτησης w.
Παράδειγμα: partitionBy( [Είδος] )
orderBy( column1, column2, … )
Καθορίζει την ταξινόμηση των δεδομένων σε μια window function Η συνάρτηση orderBy μπορεί να χρησιμοποιηθεί μόνο ως όρισμα της συνάρτησης w.
Παράδειγμα:
orderBy( GetYear( [Date] ), desc( Sum( [Αξία Πωλήσεων] ) ) )
asc(column)
Καθορίζει ότι ταξινόμηση των δεδομένων σε μια window function θα γίνεται με αύξουσα σειρά. Η συνάρτηση asc μπορεί να χρησιμοποιηθεί μόνο ως όρισμα της συνάρτησης w.
Παράδειγμα:
w(Index(), partitionBy(), orderBy(asc(Sum( [Αξία Πωλήσεων] ))))
desc(column)
Καθορίζει ότι ταξινόμηση των δεδομένων σε μια window function θα γίνεται με φθίνουσα σειρά. Η συνάρτηση desc μπορεί να χρησιμοποιηθεί μόνο ως όρισμα της συνάρτησης w.
Παράδειγμα:
w(Index(), partitionBy(), orderBy(desc(Sum( [Αξία Πωλήσεων] ))))
filter(SummaryExpression, filterCriteria)
Φιλτράρει με συγκεκριμένα κριτήρια τα υποκείμενα δεδομένα ( underlying data ) και τα συνοψίζει χρησιμοποιώντας έκφραση συνολοποίησης ( Sum )
Παράμετροι :
- SummaryExpression: Aggregate έκφραση.
- filterCriteria: Τα κριτήρια. Μπορούν να χρησιμοποιηθούν και σύνθετα κριτήρια με τελεστές && ,||, In (,,,) κλπ
Παράδειγμα:
filter(Sum( [Αξία Πωλήσεων] ), GetYear( [Date] ) = 2022)
filter(Sum( [Αξία Πωλήσεων] ), [Κατηγορία] = ' Κινητά Τηλέφωνα')