Αναρτήσεις

Εμφάνιση αναρτήσεων με την ετικέτα Business Intelligence

Common lingo...

Γίνεται συνεπές και αξιόπιστο reporting χωρίς συνεπή και αξιόπιστα data;  Η απάντηση είναι όχι... Γίνεται να μην υπάρχει κοινή ορολογία μεταξύ των τμημάτων μιας εταιρείας και να απαιτούμε να έχουμε συνεπές και αξιόπιστο reporting; Η απάντηση  είναι πάλι όχι... Οι έννοιες και οι ορολογίες που ορίζουν το business logic πρέπει να είναι σαφώς ορισμένες, να έχουν επικοινωνηθεί και να έχουν επικυρωθεί από όλους... Αν υπάρχει πολυγλωσσία και σύγχυση μεταξύ των τμημάτων μια εταιρείας πώς μπορούμε να περιμένουμε reconciliated και ακριβή αποτελέσματα; Material Group, Molecule, Product όλα σημαίνουν το ίδιο πράγμα, χρησιμοποιούνται από διαφορετικά τμήματα και ο κάθε ορισμός μπορεί να είναι παντελώς άγνωστος σε όσους δεν τον χρησιμοποιούν... Ο BI Engineer/Analyst δεν είναι μάγος... Δουλεύει με δεδομένα και το αποτέλεσμα της δουλειάς του είναι τόσο ακριβές όσο τα δεδομένα και τα specs που έχει στα χέρια του... Ο οποιοσδήποτε οργανισμός αν θέλει να έχει σωστό reporting και business i

Ποδαρικό...

Η χρονιά έχει ξεκινήσει με πολύ άγχος και πολύ στενοχώρια... Πολλά μέτωπα ανοιχτά, αποφάσεις σημαντικές που πρέπει να παρθούν, συναισθήματα που καταπνίγονται... Μέσα σε όλα αυτά όμως την Τετάρτη που μας πέρασε είχα μια σημαντική ευκαιρία να πάρω τα πάνω μου...  Προσεκλήθην από μια εταιρεία με την οποία διατηρώ συνεργασία και προσωπικές σχέσεις εδώ και χρόνια να μιλήσω για τη δουλειά μου σε ένα σεμινάριο που διοργανώθηκε στο ACEin σχετικά με τα Data Analytics και τις τεχνολογίες της Qlik... Το ακροατήριο ήταν στελέχη επιχειρήσεων που συμμετέχουν σε σχετικό μεταπτυχιακό πρόγραμμα που προφέρεται από το Οικονομικό Πανεπιστήμιο Αθηνών... Παρά το αρχικό άγχος, αν και δεν είναι η πρώτη φορά που κάνω κάτι παρόμοιο , ένιωσα καλά που μίλησα για τη δουλειά μου, για αυτά που κάνω τόσα χρόνια, σε ένα κοινό που έδειχνε να συμμερίζεται τις απόψεις μου και να κατανοεί τις εμπειρίες μου και ένιωσα ακόμα καλύτερα όταν στο τέλος της διάλεξης μου έγιναν ερωτήσεις και κανά δυο ήρθαν να πιάσουμε και

Ένας σημαντικός λόγος να ΜΗΝ διαλέξεις μια δουλειά...

Εικόνα
(*) Το snapshot προέρχεται από αγγελία για θέση Business Intelligence Engineer σε πολύ γνωστή, πολυεθνική εταιρία πώλησης ηλεκτρικών ειδών... 

QV Document Analyzer, ένα απαραίτητο εργαλείο για την εργαλειοθήκη κάθε QlikView developer...

