Τα περισσότερα αποτελέσματα αυτής της αναζήτησης είναι εργαλεία που παράγουν Python από πηγαίο κώδικα SAS, και αρκετά το κάνουν καλά. Αυτή η σελίδα ξεκινά ένα βήμα πιο πριν: αν η μετακίνηση είναι καν σωστή για τη δική σας βάση κώδικα, τι κοστίζει να επαληθευτεί το αποτέλεσμα και τι κάνετε όταν η απάντηση είναι όχι.
Οι διαδρομές έξω από μια βάση κώδικα SAS είναι τέσσερις, όχι δύο: να δοθεί σε αυτόματο εργαλείο, να ξαναγραφτεί στο χέρι, να τρέξουν τα προγράμματα SAS όπως είναι πάνω σε κάτι που δεν είναι SAS, ή να μείνει ως έχει. Ποια είναι η σωστή κρίνεται σχεδόν αποκλειστικά από δύο ερωτήματα: πόσος κώδικας υπάρχει και αν κάποιος πρέπει να αναπαραγάγει ό,τι έδιναν τα προγράμματα πριν. Όλα όσα ακολουθούν είναι το κόστος κάθε διαδρομής.
Η Python είναι ο καλύτερος προορισμός πιο συχνά απ' ό,τι παραδέχεται συνήθως μια σελίδα σαν αυτή. Τέσσερις συνθήκες κάνουν την επιλογή ξεκάθαρη: η βάση κώδικα είναι αρκετά μικρή ώστε ένα άτομο να τη διαβάσει σε μια εβδομάδα, η ομάδα γράφει ήδη Python καθημερινά, η ανάλυση θα ξαναχτιστεί ούτως ή άλλως, και τίποτα παρακάτω δεν απαιτεί οι νέοι αριθμοί να ταιριάζουν ακριβώς με τους παλιούς. Όταν ισχύουν και οι τέσσερις, το να ξαναγραφτεί βγαίνει φθηνότερα από οποιοδήποτε στρώμα συμβατότητας, και μένει κώδικας που η ομάδα συντηρεί χωρίς δεύτερη γλώσσα.
Κάθε επιλογή εδώ είναι η σωστή απάντηση για κάποιον. Καμία δεν είναι χωρίς κόστος, και το ακριβό κομμάτι δεν είναι ποτέ η σύνταξη.
Εργαλεία στον ιστό, υπηρεσίες προμηθευτών και μεγάλα γλωσσικά μοντέλα παίρνουν πηγαίο .sas και επιστρέφουν Python, αντιστοιχίζοντας συνήθως τα βήματα DATA στο pandas και τις συνήθεις διαδικασίες στο statsmodels ή στο scikit-learn. Για μερικές εκατοντάδες γραμμές απλής επεξεργασίας δεδομένων είναι πραγματικά συντομότερο μονοπάτι, και δίνει ένα ευανάγνωστο σημείο εκκίνησης σε λεπτά. Ο λογαριασμός έρχεται αργότερα: κάθε γραμμή της εξόδου πρέπει να τη διαβάσει κάποιος που ξέρει και τις δύο γλώσσες.
Κάποιος διαβάζει το πρόγραμμα SAS, καταλαβαίνει τι έπρεπε να κάνει, και το γράφει σε Python. Ξεκινά πιο αργά και είναι η μόνη διαδρομή που καταλήγει σε κώδικα με σχήμα Python αντί για SAS με παλτό Python. Οι ομάδες που δύο χρόνια μετά είναι ευχαριστημένες με την Python έφτασαν εκεί σχεδόν πάντα έτσι, αφήνοντας συνήθως το παλιό πρόγραμμα να τρέχει δίπλα ώσπου να συμφωνήσουν οι αριθμοί.
Η διαδρομή που οι σελίδες σύγκρισης παραλείπουν. Το Jenner είναι μια υλοποίηση καθαρού δωματίου της γλώσσας SAS 9.4 γραμμένη σε Rust: διαβάζει αρχεία SAS7BDAT απευθείας και εκτελεί πηγαίο .sas όπως είναι, οπότε δεν υπάρχει παραγόμενος κώδικας για έλεγχο ούτε δεύτερη γλώσσα να κουβαλά η ομάδα. Αυτό που δεν κάνει είναι να καλύπτει ολόκληρη τη γλώσσα SAS, και η κάλυψη δημοσιεύεται διαδικασία προς διαδικασία ώστε να ελέγξετε τη δική σας πριν στηριχτείτε σε αυτήν.
Το να μην κάνετε τίποτα είναι πραγματική απόφαση και συχνά η σωστή. Αν ο κώδικας είναι σταθερός, το περιβάλλον όπου τρέχει δεν εξαφανίζεται φέτος και κανείς δεν ζητά αλλαγή, η μετάβαση που δεν κάνετε έχει την καλύτερη απόδοση από οτιδήποτε σε αυτή τη σελίδα. Ξαναπιάστε το ερώτημα όταν το επιβάλει μια αλλαγή πλατφόρμας, ένας έλεγχος ή ένα πρόβλημα προσλήψεων.
Ο τρόπος που αποτυγχάνει μια αυτόματη μετατροπή δεν είναι το συντακτικό λάθος· αυτό εμφανίζεται στην πρώτη εκτέλεση. Είναι η σιωπηλή αριθμητική διαφορά. Η SAS γεμίζει τις τιμές χαρακτήρων με κενά στα δεξιά και η Python όχι, η SAS μετρά ημερομηνίες από την 1 Ιανουαρίου 1960 ενώ το pandas από την 1 Ιανουαρίου 1970, και ένα MERGE σε βήμα DATA δεν συμπεριφέρεται σαν merge του pandas όταν το κλειδί επαναλαμβάνεται και στις δύο πλευρές. Τίποτα από αυτά δεν εγείρει κάτι. Βγαίνει ένας αριθμός σχεδόν σωστός, που είναι το χειρότερο είδος λάθους. Γι' αυτό η πραγματική τιμή είναι μια ανάγνωση γραμμή προς γραμμή από κάποιον που κατέχει και τις δύο γλώσσες, συν μια περίοδος όπου παλιό και νέο τρέχουν δίπλα δίπλα στα ίδια δεδομένα ώσπου να συμφωνήσουν οι έξοδοι — και αυτή η τιμή μεγαλώνει με την ποσότητα του κώδικα, όχι με την ευφυΐα του.
Ο κώδικάς σας, τα δεδομένα σας και τα αρχεία καταγραφής δίπλα δίπλα. Αυτή είναι η σύγκριση που αποφασίζει, και κανείς δεν μπορεί να την τρέξει για εσάς.
Ξεκινήστε δωρεάν δοκιμή