Automatiserings-script mellem CRM-system og Excel
Redigeret d. 08-01-2016
Indledning:
RTX Telecom havde et ønske om at få konstrueret et værktøj - et Excel script, som kunne automatisere de opgaver, som de hidtil foretog manuelt i Excel. RTX Telecom foretog ugentlige dataudtræk fra deres CRM-system, som blev ekspoteret i .xlsx-format. Daten var rå projektdata, som holdte informationer om projekternes startdato, slutdato, økonomi og en række projekt- og kundeoplysninger. Daten skulle dog overføres til 2 forskellige skabelonsark, og ved hver overførsel var der en reelle risiko, for at data blev overskrevet, forglemt eller slettet - naturlige menneskelige fejl. Excelautomation har arbejdet med RTX siden start '14, og har været det største og mest mangfoldige VBA-projekt som Excelautomation har arbejdet med.
Første version af scriptet blev lanceret Juni '14, som afdækkede de fleste af problemstillingerne, som vil blive fremført nedenfor.
Grundet en stor omlægning af RTX's CRM-system; hvorved projekterne bl.a. skulle anmærkes med et nyt identifikationsnummer, var det nærliggende for RTX Telecom, at revurdere 1. version af automatiserings-scriptet. Derfor blev der i September '15 lanceret en 2. version af scriptet. Her indgik Excelautomation også som en konsulterende funktion, og indgik i alle processer ligefra brainstorming, facilitering og implementering - i samarbejde med RTX.
Problemstillinger:
RTX ønskede et værktøj, som tidligere nævnt, der kunne automatisere de manuelle opgaver, herunder overføring af data, men samtidig bidrage til forøget overblik. Før scriptets udvikling, brugte RTX's COO, Chief Operating Officer, en masse ressourcer på at overføre CRM-dataudtrækket til et skabelonsark. Skabelonsarket havde den funktion, at udregne og fordele projektets totalsum henover de givne projektmåneder (fra startdato til slutdato) - såkaldt akkumulering. Efter projektdaten var indsat i skabelonsarket, blev projektdaten, inklusiv de akkumulerende kolonner overført til et nyt Forecast ark. Forecast arket bestod af en række Worksheets, såsom Pipeline, NRE, ODM. Når daten skulle overføres til Forecastet, skulle CCO'en dobbeltjekke de gamle projektinformationer, da nogle skulle forblive, andre skulle opdateres, og nogle projekter skulle fjernes. Det var en ekstrem tidskrævende arbejdsproces, hvor fejl ofte opstod.
Løsningen:
For at løse denne problemstilling, blev alle de kriterier, som skulle afgøre om projektet skulle forblive, opdateres eller slettes, implementeret i en række generiske kodestrukturer. En grænseflade, og et særskilt faneblad ("RTX") i toppen af Excel blev udarbejdet (se billeder i bunden), som skulle give brugeren mulighed for at indtaste de givne variabler, som et Forecast ark skulle have. Scriptet blev opbygget af klasser og objekter, der skulle gøre det nemt at udbygge eller ændre programmet, såfremt nye tiltag i fremtiden skulle forekomme. Når brugeren ønskede at oprette et nyt Forecastark, blev dataudtrækket fra CRM markeret, variablerne blev indtastet, og et tidligere Forecast ark markeret. Under oprettelsen skulle det nye data sammenlignes med det gamle, og derfor var det essentielt, at det var muligt at varierer mellem tidligere oprettede Forecast-ark. Under oprettelsen blev alle opsatte kriterier eksekveret, og en logfil blev oprettet, således at brugeren kunne se hvordan fordelingen af data, eventuelle fejl, og antal opdateret projekter. På den måde fik brugeren et hurtigt og overskueligt værktøj, som krævede 10 sekunder at igangsætte - imodsætning til 3-4 timer før scriptets udvikling - og efterfølgende gav en indikation af, hvordan daten var blevet fordelt.
Der blev implementeret farvekoder (rækkerne blev farvemarkeret), som skulle hjælpe brugeren med hurtigere at kunne identificere hvilke projekter der var nye, opdaterede og hvilke der indeholdte fejl (fejlindtastninger fra CRM-systemet).
Der blev oprettet et særskilt Worksheet som oprettede de korrekte kolonner, og grupperede disse, udfra kriterier om hvor lang en periode alle projekterne i Forecast-arket strakte sig over. Dette skete dynamisk, således at gamle finansår - som ikke indeholdte nogle projekter, automatisk blev slettet. Alle finansår blev grupperet, således at brugeren hurtig var istand til at danne sig et overblik over total projektsum, fordelt på de forskellige Worksheets.
For at undersøge, hvordan de repræsentative sælgere havde klaret sig, indenfor de givne finansår, blev der oprettet et særskilt arbejdsark, som automatisk fandt alle sælgerne fordelt på Worksheets. Eksisterede sælgeren allerede, blev salgstallene tilføjet. De nye blev automatisk tilføjet på en ny række.
Afslutning:
Scriptet indeholder rigtig mange automatiseringsløsninger, som formindsker fejlraten, hurtigt at bruge, og give brugeren et dynamisk værktøj, som kan aflaste ham i den travle hverdag. Det har været et rigtig spændende projekt!