Εικόνα
Το "QV Document Analyzer" είναι ένα απαραίτητο εργαλείο για όποιον κάνει QlikView development, ιδανικό για fine tuning των εφαρμογών... Έχει δημιουργηθεί από τον Rob Wunderlich , έναν από τους πιο καταξιωμένους QlikView developers/consultants παγκοσμίως, και βρίσκεται στην τρίτη του έκδοση...  Πρόκειται για ένα application το οποίο έχει φτιαχτεί με την τεχνολογία του QlikView και αυτό που κάνει είναι να αναλύει την δομή και να ποσοτικοποιεί το footprint κάθε QlikView application ( *.qvw files ) σε memory, storage και calculation time ανά πεδίο και object και επίσης διακρίνει ποια πεδία/objects χρησιμοποιούνται και ποια όχι και υποδεικνύει συγκεκριμένες ενέργειες για την βελτιστοποίηση των εφαρμογών...  Έχει ένα καλαίσθητο και κατανοητό γραφικό περιβάλλον πλοήγησης στα στοιχεία κάθε application και πραγματικά κάνει τη ζωή πιο έυκολη σε κάθε έναν από εμάς που δουλεύουμε με το QlikView και προσπαθούμε να φτιάξουμε όσο γίνεται καλύτερες εφαρμογές...  Η εφαρμογή δια

Freebie QlikView app - QvdDependancies ver 1.2 ...

Μπορεί αύριο το πρωί να ξεκινάνε οι διακοπές αλλά κάποια πράγματα δεν πρέπει να μένουν πίσω, ειδικά όταν κάποιοι άνθρωποι μπαίνουν στη διαδικασία να ασχοληθούν με τη δουλειά σου και να σου κάνουν καλοπροαίρετη κριτική, να σου δώσουν τις συμβουλές τους ή να σου κάνουν χρήσιμες προτάσεις... Έτσι λοιπόν το QvdDependancies, ένα QlikView app στο οποίο αναφέρθηκα σε προηγούμενο post , πέρασε σε νέα version (1.2) και απέκτησε επιπλέον functionality...  Υποστηρίζεται πλέον η δυνατότητα ο χρήστης να μην κάνει πλήρες scan του server/pc για να βρει τα dependencies μεταξύ qvds και qvws αλλά να σκανάρει μόνο συγκεκριμένα directories εφόσον αυτό επιθυμεί... Ο κώδικας και το app βρίσκονται τόσο στο GitHub  (Link)    όσο και στο Qlik Community  (Download Link)  και κάθε feedback θα χαίρει μεγάλης εκτίμησης και θα ληφθεί υπόψην από τον δημιουργό του app ...  :P Qlik Community Download Link GitHub Link   Υ.Γ. Καλές διακοπές!!!

Freebie QlikView app - QvdDependancies...

Το QlikView είναι ένα πολύ καλό εργαλείο για την ανάπτυξη εφαρμογών BI... Έχει μια δική του λογική ως προς τη διαχείριση των δεδομένων η οποία βασίζεται σε αρχεία τύπου .qvd τα οποία αποθηκεύονται στο file system του server ή του υπολογιστή που γίνεται το development... Αν οι εφαρμογές είναι λίγες, οι όγκοι των δεδομένων μικροί και υπάρχει μια στοιχειώδης οργάνωση του file system δεν είναι δύσκολο να εντοπιστούν τα dependencies που έχει ένα .qvd αρχείο, ποιο document το δημιούργησε και από ποια άλλα documents χρησιμοποιείται... Τι γίνεται όμως όταν το περιβάλλον ανάπτυξης είναι μεγάλο, τα .qvds αμέτρητα, οι εφαρμογές το ίδιο και είναι απαραίτητο να γίνουν τροποποιήσεις; Το να θυμάται απλά ο developer τα dependencies κάθε .qvd αρχείου είναι αδύνατον αλλά είναι απαραίτητο να υπάρχει μια καταγραφή κι έλεγχος των dependencies έτσι ώστε να μην γίνουν μετατροπές στις εφαρμογές που θα προκαλέσουν την κατάρρευσή τους... Το πρόβλημα αυτό προσπαθούν να το λύσουν διάφορες εφαρμογές, freebie

Visiting lecture @ New York College, 25/01/2016...

