{"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\/sv\/blog\/news\/tableau-v-roznitse-realno","title":{"rendered":"Tableau inom detaljhandeln, \u00e4r det verkligt?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Rapporteringstiden i Excel f\u00f6rsvinner snabbt \u2014 trenden med anv\u00e4ndarv\u00e4nliga verktyg f\u00f6r presentation och analys av information syns inom alla omr\u00e5den. Vi har l\u00e4nge diskuterat digitalisering av rapporteringsprocessen och valt visualiserings- och sj\u00e4lvbetj\u00e4ningsanalysystemet Tableau. Alexander Bezugly, chef f\u00f6r avdelningen f\u00f6r analytiska l\u00f6sningar och rapportering hos gruppen \"M.Video-El Dorado\", ber\u00e4ttade om erfarenheterna och resultaten fr\u00e5n att skapa en realtidsdashboard.<\/b><\/p>\n<p>Jag kan direkt s\u00e4ga att inte allt som planerades lyckades, men erfarenheten var intressant, och jag hoppas att den kommer att vara till nytta f\u00f6r er ocks\u00e5. Och om n\u00e5gon har id\u00e9er om hur det kunde g\u00f6ras b\u00e4ttre \u2013 skulle jag vara mycket tacksam f\u00f6r r\u00e5d och id\u00e9er.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau inom detaljhandeln, \u00e4r det verkligt?\" src=\"\/wp-content\/uploads\/2020\/01\/81c41899e9b3acf1858a4faa627c121b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUnder g\u00e5r vi igenom vad vi st\u00f6tte p\u00e5 och vad vi l\u00e4rde oss.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Hur vi b\u00f6rjade<\/h4>\n<p>\nHos \"M.Video-El Dorado\" finns en v\u00e4l genomarbetad datamodell: strukturerad information med n\u00f6dv\u00e4ndig lagringsdjup och ett stort antal fasta rapporter (se mer detaljerat <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mvideo\/blog\/462015\/\">denna artikel<\/a><\/noindex>). Av dessa g\u00f6r analytiker antingen pivottabeller eller formaterade e-postutskick i Excel, eller vackra presentationer i PowerPoint f\u00f6r slutanv\u00e4ndarna.<\/p>\n<p>F\u00f6r ungef\u00e4r tv\u00e5 \u00e5r sedan b\u00f6rjade vi ist\u00e4llet f\u00f6r fasta rapporter att skapa analytiska rapporter i SAP Analysis (ett till\u00e4gg till Excel, i sj\u00e4lva verket \u2014 en pivottabell ovanf\u00f6r en OLAP-motor). Men det h\u00e4r verktyget kunde inte tillfredsst\u00e4lla behoven hos alla anv\u00e4ndare, de flesta fortsatte att anv\u00e4nda information som var ytterligare bearbetad av analytiker.<\/p>\n<p>V\u00e5ra slutanv\u00e4ndare delas in i tre kategorier:<\/p>\n<p><b>H\u00f6gsta ledningen<\/b>. Beg\u00e4r information i ett v\u00e4l presenterat och l\u00e4ttf\u00f6rst\u00e5eligt format.<\/p>\n<p><b>Mellanledningen<\/b>, avancerade anv\u00e4ndare. Intresserade av datanalys och kapabla att sj\u00e4lva skapa rapporter med tillg\u00e5ng till verktyg. Det \u00e4r de som blev de nyckelanv\u00e4ndare av analytiska rapporter i SAP Analysis.<\/p>\n<p><b>Massa anv\u00e4ndare<\/b>. Inte intresserade av att analysera data sj\u00e4lva, de anv\u00e4nder rapporter med begr\u00e4nsad frihet, i form av e-postutskick och pivottabeller i Excel.<\/p>\n<p>V\u00e5r id\u00e9 var att tillfredsst\u00e4lla behoven hos alla anv\u00e4ndare och ge dem ett enhetligt och bekv\u00e4mt verktyg. Vi b\u00f6rjade med ledningen, som beh\u00f6vde praktiska paneler f\u00f6r att analysera grundl\u00e4ggande aff\u00e4rsresultat. Vi startade med Tableau och valde f\u00f6rst tv\u00e5 omr\u00e5den: f\u00f6rs\u00e4ljningsindikatorer f\u00f6r detaljhandel och online med begr\u00e4nsad djup och bredd p\u00e5 analysen, som skulle t\u00e4cka ungef\u00e4r 80 % av de uppgifter som ledningen efterfr\u00e5gade.<\/p>\n<p>Eftersom anv\u00e4ndarna av instrumentpanelen var ledningen, kom ytterligare en KPI f\u00f6r produkten \u2013 svarstiden. Ingen kommer att v\u00e4nta 20-30 sekunder p\u00e5 att data ska uppdateras. Navigeringen skulle ta 4-5 sekunder, helst omedelbart.Och detta lyckades vi tyv\u00e4rr inte uppn\u00e5.<\/p>\n<p>S\u00e5 h\u00e4r s\u00e5g layouten f\u00f6r v\u00e5r huvudinstrumentpanel ut:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau inom detaljhandeln, \u00e4r det verkligt?\" src=\"\/wp-content\/uploads\/2020\/01\/a7a028feee6542dfbc1fd3c2feeaa3de.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHuvudkonceptet var att samla de viktigaste KPI-drivarna, som totalt blev 19, till v\u00e4nster och visa deras dynamik och uppdelning efter huvudattribut till h\u00f6ger. Uppgiften verkar inte sv\u00e5r, visualiseringen logisk och f\u00f6rst\u00e5elig, tills man dyker ner i detaljerna.<\/p>\n<h2>Detalj 1. Datavolym<\/h2>\n<p>\nHuvudtabellen \u00f6ver f\u00f6rs\u00e4ljning under \u00e5ret inneh\u00e5ller cirka 300 miljoner rader. Eftersom det \u00e4r n\u00f6dv\u00e4ndigt att visa b\u00e5de dynamiken fr\u00e5n f\u00f6reg\u00e5ende och det f\u00f6reg\u00e5ende \u00e5ret, \u00e4r datavolymen bara f\u00f6r faktiska f\u00f6rs\u00e4ljningar cirka 1 miljard rader. Dessutom lagras information om planerade data och blocket f\u00f6r internetf\u00f6rs\u00e4ljning separat. D\u00e4rf\u00f6r, trots att vi anv\u00e4nde den kolumnbaserade in-memory databasen SAP HANA, tog en fr\u00e5ga om att h\u00e4mta alla indikatorer under en vecka fr\u00e5n aktuella datalager i realtid cirka 15-20 sekunder. L\u00f6sningen p\u00e5 denna uppgift f\u00f6resl\u00e5r sig sj\u00e4lv \u2013 ytterligare materialisering av data. Men det finns \u00e4ven fallgropar i detta, som beskrivs nedan.<\/p>\n<h2>Detalj 2. Icke-additiva indikatorer<\/h2>\n<p>\nM\u00e5nga av v\u00e5ra KPI:er \u00e4r kopplade till antalet kvitton. Denna indikator \u00e4r en COUNT DISTINCT av antalet rader (huvudrader av kvitton) och visar olika belopp beroende p\u00e5 valda attribut. Som exempel, hur denna indikator och dess derivat b\u00f6r ber\u00e4knas:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau inom detaljhandeln, \u00e4r det verkligt?\" src=\"\/wp-content\/uploads\/2020\/01\/0a6d676f0a5c2b779a5e7892b1f54929.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nF\u00f6r att s\u00e4kerst\u00e4lla noggranna ber\u00e4kningar kan man:<\/p>\n<ul>\n<li>Genomf\u00f6ra ber\u00e4kningen av dessa indikatorer i realtid i datalager;\n<\/li>\n<li>Utf\u00f6ra ber\u00e4kningen p\u00e5 hela datavolymen i Tableau, det vill s\u00e4ga att ge alla data med valda filter i granualiteten av kvitton.\n<\/li>\n<li>Skapa en materialiserad vy d\u00e4r alla m\u00e4tv\u00e4rden ber\u00e4knas f\u00f6r alla urvalsvarianter, vilket ger olika icke-additiva resultat.\n<\/li>\n<\/ul>\n<p>\nDet \u00e4r tydligt att i exemplet representerar UTE1 och UTE2 materialegenskaper som utg\u00f6r en produktstruktur. Detta \u00e4r inget statiskt, utan en del av f\u00f6retagets styrning eftersom olika chefer ansvarar f\u00f6r olika produktgrupper. Vi har genomf\u00f6rt m\u00e5nga globala \u00f6versyner av denna hierarki, d\u00e4r alla niv\u00e5er har \u00e4ndrats, d\u00e4r relationer har setts \u00f6ver, liksom kontinuerliga punktinsatser n\u00e4r en grupp flyttas fr\u00e5n en nod till en annan. I vanlig rapportering ber\u00e4knas allt detta i realtid utifr\u00e5n materialattribut, men i fallet med materialisering av dessa data m\u00e5ste en mekanism utarbetas f\u00f6r att sp\u00e5ra s\u00e5dana f\u00f6r\u00e4ndringar och automatiskt ladda om historiska data. Detta \u00e4r en ganska komplicerad uppgift.<\/p>\n<h2>Del 3. J\u00e4mf\u00f6relse av data <\/h2>\n<p>\nDetta punkt liknar den f\u00f6reg\u00e5ende. K\u00e4rnan \u00e4r att f\u00f6retaget vid analys f\u00f6redrar att skapa flera niv\u00e5er av j\u00e4mf\u00f6relse med f\u00f6reg\u00e5ende period:<\/p>\n<p><i>J\u00e4mf\u00f6relse med tidigare period (dag f\u00f6r dag, vecka f\u00f6r vecka, m\u00e5nad f\u00f6r m\u00e5nad)<\/i><\/p>\n<p>I denna j\u00e4mf\u00f6relse antas att beroende p\u00e5 den period som anv\u00e4ndaren v\u00e4ljer (till exempel vecka 33 av \u00e5ret) m\u00e5ste vi visa dynamiken i j\u00e4mf\u00f6relse med vecka 32, och om vi valde data f\u00f6r en m\u00e5nad, till exempel maj, skulle denna j\u00e4mf\u00f6relse visa dynamiken i f\u00f6rh\u00e5llande till april.<\/p>\n<p><i>J\u00e4mf\u00f6relse med f\u00f6reg\u00e5ende \u00e5r<\/i><\/p>\n<p>Det huvudsakliga temat h\u00e4r \u00e4r att n\u00e4r man j\u00e4mf\u00f6r efter dagar och veckor ska man inte ta samma dag f\u00f6rra \u00e5ret, det vill s\u00e4ga man kan inte bara ta nuvarande \u00e5r minus ett. Man m\u00e5ste ist\u00e4llet titta p\u00e5 den j\u00e4mf\u00f6rda veckodagen. N\u00e4r man d\u00e4remot j\u00e4mf\u00f6r m\u00e5nader, m\u00e5ste man ta exakt samma datum fr\u00e5n f\u00f6rra \u00e5ret. Det finns ocks\u00e5 s\u00e4rskilda aspekter kring skott\u00e5r. I de ursprungliga lagren \u00e4r all information distribuerad efter dagar, det finns inga separata f\u00e4lt f\u00f6r veckor, m\u00e5nader eller \u00e5r. D\u00e4rf\u00f6r, f\u00f6r att f\u00e5 en fullst\u00e4ndig analytisk \u00f6versikt i panelen, m\u00e5ste man r\u00e4kna inte bara en period, till exempel en vecka, utan 4 veckor, och sedan j\u00e4mf\u00f6ra dessa data f\u00f6r att reflektera dynamik och avvikelser. D\u00e4rmed kan denna logik f\u00f6r att skapa j\u00e4mf\u00f6relse i dynamik ocks\u00e5 realiseras antingen i Tableau eller p\u00e5 vitrinsidan. Ja, och vi var medvetna om dessa detaljer och diskuterade dem redan i designfasen, men att f\u00f6rutsp\u00e5 deras p\u00e5verkan p\u00e5 den slutliga instrumentpanelen var sv\u00e5rt.<\/p>\n<p>Vid implementeringen av instrumentpanelen tog vi en l\u00e5ng Agile-v\u00e4g. V\u00e5rt m\u00e5l var att s\u00e5 snabbt som m\u00f6jligt tillhandah\u00e5lla ett fungerande verktyg f\u00f6r testning med n\u00f6dv\u00e4ndiga data. D\u00e4rf\u00f6r arbetade vi i sprinter och fokuserade p\u00e5 att minimera arbetet p\u00e5 den nuvarande lagersidan.<\/p>\n<h2>Del 1. Tro p\u00e5 Tableau<\/h2>\n<p>\nF\u00f6r att f\u00f6renkla IT-st\u00f6det och m\u00f6jligg\u00f6ra snabba f\u00f6r\u00e4ndringar beslutade vi att g\u00f6ra logiken f\u00f6r ber\u00e4kning av icke-additiva indikatorer och j\u00e4mf\u00f6relse av tidigare perioder i Tableau.<\/p>\n<h3>Steg 1. Allt i Live, inga utvecklingar av vitrin.<\/h3>\n<p>\nI detta steg kopplade vi Tableau till de aktuella vitrinerna och beslutade att se hur antalet kvitton skulle ber\u00e4knas \u00f6ver ett \u00e5r.<\/p>\n<p><b>Resultatet:<\/b><\/p>\n<p>Svaret var nedsl\u00e5ende \u2013 20 minuter. Datatransfer \u00f6ver n\u00e4tverket, h\u00f6g belastning p\u00e5 Tableau. Vi ins\u00e5g att logiken f\u00f6r icke-additiva indikatorer beh\u00f6vde implementeras i HANA. Detta skr\u00e4mde oss inte s\u00e5 mycket, vi hade redan liknande erfarenheter med BO och Analysis och kunde bygga snabba vitriner i HANA som ger korrekt ber\u00e4knade icke-additiva indikatorer. Nu \u00e5terstod bara att anpassa dem till Tableau.<\/p>\n<h3>Steg 2. Vi finjusterar vitrinerna, ingen materialisering, allt p\u00e5 spr\u00e5ng.<\/h3>\n<p>\nVi har skapat en ny, separat vitrin som p\u00e5 spr\u00e5ng levererade de n\u00f6dv\u00e4ndiga data f\u00f6r TABLEAU. Sammantaget fick vi ett bra resultat; vi minskade tiden f\u00f6r att generera alla indikatorer fr\u00e5n en vecka till 9-10 sekunder. Vi f\u00f6rv\u00e4ntade oss \u00e4rligt att svarstiden f\u00f6r instrumentpanelen i Tableau skulle vara 20-30 sekunder vid f\u00f6rsta \u00f6ppningen och d\u00e4refter, tack vare cachen, mellan 10 och 12, vilket skulle vara acceptabelt f\u00f6r oss.<\/p>\n<p><b>Resultatet:<\/b><\/p>\n<p>F\u00f6rsta \u00f6ppna instrumentpanelen: 4-5 minuter<br \/>\nVarje klick: 3-4 minuter<br \/>\nIngen f\u00f6rv\u00e4ntade sig n\u00e5got s\u00e5dant ytterligare tillskott till vitrinens arbete.<\/p>\n<h2>Del 2. F\u00f6rdjupning i Tableau<\/h2>\n<p><\/p>\n<h3>Steg 1. Analys av Tableau-prestanda och snabb justering<\/h3>\n<p>\nVi b\u00f6rjade analysera vad Tableau spenderade mest tid p\u00e5. Det finns faktiskt mycket bra verktyg f\u00f6r detta, vilket \u00e4r en f\u00f6rdel med Tableau. Det st\u00f6rsta problemet vi identifierade var mycket komplexa SQL-fr\u00e5gor som Tableau skapade. Dessa var fr\u00e4mst kopplade till:<\/p>\n<p> \u2014 transponering av data. Eftersom Tableau inte har verktyg f\u00f6r att transponera dataset, var vi tvungna att skapa en tabell genom case f\u00f6r att bygga den v\u00e4nstra delen av instrumentpanelen med detaljerad information om alla KPI. Storleken p\u00e5 SQL-fr\u00e5gorna i databasen n\u00e5dde 120 000 tecken.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau inom detaljhandeln, \u00e4r det verkligt?\" src=\"\/wp-content\/uploads\/2020\/01\/8fc4d99017ddd604bbabb5ea0a19b38d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n \u2014 val av tidsperiod. En s\u00e5dan fr\u00e5ga p\u00e5 databaseniv\u00e5 tog l\u00e4ngre tid att kompilera \u00e4n att genomf\u00f6ra:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau inom detaljhandeln, \u00e4r det verkligt?\" src=\"\/wp-content\/uploads\/2020\/01\/a9b9cc6ddd6b03c643935d070532728e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet vill s\u00e4ga, bearbetning av fr\u00e5gan 12 sekunder + 5 sekunder utf\u00f6rande.<\/p>\n<p>Vi beslutade att f\u00f6renkla ber\u00e4kningslogiken p\u00e5 Tableau-sidan och flytta en annan del av ber\u00e4kningarna till vitrin och databaseniv\u00e5. Detta gav bra resultat.<\/p>\n<p>F\u00f6rst gjorde vi transponeringen i realtid, genomf\u00f6rde den via full outer join i det sista steget av ber\u00e4kningen av VIEW, enligt ett s\u00e5dant tillv\u00e4gag\u00e5ngss\u00e4tt som beskrivs p\u00e5 wiki. <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/Transpose\">Transpose \u2014 Wikipedia, den fria encyklopedin<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/Elementary_matrix#Row-addition_transformations\">Elementary matrix \u2014 Wikipedia, den fria encyklopedin<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau inom detaljhandeln, \u00e4r det verkligt?\" src=\"\/wp-content\/uploads\/2020\/01\/5259995831dc8ae379a34bfe84e52daa.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVi skapade allts\u00e5 en inst\u00e4llningstabell \u2013 en transponeringsmatris (21x21) och fick alla indikatorer i radbrytning.<\/p>\n<p>F\u00f6rut:<br \/>\n<img decoding=\"async\" alt=\"Tableau inom detaljhandeln, \u00e4r det verkligt?\" src=\"\/wp-content\/uploads\/2020\/01\/9382ee65a1482cc137a52b5f80c39eeb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNu:<br \/>\n<img decoding=\"async\" alt=\"Tableau inom detaljhandeln, \u00e4r det verkligt?\" src=\"\/wp-content\/uploads\/2020\/01\/1d6653ec427ce0621b441943f589d860.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSj\u00e4lva transponeringen av databasen tar n\u00e4stan ingen tid. Fr\u00e5gan f\u00f6r alla indikatorer under veckan svarade fortfarande p\u00e5 ungef\u00e4r 10 sekunder. Men flexibiliteten i att bygga en dashboard f\u00f6r en specifik indikator f\u00f6rlorades, dvs. f\u00f6r den h\u00f6gra delen av dashboards d\u00e4r dynamik och detaljerad uppdelning av en specifik indikator presenterades, svarade skylten tidigare p\u00e5 1-3 sekunder, eftersom fr\u00e5gan gick p\u00e5 en indikator, men nu valde databasen alltid alla indikatorer och filtrerade resultatet innan det returnerades till Tableau.<\/p>\n<p>Som ett resultat minskade hastigheten p\u00e5 dashboarden n\u00e4stan tre g\u00e5nger.<\/p>\n<p><b>Resultatet:<\/b><\/p>\n<ol>\n<li>5 sek - parsing av dashboard, visualiseringar<\/li>\n<li> 15-20 sek - f\u00f6rberedelse f\u00f6r kompilering av fr\u00e5gor med f\u00f6rreduceringar i Tableau<\/li>\n<li> 35-45 sek - kompilering av SQL-fr\u00e5gor och parallell-sekventiell utf\u00f6rande i Hana<\/li>\n<li> 5 sek - bearbetning av resultat, sortering, omber\u00e4kning av visualiseringar i Tableau<\/li>\n<li>Sj\u00e4lvklart var s\u00e5dana resultat oacceptabla f\u00f6r verksamheten, och vi fortsatte med optimeringen.<\/li>\n<\/ol>\n<p><\/p>\n<h3>Steg 2. Minst logik i Tableau, full materialisering<\/h3>\n<p>\nVi f\u00f6rstod att det var om\u00f6jligt att bygga en dashboard med en svarstid p\u00e5 n\u00e5gra sekunder p\u00e5 en skylta som arbetar p\u00e5 10 sekunder och unders\u00f6kte m\u00f6jligheter f\u00f6r materialisering av data p\u00e5 databasens sida specifikt f\u00f6r den n\u00f6dv\u00e4ndiga dashboarden. Men vi st\u00f6tte p\u00e5 ett globalt problem som beskrivits ovan \u2013 icke-additativa indikatorer. Vi kunde inte f\u00e5 Tableau att flexibelt v\u00e4xla mellan olika skylta och niv\u00e5er, f\u00f6rber\u00e4knade f\u00f6r olika produkt hierarkier (i exemplet ger tre fr\u00e5gor utan UTE, med UTE1 och UTE2 olika resultat). D\u00e4rf\u00f6r beslutade vi att f\u00f6renkla dashboarden, avst\u00e5 fr\u00e5n produkt hierarkin i dashboarden och se hur snabbt den kunde bli i en f\u00f6renklad version.<\/p>\n<p>S\u00e5, i detta sista steg samlade vi ett separat lager d\u00e4r vi lagrade alla KPI i transponerad form. P\u00e5 databassidan bearbetas varje fr\u00e5ga till ett s\u00e5dant lager p\u00e5 0,1 - 0,3 sekunder. I dashboarden fick vi f\u00f6ljande resultat:<\/p>\n<p>F\u00f6rsta \u00f6ppningen: 8-10 sekunder<br \/>\nVarje klick: 6-7 sekunder<\/p>\n<p>Tiden som Tableau spenderar best\u00e5r av:<\/p>\n<ol>\n<li>0,3 sek - parsing av dashboard och kompilering av SQL-fr\u00e5gor\n<\/li>\n<li>1,5-3 sek - utf\u00f6rande av SQL-fr\u00e5gor i Hana f\u00f6r de viktigaste visualiseringarna (startar parallellt med punkt 1)\n<\/li>\n<li>1,5-2 sek. \u2014 rendering, omber\u00e4kning av visualiseringar\n<\/li>\n<li>1,3 sek. \u2014 utf\u00f6rande av ytterligare SQL-fr\u00e5gor f\u00f6r att f\u00e5 relevanta v\u00e4rden f\u00f6r filter (M\u00e4rke, Division, Stad, Aff\u00e4r), parse av resultat\n<\/li>\n<\/ol>\n<p><\/p>\n<h3>Om vi sammanfattar kort<\/h3>\n<p>\nVi gillade verktyget Tableau sett ur ett visualiseringsperspektiv. Under designfasen \u00f6verv\u00e4gde vi olika visualiseringselement och vi fann alla i biblioteken, inklusive komplexa flerskiktade segmenteringar och flerdelade waterfall.<\/p>\n<p>N\u00e4r vi implementerade dashboards med viktiga f\u00f6rs\u00e4ljningsindikatorer st\u00f6tte vi p\u00e5 prestandasv\u00e5righeter som vi \u00e4nnu inte har kunnat \u00f6vervinna. Vi spenderade mer \u00e4n tv\u00e5 m\u00e5nader och fick en funktionellt ofullst\u00e4ndig dashboard vars svarstid ligger p\u00e5 gr\u00e4nsen av det acceptabla. Vi drog slutsatser:<\/p>\n<ol>\n<li>Tableau \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043e\u0431\u044a\u0451\u043c\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0415\u0441\u043b\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0443 \u0432\u0430\u0441 \u0431\u043e\u043b\u0435\u0435 10 \u0413\u0431 \u0434\u0430\u043d\u043d\u044b\u0445 (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 200 \u043c\u043b\u043d. \u0425 50 \u0441\u0442\u0440\u043e\u043a), \u0442\u043e \u0434\u0430\u0448\u0431\u043e\u0440\u0434 \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u043e \u0437\u0430\u043c\u0435\u0434\u043b\u044f\u0435\u0442\u0441\u044f \u2013 \u043e\u0442 10 \u0441\u0435\u043a\u0443\u043d\u0434 \u0434\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043c\u0438\u043d\u0443\u0442 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0438\u043a. \u041c\u044b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0438 \u043f\u0440\u0438 live-connect&#8217;\u0435 \u0438 \u043f\u0440\u0438 \u044d\u043a\u0441\u0442\u0440\u0430\u043a\u0442\u0435. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c\u0430\u044f.\n<\/li>\n<li>Begr\u00e4nsningar vid anv\u00e4ndning av flera datalager (datasets). Det g\u00e5r inte att anv\u00e4nda standardmetoder f\u00f6r att ange relationen mellan datasets. Om man anv\u00e4nder omv\u00e4gar f\u00f6r att koppla datasets kommer det att p\u00e5verka prestandan kraftigt. I v\u00e5rt fall \u00f6verv\u00e4gde vi att materialisera data i varje n\u00f6dv\u00e4ndig dimension av visualiseringar och g\u00f6ra byten p\u00e5 dessa materialiserade datasets med bibeh\u00e5llna tidigare valda filter \u2013 detta visade sig vara om\u00f6jligt att g\u00f6ra i Tableau.\n<\/li>\n<li>I Tableau \u00e4r det om\u00f6jligt att skapa dynamiska parametrar. Du kan inte fylla en parameter, som anv\u00e4nds f\u00f6r att filtrera ett dataset i extraheringen eller vid live-anslutningen, med resultatet fr\u00e5n ett annat urval fr\u00e5n datasetet eller resultatet av en annan SQL-fr\u00e5ga, endast anv\u00e4ndarens inmatning eller en konstant.\n<\/li>\n<li>Begr\u00e4nsningar relaterade till skapandet av dashboards med OLAP|Pivot-tabeller. <br \/>\nI MSTR, SAP SAC, SAP Analysis, n\u00e4r du l\u00e4gger till ett dataset i rapporten \u00e4r alla objekt kopplade till varandra som standard. Det finns inte i Tableau; kopplingen m\u00e5ste st\u00e4llas in manuellt. Det \u00e4r kanske mer flexibelt, men f\u00f6r alla v\u00e5ra instrumentpaneler \u00e4r detta ett obligatoriskt krav p\u00e5 elementen \u2013 d\u00e4rf\u00f6r inneb\u00e4r det extra arbetsinsatser. Dessutom, om du g\u00f6r relaterade filter, s\u00e5 att till exempel n\u00e4r du filtrerar regionen \u00e4r listan \u00f6ver st\u00e4der begr\u00e4nsad till endast st\u00e4der i den regionen, hamnar du genast i sekventiella databasfr\u00e5gor eller extrakt, vilket m\u00e4rkbar saktar ner instrumentpanelen.<\/li>\n<li>Begr\u00e4nsningar i funktionerna. B\u00e5de \u00f6ver extraktet och S\u00c5 MYCKET mer \u00f6ver datasetet fr\u00e5n Live-connect f\u00e5r man inte g\u00f6ra massiva omvandlingar. Det kan g\u00f6ras via Tableau Prep, men det inneb\u00e4r ytterligare arbetsinsatser och ytterligare ett verktyg som m\u00e5ste l\u00e4ras in och underh\u00e5llas. Till exempel kan du inte transponera data eller g\u00f6ra en join av dem sj\u00e4lva. Det st\u00e4ngs av genom omvandlingar av individuella kolumner eller f\u00e4lt som m\u00e5ste v\u00e4ljas via case eller if, vilket ger upphov till mycket komplexa SQL-fr\u00e5gor d\u00e4r databasen huvudsakligen spenderar tid p\u00e5 att kompilera texten i fr\u00e5gan. Dessa brister i verktyget har vi varit tvungna att l\u00f6sa p\u00e5 niv\u00e5 av en vy, vilket leder till en komplicering av lagret, extra belastningar och omvandlingar.\n<\/li>\n<\/ol>\n<p>\nVi har inte gett upp p\u00e5 Tableau. Men som ett verktyg som kan bygga industriella instrumentpaneler och ett medel som kan ers\u00e4tta och digitalisera hela systemet f\u00f6r f\u00f6retagsrapportering, betraktar vi inte Tableau.<\/p>\n<p>Vi utvecklar f\u00f6r n\u00e4rvarande en liknande instrumentpanel i ett annat verktyg och samtidigt f\u00f6rs\u00f6ker vi ompr\u00f6va arkitekturen i instrumentpanelen i Tableau f\u00f6r att f\u00f6renkla den \u00e4nnu mer. Om kommuniteten \u00e4r intresserad kommer vi att ber\u00e4tta om resultaten.<\/p>\n<p>Vi ser ocks\u00e5 fram emot era id\u00e9er eller r\u00e5d om hur man i Tableau kan bygga snabba instrumentpaneler \u00f6ver s\u00e5dana stora datam\u00e4ngder, d\u00e5 vi har en webbplats d\u00e4r datan \u00e4r mycket st\u00f6rre \u00e4n i detaljhandeln.<br \/>\n<br \/>K\u00e4lla: <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.4 - 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\/sv\/blog\/news\/tableau-v-roznitse-realno\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47\u00c4r Tableau i detaljhandeln verkligen m\u00f6jligt? | ProHoster","description":"Tiden f\u00f6r rapportering i Excel f\u00f6rsvinner snabbt \u2013 trenden med anv\u00e4ndarv\u00e4nliga verktyg f\u00f6r presentation och analys av information syns i alla omr\u00e5den.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/tableau-v-roznitse-realno","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/55144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=55144"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/55144\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=55144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=55144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=55144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}