Brug CSV-filer frem for Excel-filer når du skal indlæse data i ABC Analyzer

Når du skal indlæse data i ABC Analyzer, anbefaler vi at du anvender CSV-filer (filer i rent tekstformat) – og ikke Excel-filer. Følgende er en forklaring på hvorfor.

csv-xls
CSV-filer er ren tekst, og derfor et utroligt nemt format for computere at forstå i bearbejde. Alt i filen, bortset fra feltseparatorer og -afgrænsere, kommer med ind i ABC Analyzer. Den del af ABC Analyzer der indlæser CSV-filer, henter en række af gangen –  og da det blot er tekst der skal indlæses, sker dette meget hurtigt.

Excel-filer er anderledes og kan indholde alt – se bare når de skal gemmes kaldes standardformatet Excel-projektmappe. De kan indholde billeder, video og lyd – men vigtigst i vores tilfælde: tekst og tal. Når ABC Analyzer skal indlæse data fra en Excel-fil, skal den indlæse ALT data, før den kan gå i gang med at bearbejde det. Under indlæsningen kører der en Excel-komponent i baggrunden, der beregner værdier for det enkelte celler, hvis det er nødvendigt.

Det kan virke ulogisk i en analytisk verden hvor databehandling i Excel er hverdagskost, men CSV filer vil give øget performance og indlæse data på kortere tid.

Problem 1: Memory-forbrug

Nedenstående graf viser forbrug af memory i ABC Analyzer under indlæsning af data. Når indlæsningen sker fra Excel filer, skal alt data indlæses på én gang.
untitled-2

 

Det er præcis det samme datasæt på lidt under 10k rækker der indlæses, men forskellen lægger i brugen af memory. Indlæsningen af CSV-filen bruger 60 MB memory i programmet, hvorimod indlæsningen af Excel-filen bruger 150 MB memory – altså over dobbelt så meget memory. Dette giver en øvre grænse for hvor store datasæt ABC Analyzer kan indlæse når datakilden er Excel, og den præcise grænse afhænger af datasættets øvrige egenskaber. Indlæsningen fra Excel-filer giver et øget memory-forbrug der vokser med datamængden – dobbelt antal rækker giver det dobbelte memory-forbrug. Derimod viser vores tests at øget datamængde ikke betydeligt øger memory-forbruget ved indlæsning fra CSV-filer og det er endnu ikke lykkedes at få forøgelsen over 100 MB.

Derudover ses det også af grafen at tidsforbruget på indlæsningen er næsten fire gange højere ved Excel-filen end ved CSV-filen.

 

Problem 2: Installation

Den komponent som ABC Analyzer bruger ved indlæsning af data fra Excel-filer er en del af Excel. Det vil sige, for at indlæse data fra Excel-filer kræver det, som udgangspunkt, at der er en fuld installation af Excel er installeret på maskinen, sammen med ABC Analyzer. Når Excel bliver installeret har man mulighed for at vælge at der blot skal foretages en standardinstallation, men fuld installation af Excel er krævet for at datakomponenten som ABC Analyzer har brug for, også bliver installeret.

Problem 3: Sprog

Når ABC Analyzer indlæser data fra Excel-filer, via den installerede Excel-komponent, sørger denne for at de tal og datoer der gives til programmet, er formateret med de korrekte separatorer (decimal og tusindtal), samt formatere datoer og klokkeslet, så det stemmer overens med standard for det sprog som computeren er sat til.

Hvis Excel-filer deles mellem personer, der har computere sat til forskellige sprog – eksempelvis hvis man har engelsktalende kolleger eller afdelinger i flere lande – vil det betyde at man ikke kan bruge samme template til indlæsning.

Løsning

Brug CSV-filer. I forhold til performance og tidsforbrug er det en klar fordel, da computer og ikke mindst ABC Analyzer vil synes hurtigere.

Den Excel-komponent der skal bruges kan også smutte i forbindelse med opgradering af Office – generelt er det nemmere at undgå brugen af den, så kan det ikke give problemer.

Så, med mindre det er strengt nødvendigt at have data til indlæsning i ABC Analyzer liggende i Excel-filer, anbefaler vi at dataudtræk, indlæsninger og opbevaring gøres i CSV-format.

For hjælp og spørgsmål kontakt ABC Softwork Support – support@abcsoftwork.com