Χθες το απόγευμα είχα την χαρά και την τιμή να δώσω μια διάλεξη μπροστά στους φοιτητές του τμήματος "Internet Engineering and Web Management" του New York College , ως προσκεκλημένος ομιλητής... Η πρόσκληση έγινε από το καθηγητή του συγκεκριμένου τμήματος,  Δημήτρη Δημητρέλο , ο οποίος ήταν και δικός μου εκπαιδευτής στο σεμινάριο Scrum που παρακολούθησα πριν από 1,5 μήνα ... Αντικείμενο της διάλεξης ήταν η εισαγωγή στις έννοιες του Data Warehouse και του Business Intelligence , το αντικείμενο της δουλειάς μου δηλαδή εδώ και 11 χρόνια...  Ήταν η πρώτη φορά που θα έδινα μια τέτοια διάλεξη και δεν κρύβω ότι στην αρχή όταν μου έγινε η πρόταση ήμουν λίγο διστακτικός... Έχω κάνει στο παρελθόν εκπαιδεύσεις σε μικρές ομάδες χρηστών για την εκμάθηση συγκεκριμένων εφαρμογών αλλά η ιδέα του να μιλάω μπροστά σε ένα κοινό σχεδόν νεανικό εξηγώντας θεωρητικές έννοιες και μεθοδολογίες μου φαινόταν κάπως τρομακτικό... Από την άλλη όμως η ιδέα του να δώσω μια τέτοιου είδους διάλεξη με

Χρήση variables για την περιγραφή των qvd path names - QlikView...

Ένα κοινό "πρόβλημα" στο QlikView development είναι όταν θέλεις να δοκιμάσεις την εφαρμογή σου σε κάποιο άλλο περιβάλλον, test ή live... Λόγω της φύσης του QlikView το να αλλάξεις απλά το connection string στη βάση που διαβάζεις δεν είναι αρκετό διότι θα πρέπει να ορίσεις ξανά το path για όλα τα qvds που φορτώνονται στην εφαρμογή, ένα ένα... Κάτι τέτοιο είναι χρονοβόρο και μη αποδοτικό και αυξάνει τις πιθανότητες λάθους... Η χρήση της επιλογής των Relative Paths δεν λύνει το πρόβλημα διότι προϋποθέτει ότι η εφαρμογή και τα qvds βρίσκονται στο ίδιο folder ή έστω διαφέρουν κατά ένα level κάτι το οποίο προσωπικά θεωρώ αρχιτεκτονικό λάθος...  Μια πολύ καλή λύση για να αντιμετωπιστεί μια τέτοια κατάσταση είναι η χρήση local variables για την αποθήκευση των path names των διαφόρων qvds... Αυτό γίνεται δηλώνοντας μια μεταβλητή  vPathName αμέσως μετά τα αρχικά set statements στο Main tab του script editor η οποία περιέχει το full path προς το qvd repository το οποίο θέλουμε να

QlikView variable ως παράμετρος σε SQL query...

