Ένας απλός τρόπος διαδικασίας ποσοτικοποίησης σε T-SQL χρησιμοποιώντας τη συνάρτηση παραθύρου και τη συνάρτηση οροφής
11 Δεκεμβρίου 2015 στις 6:35 π.μ
—
Στην επιχειρηματική ανάλυση, είναι πολύ συνηθισμένο να χωρίζονται οι πωλήσεις σε διαφορετικές ομάδες ποσοτήρων και στη συνέχεια μπορεί να χρησιμοποιηθεί για σκοπούς τμηματοποίησης. Τα πιο συχνά χρησιμοποιούμενα ποσοστά είναι:
- Πεμπτουσιωτές που δημιουργούν 5 ομάδες ίσου μεγέθους
- Δεκατιανοί που δημιουργούν 10 ομάδες ίσου μεγέθους
Περιστασιακά, θα χρησιμοποιηθούν αεραγωγοί (20 ομάδες) και εκατοστιαίες μονάδες (100 ομάδες).
Η διαδικασία ποσοτικοποίησης είναι πολύ ισχυρή όταν υπάρχουν διαθέσιμα δισδιάστατα δεδομένα πωλήσεων, όπως οι πωλήσεις προϊόντων και οι πωλήσεις στην αγορά. Στις επιχειρήσεις, είναι πολύ συνηθισμένο να χρησιμοποιείται η μήτρα ποσοστού για την εκτέλεση της τμηματοποίησης του λογαριασμού. Ένα παράδειγμα ορισμού τμηματοποίησης μπορεί να βασιστεί σε μια μήτρα 2 Χ 2 αποκατειλημμένων όπως παρακάτω:
Ακόμη και αυτή είναι μια πολύ συνηθισμένη διαδικασία, δεν είναι πράγματι ένας απλός απλός υπολογισμός για να λάβετε τιμές ποσοστοιχιών στον διακομιστή SQL. Υπάρχουν πολλοί τρόποι που μπορούμε να κάνουμε για να υπολογίσουμε τέτοιους, αλλά ανακάλυψα ότι η χρήση της συνάρτησης παραθύρου σε συνδυασμό με τη συνάρτηση CEILING είναι ο ευκολότερος τρόπος για τον υπολογισμό της τιμής του ποσοτικού. Ας δοκιμάσουμε. Θα χρησιμοποιήσω μια διαδικασία αποκορύφωσης για να ξεκινήσω.
Το πρώτο βήμα για τον υπολογισμό της τιμής δεκαδικών για ένα συγκεκριμένο αντικείμενο (Λογαριασμός, Προϊόν κ.λπ.) είναι ο υπολογισμός των αθροιστικών τιμών και στη συνέχεια ο υπολογισμός του αθροιστικού ποσοστού.
Αυτό θα δημιουργήσει τη σωρευτική αξία πωλήσεων του προϊόντος και το σωρευτικό ποσοστό του. τα 10 κορυφαία ρεκόρ ως εξής:
Τώρα το ερώτημα είναι πώς μπορούμε να εκχωρήσουμε μια δεκαδική τιμή με βάση τη σωρευτική ποσοστιαία τιμή; υπάρχουν πολλοί τρόποι να το κάνεις. Αλλά όπως διαπίστωσα ότι υπάρχει ένας πολύ απλός τρόπος για να το κάνετε χρησιμοποιώντας τη λειτουργία SQL CEILING:
Μπορείτε να ελέγξετε τυχαία τα αποτελέσματα:
Με βάση αυτόν τον υπολογισμό αποβάθμισης, μπορούμε να γενικεύσουμε τον υπολογισμό της ποσοτικοποίησης σε οποιονδήποτε αριθμό ποσοστού μεταξύ 1 και 100.
Ελπίζω αυτή η συμβουλή να είναι χρήσιμη και δείτε τα συνημμένα σενάρια αν θέλετε να δοκιμάσετε.
Ευχαριστώ.
Quantile_Calculation_Script.sql (1KB)
e522b4af-c055-4479-a2e3-cea012e66ac8|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Καταχωρήθηκε σε: T-SQL | Λειτουργίες παραθύρου