{"id":55144,"date":"2020-01-13T00:00:00","date_gmt":"2020-01-12T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/tableau-v-roznitse-realno"},"modified":"2020-02-18T14:03:13","modified_gmt":"2020-02-18T11:03:13","slug":"tableau-v-roznitse-realno","status":"publish","type":"post","link":"https:\/\/prohoster.info\/no\/blog\/news\/tableau-v-roznitse-realno","title":{"rendered":"Tableau i detaljhandelen, er det virkelig?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Tiden for rapportering i Excel forsvinner raskt \u2014 trenden med brukervennlige verkt\u00f8y for presentasjon og analyse av informasjon er tydelig i alle omr\u00e5der. Vi har lenge diskutert digitalisering av rapportering og valgte visualiserings- og selvbetjent analyssystemet Tableau. Aleksandr Bezugly, leder for avdelingen for analytiske l\u00f8sninger og rapportering i \u00abM.Video-Eldorado\u00bb-gruppen, delte erfaringene og resultatene fra oppbyggingen av et handlingsdashboard.<\/b><\/p>\n<p>Jeg vil si med \u00e9n gang at ikke alt som ble planlagt, ble gjennomf\u00f8rt, men erfaringen var interessant, og jeg h\u00e5per den vil v\u00e6re nyttig for dere ogs\u00e5. Hvis noen har ideer om hvordan vi kunne ha gjort det bedre, vil jeg sette stor pris p\u00e5 r\u00e5d og forslag.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau i detaljhandelen, er det virkelig?\" src=\"\/wp-content\/uploads\/2020\/01\/81c41899e9b3acf1858a4faa627c121b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUnder finner du informasjon om hva vi m\u00f8tte og det vi l\u00e6rte.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Hvordan vi startet<\/h4>\n<p>\nI \u00abM.Video-Eldorado\u00bb finnes det en godt utviklet datamodell: strukturert informasjon med n\u00f8dvendig lagringsdybde og et stort antall rapporter i fast format (se mer i <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mvideo\/blog\/462015\/\">denne artikkelen<\/a><\/noindex>). Av disse lager analytikerne enten pivottabeller eller formaterte utsendelser i Excel, eller flotte presentasjoner i PowerPoint for sluttbrukerne.<\/p>\n<p>For omtrent to \u00e5r siden begynte vi \u00e5 lage analytiske rapporter i SAP Analysis (en tillegg til Excel, essensielt en pivottabell over OLAP-motoren) i stedet for rapporter i fast format. Men dette verkt\u00f8yet klarte ikke \u00e5 dekke behovene til alle brukerne, og de fleste fortsatte \u00e5 bruke informasjon bearbeidet av analytikere.<\/p>\n<p>V\u00e5re sluttbrukere deles inn i tre kategorier:<\/p>\n<p><b>Topplederne<\/b>. Be om informasjon p\u00e5 en godt presentert og lettfattelig m\u00e5te.<\/p>\n<p><b>Mellomledere<\/b>, avanserte brukere. De er interessert i datagjennomgang og i stand til \u00e5 lage rapporter selv n\u00e5r de har de rette verkt\u00f8yene. Det er de som har blitt n\u00f8kkelbrukerne av analytiske rapporter i SAP Analysis.<\/p>\n<p><b>Massebrukere<\/b>. De er ikke interessert i selvstendig dataanalyse, og bruker rapporter med begrenset frihet, i format av utsendelser og pivottabeller i Excel.<\/p>\n<p>V\u00e5r id\u00e9 var \u00e5 dekke behovene til alle brukere og gi dem et enkelt, praktisk verkt\u00f8y. Vi begynte med toppledelsen. De trengte brukervennlige paneler for analyse av de viktigste forretningsresultatene. Slik startet vi med Tableau og valgte i f\u00f8rste omgang to retninger: salgsindikatorer for b\u00e5de detaljhandel og nettbutikk med begrenset dybde og bredde i analysene, som skulle dekke omtrent 80 % av dataene som toppledelsen etterspurte.<\/p>\n<p>Siden brukerne av dashbordene var toppledelsen, oppstod det en ekstra KPI for produktet \u2013 responstid. Ingen vil vente 20-30 sekunder mens dataene oppdaterer seg. Navigasjonen m\u00e5tte v\u00e6re innenfor 4-5 sekunder, helst umiddelbart. Og dette klarte vi dessverre ikke.<\/p>\n<p>Slik s\u00e5 utkastet til v\u00e5rt hoveddashbord:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau i detaljhandelen, er det virkelig?\" src=\"\/wp-content\/uploads\/2020\/01\/a7a028feee6542dfbc1fd3c2feeaa3de.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHovedideen var \u00e5 samle de viktigste KPI-driverne, som til slutt ble 19, til venstre og presentere deres dynamikk og oppdeling etter hovedattributtene til h\u00f8yre. Oppgaven virker ikke komplisert, visualiseringen er logisk og forst\u00e5elig, inntil man dykker inn i detaljene.<\/p>\n<h2>Detalj 1. Datamengde<\/h2>\n<p>\nHovedtabellen for salg for \u00e5ret v\u00e5r har omtrent 300 millioner rader. Siden vi m\u00e5 reflektere dynamikken fra forrige og \u00e5ret f\u00f8r der, er datamengden bare for faktiske salg omtrent 1 milliard rader. Og separat blir informasjon om planlagte data og blokken for netthandel lagret. Derfor, selv om vi brukte den kolonnedata in-memory DB SAP HANA, var sp\u00f8rringshastigheten for \u00e5 velge alle indikatorene for en uke fra de n\u00e5v\u00e6rende lagrene p\u00e5 farten omtrent 15-20 sekunder. L\u00f8sningen p\u00e5 denne oppgaven er \u00e5penbar - ekstra materialisering av data. Men dette har ogs\u00e5 sine fallgruver, som vi vil g\u00e5 inn p\u00e5 senere.<\/p>\n<h2>Detalj 2. Ikke-additive indikatorer<\/h2>\n<p>\nMange av v\u00e5re KPI-er er knyttet til antall kvitteringer. Denne indikatoren representerer COUNT DISTINCT av antall rader (overskrifter av kvitteringer) og viser ulike summer avhengig av valgte attributter. For eksempel, hvordan denne indikatoren og dens avledninger b\u00f8r beregnes:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau i detaljhandelen, er det virkelig?\" src=\"\/wp-content\/uploads\/2020\/01\/0a6d676f0a5c2b779a5e7892b1f54929.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFor \u00e5 sikre n\u00f8yaktige beregninger kan man:<\/p>\n<ul>\n<li>Utf\u00f8re beregningen av slike indikatorer i sanntid i lagringen;\n<\/li>\n<li>Utf\u00f8re beregningen p\u00e5 hele datamengden i Tableau, det vil si ved foresp\u00f8rsel i Tableau, levere alle data etter valgte filtre i granulariteten til kvitteringsposisjonene;\n<\/li>\n<li>Lag en materialisert visning der alle indikatorer beregnes for alle utvalgsvarianter som gir ulike ikke-additive resultater.\n<\/li>\n<\/ul>\n<p>\nDet er klart at i eksempelet UTE1 og UTE2 er dette attributter for materialet som representerer produkthierarkiet. Dette er ikke noe statisk; gjennom det foreg\u00e5r styring internt i selskapet, ettersom forskjellige produktgrupper styres av ulike ledere. Vi har hatt mange globale revisjoner av dette hierarkiet der alle niv\u00e5er har blitt endret, hvor sammenhenger har blitt gjennomg\u00e5tt, samt konstante punktvise endringer n\u00e5r en gruppe flyttes fra en node til en annen. I vanlig rapportering blir alt dette beregnet i sanntid fra materialattributtene, i tilfelle av materialisering av disse dataene er det n\u00f8dvendig \u00e5 utvikle en mekanisme for \u00e5 spore slike endringer og automatisk laste opp historiske data. En temmelig ikke-triviell oppgave.<\/p>\n<h2>Detalj 3. Sammenligning av data <\/h2>\n<p>\nDette punktet ligner p\u00e5 det forrige. Kjerne i saken er at i selskapet ved analyse er det vanlig \u00e5 danne flere niv\u00e5er med sammenligning til forrige periode:<\/p>\n<p><i>Sammenligning med forrige periode (dag for dag, uke for uke, m\u00e5ned for m\u00e5ned)<\/i><\/p>\n<p>I denne sammenligningen antas det at avhengig av den perioden som brukeren velger (for eksempel 33. uke i \u00e5ret), m\u00e5 vi vise utviklingen mot 32. uke. Hvis vi for eksempel velger data for en m\u00e5ned, mai, vil denne sammenligningen vise utviklingen mot april.<\/p>\n<p><i>Sammenligning med fjor\u00e5ret<\/i><\/p>\n<p>Her er hovedpoenget at n\u00e5r man sammenligner dager og uker, tar man ikke den samme dagen fra \u00e5ret f\u00f8r, alts\u00e5 kan man ikke bare ta innev\u00e6rende \u00e5r minus \u00e9n. Man m\u00e5 se p\u00e5 den sammenlignede uken. Ved sammenligning av m\u00e5neder m\u00e5 man derimot ta n\u00f8yaktig den samme kalenderdagen fra \u00e5ret f\u00f8r. Det er ogs\u00e5 detaljer med skudd\u00e5r. I de underliggende databasene er all informasjon distribuert over dager, det finnes ingen separate felt for uker, m\u00e5neder, eller \u00e5r. Derfor, for \u00e5 f\u00e5 et fullstendig analytisk utsnitt i panelet, m\u00e5 man regne med ikke bare \u00e9n periode, for eksempel en uke, men fire uker, og deretter sammenligne disse dataene for \u00e5 reflektere dynamikk og avvik. F\u00f8lgelig kan ogs\u00e5 denne logikken for sammenligning i dynamikk implementeres enten i Tableau eller p\u00e5 butikkens side. Ja, og vi var selvf\u00f8lgelig klar over disse detaljene og tenkte p\u00e5 dem allerede i designfasen, men det var vanskelig \u00e5 forutsi deres innvirkning p\u00e5 ytelsen til det endelige dashbordet.<\/p>\n<p>Ved implementeringen av dashbordet fulgte vi en lang Agile-reise. V\u00e5r oppgave var \u00e5 s\u00e5 raskt som mulig gi et testverkt\u00f8y med de n\u00f8dvendige dataene. Derfor arbeidet vi i sprinter og fokuserte p\u00e5 \u00e5 minimere arbeidet p\u00e5 den n\u00e5v\u00e6rende datakilde.<\/p>\n<h2>Del 1. Troen p\u00e5 Tableau<\/h2>\n<p>\nFor \u00e5 forenkle IT-st\u00f8tten og raskt implementere endringer, bestemte vi oss for \u00e5 gj\u00f8re logikken for beregning av ikke-additive indikatorer og sammenligning av tidligere perioder i Tableau.<\/p>\n<h3>Trinn 1. Alt live, ingen utvikling av butikkene.<\/h3>\n<p>\nP\u00e5 dette trinnet koblet vi Tableau til de n\u00e5v\u00e6rende butikkene og bestemte oss for \u00e5 se hvordan antallet kvitteringer ville bli beregnet over ett \u00e5r.<\/p>\n<p><b>Resultat:<\/b><\/p>\n<p>Svaret var nedsl\u00e5ende \u2013 20 minutter. Dataoverf\u00f8ring via nettverket, h\u00f8y belastning p\u00e5 Tableau. Vi forsto at logikken med ikke-additive indikatorer m\u00e5tte implementeres p\u00e5 HANA. Dette skremte oss ikke mye, vi hadde allerede erfaring med BO og Analysis, og vi visste hvordan vi skulle bygge raske butikker i HANA som gir riktig beregnede ikke-additive indikatorer. N\u00e5 gjensto det bare \u00e5 tilpasse dem til Tableau.<\/p>\n<h3>Trinn 2. Tunet butikkene, ingen materialisering, alt skjer p\u00e5 farten.<\/h3>\n<p>\nVi har laget et separat nytt grensesnitt som dynamisk leverte de n\u00f8dvendige dataene for TABLEAU. Generelt fikk vi et godt resultat, vi forkjorte tiden for \u00e5 generere alle n\u00f8kkeltall fra en uke til 9-10 sekunder. Og vi forventet \u00e6rlig talt at responstiden for dashbordet i Tableau ville v\u00e6re 20-30 sekunder ved f\u00f8rste \u00e5pning, og deretter, takket v\u00e6re cache, fra 10 til 12 sekunder, noe som ville v\u00e6rt akseptabelt for oss.<\/p>\n<p><b>Resultat:<\/b><\/p>\n<p>F\u00f8rste \u00e5pning av dashbordene: 4-5 minutter<br \/>\nHver klikk: 3-4 minutter<br \/>\nIngen forventet en s\u00e5 betydelig forbedring i ytelsen til grensesnittet.<\/p>\n<h2>Del 2. Fordypning i Tableau<\/h2>\n<p><\/p>\n<h3>Trinn 1. Analyse av ytelsen til Tableau og rask tuning<\/h3>\n<p>\nVi begynte \u00e5 analysere hva Tableau brukte mest tid p\u00e5. Og for dette finnes det ganske gode verkt\u00f8y, noe som selvf\u00f8lgelig er en fordel med Tableau. Den st\u00f8rste utfordringen vi identifiserte, var de meget kompliserte SQL-sp\u00f8rringene som Tableau genererte. Disse var f\u00f8rst og fremst knyttet til:<\/p>\n<p> \u2014 transponering av data. Siden Tableau ikke har verkt\u00f8y for \u00e5 transponere dataset, m\u00e5tte vi lage en tabell ved hjelp av case for \u00e5 bygge den venstre delen av dashbordet med en detaljert fremstilling av alle KPI-ene. St\u00f8rrelsen p\u00e5 SQL-sp\u00f8rringene i databasen n\u00e5dde 120 000 tegn.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau i detaljhandelen, er det virkelig?\" src=\"\/wp-content\/uploads\/2020\/01\/8fc4d99017ddd604bbabb5ea0a19b38d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n \u2014 valg av tidsperiode. En slik sp\u00f8rring p\u00e5 databaseniv\u00e5 tok lengre tid \u00e5 kompilere enn \u00e5 utf\u00f8re:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau i detaljhandelen, er det virkelig?\" src=\"\/wp-content\/uploads\/2020\/01\/a9b9cc6ddd6b03c643935d070532728e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet vil si at behandlingstiden for foresp\u00f8rselen var 12 sekunder + 5 sekunder for utf\u00f8relse.<\/p>\n<p>Vi bestemte oss for \u00e5 forenkle logikken for beregningene p\u00e5 Tableau sin side og flytte en annen del av beregningene til grensesnittet og database niv\u00e5. Dette ga gode resultater.<\/p>\n<p>F\u00f8rst gjorde vi transponeringen dynamisk, ved \u00e5 bruke full outer join p\u00e5 det siste trinnet i beregningen av VIEW, i henhold til tiln\u00e6rmingen beskrevet p\u00e5 wiki <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/Transpose\">Transpose \u2014 Wikipedia, den frie encyklopedi<\/a><\/noindex> og <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/Elementary_matrix#Row-addition_transformations\">Elementary matrix \u2014 Wikipedia, den frie encyklopedi<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau i detaljhandelen, er det virkelig?\" src=\"\/wp-content\/uploads\/2020\/01\/5259995831dc8ae379a34bfe84e52daa.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nS\u00e5 vi lagde en innstillingsmatrise \u2013 en transponeringsmatrise (21x21) og fikk alle indikatorene fordelt p\u00e5 rader.<\/p>\n<p>Var:<br \/>\n<img decoding=\"async\" alt=\"Tableau i detaljhandelen, er det virkelig?\" src=\"\/wp-content\/uploads\/2020\/01\/9382ee65a1482cc137a52b5f80c39eeb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBle:<br \/>\n<img decoding=\"async\" alt=\"Tableau i detaljhandelen, er det virkelig?\" src=\"\/wp-content\/uploads\/2020\/01\/1d6653ec427ce0621b441943f589d860.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSelve transposeeringen av databasen tar nesten ingen tid. Foresp\u00f8rselen om alle indikatorer for uken ble fortsatt behandlet p\u00e5 omtrent 10 sekunder. Men fleksibiliteten i oppbyggingen av dashbordet for spesifikke indikatorer gikk tapt, det vil si for den h\u00f8yre delen av dashbordet hvor dynamikken og detaljert inndeling av en spesifikk indikator ble presentert, ble lagret tidligere p\u00e5 1-3 sekunder, da foresp\u00f8rselen gikk p\u00e5 \u00e9n indikator, men n\u00e5 valgte databasen alltid ut alle indikatorene og filtrerte resultatet f\u00f8r det ble returnert til Tableau.<\/p>\n<p>Som et resultat har hastigheten p\u00e5 dashbordet blitt redusert nesten tre ganger.<\/p>\n<p><b>Resultat:<\/b><\/p>\n<ol>\n<li>5 sek \u2014 parsing av dashbordet, visualiseringer<\/li>\n<li> 15-20 sek \u2014 forberedelse til kompilering av foresp\u00f8rslene med utf\u00f8ring av forberegninger i Tableau<\/li>\n<li> 35-45 sek \u2014 kompilering av SQL-foresp\u00f8rslene og parallell-sekvensiell utf\u00f8relse i Hana<\/li>\n<li> 5 sek \u2014 behandling av resultater, sortering, oppregning av visualiseringer i Tableau<\/li>\n<li>Selvf\u00f8lgelig var ikke slike resultater tilfredsstillende for virksomheten, og vi fortsatte \u00e5 optimalisere.<\/li>\n<\/ol>\n<p><\/p>\n<h3>Trinn 2. Minst logikk i Tableau, full materialisering<\/h3>\n<p>\nVi forsto at det ville v\u00e6re umulig \u00e5 lage et dashbord med responstid p\u00e5 noen sekunder n\u00e5r vinduet fungerer i 10 sekunder, og vi vurderte alternativer for materialisering av data p\u00e5 databasesiden spesifikt for det aktuelle dashbordet. Men vi st\u00f8tte p\u00e5 et globalt problem, beskrevet ovenfor \u2013 ikke-additive indikatorer. Vi klarte ikke \u00e5 gj\u00f8re det slik at Tableau fleksibelt kunne bytte mellom forskjellige vinduer og niv\u00e5er, forh\u00e5ndsberegnet for forskjellige varehierarkier (i eksemplet danner tre foresp\u00f8rsel uten UTE, med UTE1 og UTE2 forskjellige resultater). Derfor besluttet vi \u00e5 forenkle dashbordet, gi avkall p\u00e5 varehierarkiet i dashbordet og se hvor raskt det kan bli i en forenklet versjon.<\/p>\n<p>S\u00e5, i dette siste trinnet samlet vi et eget lager, hvor vi la alle KPI-ene i transponert form. P\u00e5 databasesiden behandler enhver foresp\u00f8rsel til et slikt lager p\u00e5 0,1 \u2013 0,3 sekunder. I dashbordet fikk vi f\u00f8lgende resultater:<\/p>\n<p>F\u00f8rste \u00e5pning: 8-10 sekunder<br \/>\nEnhver klikk: 6-7 sekunder<\/p>\n<p>Tiden som Tableau bruker, best\u00e5r av:<\/p>\n<ol>\n<li>0,3 sek \u2014 parsing av dashbordet og kompilering av SQL-foresp\u00f8rslene\n<\/li>\n<li>1,5-3 sek \u2014 utf\u00f8relse av SQL-foresp\u00f8rslene i Hana for hovedvisualiseringene (kj\u00f8res parallelt med p.1)\n<\/li>\n<li>1,5-2 sek \u2014 rendering, omregning av visualiseringer\n<\/li>\n<li>1,3 sek \u2014 utf\u00f8ring av ekstra SQL-sp\u00f8rringer for \u00e5 hente relevante verdier fra filtre (Merke, Divisjon, By, Butikk), parsing av resultater\n<\/li>\n<\/ol>\n<p><\/p>\n<h3>Om vi skal oppsummere kort<\/h3>\n<p>\nVi likte verkt\u00f8yet Tableau med tanke p\u00e5 visualisering. I designfasen vurderte vi ulike visualiseringselementer, og vi fant dem alle i bibliotekene, inkludert komplekse flerniv\u00e5segmenteringer og multidrivende waterfall.<\/p>\n<p>N\u00e5r vi implementerte dashboards med viktige salgsindikatorer, st\u00f8tte vi p\u00e5 ytelsesproblemer som vi ikke har klart \u00e5 overkomme enn\u00e5. Vi brukte over to m\u00e5neder og fikk et funksjonelt ufullstendig dashboard, hvor responstiden er p\u00e5 kanten av akseptabelt. Og vi har konkludert:<\/p>\n<ol>\n<li>Tableau klarer ikkje \u00e5 jobbe med store datamengder. Dersom den opprinnelige datamodellen din har meir enn 10 GB data (omtrent 200 millionar x 50 rader), s\u00e5 blir dashbordet betydelig tregare \u2013 fr\u00e5 10 sekunder til fleire minutt per klikk. Vi har eksperimentert b\u00e5de ved live-tilkobling og ved ekstraksjon. Arbeidshastigheita er samanliknbar.\n<\/li>\n<li>Begrensninger ved bruk av flere datakilder (datasett). Det er ikke mulig \u00e5 angi forholdet mellom datasettene ved standardmetoder. Hvis man bruker omveier for \u00e5 koble sammen datasett, vil dette ha stor innvirkning p\u00e5 ytelsen. I v\u00e5rt tilfelle vurderte vi alternativet med \u00e5 materialisere data i hver n\u00f8dvendig skive av presentasjoner, og at man skulle gj\u00f8re bytter p\u00e5 disse materialiserte datasettene med bevaring av tidligere valgte filtre \u2013 noe som viste seg \u00e5 v\u00e6re umulig i Tableau.\n<\/li>\n<li>I Tableau er det ikke mulig \u00e5 lage dynamiske parametre. Du kan ikke fylle en parameter som brukes til \u00e5 filtrere datasettet i ekstraktet eller ved live-tilkobling med resultatet av et annet utvalg fra datasettet eller resultatet av en annen SQL-sp\u00f8rring, bare brukerens native inndata eller konstant.\n<\/li>\n<li>Begrensninger knyttet til bygging av dashboards med OLAP-elementer | Pivot-tabeller. <br \/>\nI MSTR, SAP SAC, SAP Analysis, hvis du legger til et datasett i rapporten, er alle objektene knyttet til hverandre som standard. Dette er ikke tilfelle i Tableau, der m\u00e5 du sette opp forbindelsen manuelt. Dette er kanskje mer fleksibelt, men for alle v\u00e5re dashbord er det et krav til elementene \u2013 derfor medf\u00f8rer det ekstra arbeidskostnader. Videre, hvis du lager relaterte filtrer slik at for eksempel listen over byer begrenses til bare byene i den valgte regionen, vil du straks oppleve sekvensielle sp\u00f8rringer til databasen eller ekstrakten, noe som merkerbart reduserer hastigheten p\u00e5 dashbordet.<\/li>\n<li>Begrensninger i funksjoner. Verken p\u00e5 ekstrakten eller ikke minst p\u00e5 datasettet fra Live-connect kan du utf\u00f8re storskala transformasjoner. Dette kan gj\u00f8res via Tableau Prep, men det medf\u00f8rer ekstra arbeidskostnader og enda et verkt\u00f8y som m\u00e5 l\u00e6res og vedlikeholdes. Du kan for eksempel ikke transponere data eller gj\u00f8re en join med seg selv. Dette blir begrenset gjennom transformasjoner p\u00e5 individuelle kolonner eller felt, som m\u00e5 velges via case eller if, noe som gir sv\u00e6rt komplekse SQL-sp\u00f8rringer hvor databasen bruker mesteparten av tiden p\u00e5 \u00e5 kompilere tekstsp\u00f8rringen. Disse begrensningene i verkt\u00f8yet m\u00e5tte adresseres p\u00e5 niv\u00e5et av vitrinene, noe som f\u00f8rer til mer kompliserte lagringsl\u00f8sninger, ekstra belastninger og transformasjoner.\n<\/li>\n<\/ol>\n<p>\nVi har ikke avskrevet Tableau. Men som et verkt\u00f8y som kan bygge industrielle dashbord og som et middel for \u00e5 erstatte og digitalisere hele selskapets rapporteringssystem, vurderer vi ikke Tableau.<\/p>\n<p>Vi jobber n\u00e5 aktivt med \u00e5 utvikle et tilsvarende dashbord i et annet verkt\u00f8y, samtidig som vi pr\u00f8ver \u00e5 se p\u00e5 arkitekturen til dashbordet i Tableau for \u00e5 forenkle den ytterligere. Hvis dette interesserer samfunnet, vil vi dele resultatene.<\/p>\n<p>Vi venter ogs\u00e5 p\u00e5 deres id\u00e9er eller r\u00e5d om hvordan man kan bygge raske dashbord i Tableau med s\u00e5 store datamengder, ettersom vi har v\u00e5r egen nettside, hvor dataene er mye st\u00f8rre enn i detaljhandelen.<br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mvideo\/blog\/483656\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u0432 Excel \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0445\u043e\u0434\u0438\u0442 \u2014 \u0442\u0440\u0435\u043d\u0434 \u043d\u0430 \u0443\u0434\u043e\u0431\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432\u0438\u0434\u0435\u043d \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0444\u0435\u0440\u0430\u0445. \u041c\u044b \u0434\u0430\u0432\u043d\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u043b\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u0446\u0438\u0444\u0440\u043e\u0432\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043e\u0442\u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u0438 \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 self-service \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438 Tableau. \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0411\u0435\u0437\u0443\u0433\u043b\u044b\u0439, \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043e\u0442\u0434\u0435\u043b\u0430 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0438 \u043e\u0442\u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u0413\u0440\u0443\u043f\u043f\u044b \u00ab\u041c.\u0412\u0438\u0434\u0435\u043e-\u042d\u043b\u044c\u0434\u043e\u0440\u0430\u0434\u043e\u00bb, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e\u0431 \u043e\u043f\u044b\u0442\u0435 \u0438 \u0438\u0442\u043e\u0433\u0430\u0445 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0431\u043e\u0435\u0432\u043e\u0433\u043e \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430. \u0421\u043a\u0430\u0436\u0443 \u0441\u0440\u0430\u0437\u0443, \u043d\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-55144","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u0432 Excel \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0445\u043e\u0434\u0438\u0442 \u2014 \u0442\u0440\u0435\u043d\u0434 \u043d\u0430 \u0443\u0434\u043e\u0431\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432\u0438\u0434\u0435\u043d \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0444\u0435\u0440\u0430\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/no\/blog\/news\/tableau-v-roznitse-realno\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Tableau \u0432 \u0440\u043e\u0437\u043d\u0438\u0446\u0435, \u0440\u0435\u0430\u043b\u044c\u043d\u043e? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u0432 Excel \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0445\u043e\u0434\u0438\u0442 \u2014 \u0442\u0440\u0435\u043d\u0434 \u043d\u0430 \u0443\u0434\u043e\u0431\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432\u0438\u0434\u0435\u043d \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0444\u0435\u0440\u0430\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/no\/blog\/news\/tableau-v-roznitse-realno\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-12T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:13+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Er Tableau faktisk i detaljhandel? | ProHoster","description":"Tiden for rapportering i Excel er hastig p\u00e5 vei bort \u2013 trenden mot brukervennlige verkt\u00f8y for presentasjon og analyse av informasjon er tydelig i alle sektorer.","canonical_url":"https:\/\/prohoster.info\/no\/blog\/news\/tableau-v-roznitse-realno","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Tableau \u0432 \u0440\u043e\u0437\u043d\u0438\u0446\u0435, \u0440\u0435\u0430\u043b\u044c\u043d\u043e? | ProHoster","og:description":"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u0432 Excel \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0445\u043e\u0434\u0438\u0442 \u2014 \u0442\u0440\u0435\u043d\u0434 \u043d\u0430 \u0443\u0434\u043e\u0431\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432\u0438\u0434\u0435\u043d \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0444\u0435\u0440\u0430\u0445.","og:url":"https:\/\/prohoster.info\/no\/blog\/news\/tableau-v-roznitse-realno","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-12T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55144","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:50:02","updated":"2022-10-05 23:10:07","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/55144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=55144"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/55144\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=55144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=55144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=55144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}