Το σημερινό tip είναι κάτι που έφτιαξα πριν περίπου 2 χρόνια, στην αρχή της ενασχόλησής μου με το QlikView, και προέκυψε από την ανάγκη να διαβάσω μια λίστα πελατών από ένα data source και μετά να περάσω αυτή την λίστα σαν παράμετρο σε ένα άλλο data source, μια βάση δεδομένων, για να συλλέξω όλη την πληροφορία που αφορούσε τους πελάτες αυτούς... Μετά από 2 χρόνια εντατικής δουλειάς και εμπειρίας ξέρω ότι υπάρχουν κι άλλοι τρόποι, να κάνεις την ίδια δουλειά, η συγκεκριμένη υλοποίηση όμως είναι ενδιαφέρουσα ως προς την χρήση των variables μέσα στο QlikView script σε συνδυασμό με SQL queries... Έστω λοιπόν ότι το πρώτο data source είναι ένα Excel αρχείο στο οποίο περιέχονται κωδικοί πελατών τους οποίους θέλουμε να διαβάσουμε και να αναζητήσουμε σε ένα άλλο data source, μια βάση δεδομένων... Για να το καταφέρουμε αυτό θα δημιουργήσουμε μια μεταβλητή η οποία θα περιέχει σαν ένα μεγάλο string, όλους τους κωδικούς πελατών (χωρισμένους με κόμματα και κλεισμένους μέσα σε "αυτάκια&quo

Πώς να καθαρίσουμε το workspace με ένα μόνο command - R...

Θα υπάρξουν φορές δουλεύοντας με την R που θα βρεθείτε με ένα workspace γεμάτο variables τις οποίες δεν χρειάζεστε αλλά θέλετε να συνεχίσετε τη δουλειά σας με ένα άδειο workspace...  Υπάρχουν δυο τρόποι να το κάνετε αυτό... Ο πρώτος είναι να κλείσετε το session που δουλεύετε χωρίς να σώσετε τα περιεχόμενα του workspace στο .RData file... Ο τρόπος αυτός όμως έχει τα μειονεκτήματα ότι πρέπει να ξαναφορτώσετε από την αρχή όλα τα packages τα οποία είναι απαραίτητα για την ανάλυσή σας και ότι πρέπει να ξαναδηλώσετε το working directory... Ο δεύτερος τρόπος είναι πιο απλός και σύντομος και περιλαμβάνει μόνο το παρακάτω command: Το command αυτό διαγράφει μόνο τα variables που περιέχει το workspace αφήνοντας το απολύτως κενό χωρίς όμως να επηρεάζει τα loaded packages ή άλλα preferences που σχετίζονται με το current session θέλει όμως προσοχή στην χρήση του καθώς όπως είπαμε διαγράφει πλήρως το workspace...

Υπολογισμός ελληνικών εργάσιμων ημερών με SQL...

Πολλές φορές δουλεύοντας με δεδομένα θα χρειαστεί να τροποποιήσετε τον κώδικά σας, τον όποιο κώδικα γράφετε, αναλόγως με το αν τα δεδομένα σας αναφέρονται σε εργάσιμες ημέρες ή όχι... Αυτό μπορεί να είναι συχνά μπελάς αν συνυπολογίσεις ότι υπάρχουν κινητές γιορτές και αργίες, όπως το Πάσχα, οι οποίες διαφέρουν κιόλας αναλόγως αν αναφέρεσαι στο Πάσχα των Καθολικών ή των Ορθοδόξων... Ένας εύκολος τρόπος να υπολογιστούν οι εργάσιμες μέρες του ελληνικού εορτολογίου είναι το παρακάτω T-SQL script το οποίο αφού τρέξετε σε κάποιο SQL Server instance, παράγει για το διάστημα το οποίο έχετε ορίσει, ένα table το οποίο περιέχει ανά ημερομηνία, τον μήνα και το έτος που ανήκει αυτή, την ονομασία της ημέρας, ένδειξη αν είναι εργάσιμη ή όχι και ένδειξη αν είναι η τελευταία εργάσιμη κάθε μήνα ή όχι.... Το script αυτό μπορείτε να το χρησιμοποιείτε είτε σε stored procedures ή common table expressions για πιο ad hoc χρήση, είτε one off υπολογίζοντας τις εργάσιμες μέρες για ένα μεγάλο χρονικό διάστη

Η επιστροφή μου στα θρανία...

Δεν έκανα ποτέ μου μεταπτυχιακό και δεν κρύβω ότι υπάρχουν φορές που το μετανιώνω... Όχι τόσο για τα skills που θα μπορούσα να κερδίσω, από αυτά κέρδισα πάρα πολλά στα 10+ χρόνια που εργάζομαι, συχνά υπό πολύ αντίξοες συνθήκες, όσο για το πως να βλέπεις τα πράγματα και με μια διαφορετική οπτική, διαφορετική από αυτή που αποκτάς από το πανεπιστήμιο στο προπτυχιακό και διαφορετική από αυτή που αποκτάς από την day to day "τριβή" στη δουλειά... Η επαγγελματική αλλαγή που μου συνέβη πριν από 2 περίπου χρόνια, αν και δεν έγινε οικειοθελώς, αποδείχτηκε εξαιρετικά ενδιαφέρουσα κι εγώ χώρεσα πολύ καλά στο καινούργιο μου κοστούμι... Τόσο καλά που, σε συνδυασμό με κάποια τυχαία ερεθίσματα που είχα εκείνη την περίοδο, με έκαναν να αποφασίσω τον περασμένο Ιανουάριο, να επενδύσω χρόνο και χρήμα στο να παρακολουθήσω μια σειρά μαθημάτων on line από το Coursera που θα μου εξασφαλίσουν με την επιτυχή τους ολοκλήρωση ένα δίπλωμα εξειδίκευσης από το John Hopkins University και τον τίτλο