{"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\/sk\/blog\/news\/tableau-v-roznitse-realno","title":{"rendered":"Tableau v maloobchode, naozaj?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>\u010cas na reporting v Excela sa r\u00fdchlo kr\u00e1ti - trend smerom k pohodln\u00fdm n\u00e1strojom na prezent\u00e1ciu a anal\u00fdzu inform\u00e1ci\u00ed je vidite\u013en\u00fd vo v\u0161etk\u00fdch oblastiach. Intern\u011b sme u\u017e dlho diskutovali o digitaliz\u00e1cii reportingu a vybrali sme syst\u00e9m vizualiz\u00e1cie a self-service analytiky Tableau. Alexander Bezuglyj, ved\u00faci oddelenia analytick\u00fdch rie\u0161en\u00ed a reportingu skupiny \u201eM.Video-Eldorado\u201c, sa podelil o sk\u00fasenosti a v\u00fdsledky pri vytv\u00e1ran\u00ed produk\u010dn\u00e9ho dashboardu.<\/b><\/p>\n<p>Poviem hne\u010f, nie v\u0161etko, \u010do sme zam\u00fd\u0161\u013eali, sa podarilo realizova\u0165, no sk\u00fasenos\u0165 bola zauj\u00edmav\u00e1 a d\u00fafam, \u017ee bude u\u017eito\u010dn\u00e1 aj pre v\u00e1s. A ak niekto m\u00e1 n\u00e1pady, ako to mohlo by\u0165 lep\u0161ie - budem ve\u013emi v\u010fa\u010dn\u00fd za rady a n\u00e1pady.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau v maloobchode, naozaj?\" src=\"\/wp-content\/uploads\/2020\/01\/81c41899e9b3acf1858a4faa627c121b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPod katom sa dozviete, s \u010d\u00edm sme sa stretli a \u010do sme sa nau\u010dili.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Odkia\u013e sme za\u010d\u00ednali<\/h4>\n<p>\nV \u201eM.Video-Eldorado\u201c m\u00e1me dobre vypracovan\u00fd model d\u00e1t: \u0161trukt\u00farovan\u00e9 inform\u00e1cie s po\u017eadovanou h\u013abkou ukladania a obrovsk\u00e9 mno\u017estvo reportov v pevnej forme (pozri podrobnej\u0161ie <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mvideo\/blog\/462015\/\">tento \u010dl\u00e1nok<\/a><\/noindex>). Z nich analytici vytv\u00e1raj\u00fa bu\u010f kontingen\u010dn\u00e9 tabu\u013eky alebo form\u00e1tovan\u00e9 rozosielky v Excela, alebo pekn\u00e9 prezent\u00e1cie v PowerPointe pre koncov\u00fdch pou\u017e\u00edvate\u013eov.<\/p>\n<p>Pribli\u017ene pred dvoma rokmi sme namiesto reportov v pevnej forme za\u010dali vytv\u00e1ra\u0165 analytick\u00e9 reporty v SAP Analysis (doplnenie pre Excel, v podstate kontingen\u010dn\u00e1 tabu\u013eka nad OLAP motorom). Av\u0161ak tento n\u00e1stroj nedok\u00e1zal pokry\u0165 potreby v\u0161etk\u00fdch pou\u017e\u00edvate\u013eov, v\u00e4\u010d\u0161ina pokra\u010dovala v pou\u017e\u00edvan\u00ed inform\u00e1ci\u00ed, ktor\u00e9 analytici dodato\u010dne spracovali.<\/p>\n<p>Na\u0161i koncov\u00ed pou\u017e\u00edvatelia s\u00fa rozdelen\u00ed do troch kateg\u00f3ri\u00ed:<\/p>\n<p><b>Top mana\u017ement<\/b>. \u017diadaj\u00fa inform\u00e1cie v dobre prezentovanom a preh\u013eadne pochopite\u013enom form\u00e1te.<\/p>\n<p><b>Middle-mana\u017ement<\/b>, pokro\u010dil\u00ed pou\u017e\u00edvatelia. Zauj\u00edmaj\u00fa sa o anal\u00fdzu d\u00e1t a s\u00fa schopn\u00ed samostatne vytv\u00e1ra\u0165 reporty, ak maj\u00fa k dispoz\u00edcii n\u00e1stroje. Pr\u00e1ve oni sa stali k\u013e\u00fa\u010dov\u00fdmi pou\u017e\u00edvate\u013emi analytick\u00fdch reportov v SAP Analysis.<\/p>\n<p><b>Masy pou\u017e\u00edvate\u013eov<\/b>. Nie s\u00fa zainteresovan\u00ed v samostatnej anal\u00fdze d\u00e1t, pou\u017e\u00edvaj\u00fa reporty s obmedzenou vo\u013enos\u0165ou, vo forme rozosielok a kontingen\u010dn\u00fdch tabuliek v Excela.<\/p>\n<p>N\u00e1\u0161 cie\u013e bol pokry\u0165 potreby v\u0161etk\u00fdch pou\u017e\u00edvate\u013eov a poskytn\u00fa\u0165 im jeden pohodln\u00fd n\u00e1stroj. Rozhodli sme sa za\u010da\u0165 u vrcholov\u00e9ho mana\u017ementu. Potrebovali pohodln\u00e9 panely na anal\u00fdzu k\u013e\u00fa\u010dov\u00fdch obchodn\u00fdch v\u00fdsledkov. Tak sme za\u010dali s Tableau a na \u00favod sme vybrali dve oblasti: predajn\u00e9 ukazovatele v maloobchode a online s obmedzenou h\u013abkou a \u0161\u00edrkou anal\u00fdzy, ktor\u00e9 pokryli pribli\u017ene 80% \u00fadajov, ktor\u00e9 vrcholov\u00fd mana\u017ement po\u017eadoval.<\/p>\n<p>Ke\u010f\u017ee pou\u017e\u00edvate\u013emi palubn\u00fdch dosiek bol vrcholov\u00fd mana\u017ement, objavil sa \u010fal\u0161\u00ed doplnkov\u00fd KPI produktu \u2013 r\u00fdchlos\u0165 odozvy. Nikto nebude \u010daka\u0165 20-30 sek\u00fand, k\u00fdm sa \u00fadaje aktualizuj\u00fa. Navig\u00e1cia by mala trva\u0165 4-5 sek\u00fand, a e\u0161te lep\u0161ie, aby bola okam\u017eit\u00e1. A to sa n\u00e1m, \u017eia\u013e, nepodarilo dosiahnu\u0165.<\/p>\n<p>Takto vyzeral n\u00e1vrh na\u0161ej hlavnej palubnej dosky:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau v maloobchode, naozaj?\" src=\"\/wp-content\/uploads\/2020\/01\/a7a028feee6542dfbc1fd3c2feeaa3de.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u013e\u00fa\u010dov\u00e1 my\u0161lienka \u2013 spoji\u0165 hlavn\u00e9 KPI-drivers, ktor\u00fdch sa nakoniec nazbieralo 19, z\u013eava a zobrazova\u0165 ich dynamiku a rozdelenie pod\u013ea hlavn\u00fdch atrib\u00fatov vpravo. \u00daloha sa zd\u00e1 by\u0165 jednoduch\u00e1, vizualiz\u00e1cia logick\u00e1 a zrozumite\u013en\u00e1, k\u00fdm sa nezano\u0159\u00edte do detailov.<\/p>\n<h2>Detail 1. Objem \u00fadajov<\/h2>\n<p>\nHlavn\u00e1 tabu\u013eka predaja za rok obsahuje pribli\u017ene 300 mili\u00f3nov riadkov. Preto\u017ee je potrebn\u00e9 odrazi\u0165 aj dynamiku v porovnan\u00ed s predch\u00e1dzaj\u00facim a predpredch\u00e1dzaj\u00facim rokom, objem \u00fadajov t\u00fdkaj\u00facich sa skuto\u010dn\u00fdch predajov je pribli\u017ene 1 miliarda riadkov. A navy\u0161e s\u00fa samostatne uchov\u00e1van\u00e9 inform\u00e1cie o pl\u00e1novan\u00fdch \u00fadajoch a blok internetov\u00e9ho predaja. Preto, aj ke\u010f sme pou\u017eili st\u013apcov\u00fa in-memory DB SAP HANA, r\u00fdchlos\u0165 vykonania dopytu na v\u00fdber v\u0161etk\u00fdch ukazovate\u013eov za jeden t\u00fd\u017ede\u0148 z aktu\u00e1lnych \u00falo\u017en\u00fdch priestorov bola okolo 15-20 sek\u00fand. Rie\u0161enie tohto probl\u00e9mu je samozrejm\u00e9 \u2013 dodato\u010dn\u00e1 materializ\u00e1cia \u00fadajov. Ale aj v nej s\u00fa podvodn\u00e9 kamene, o ktor\u00fdch budem hovori\u0165 ni\u017e\u0161ie.<\/p>\n<h2>Detail 2. Neadit\u00edvne ukazovatele<\/h2>\n<p>\nMnoh\u00e9 z na\u0161ich KPI s\u00fa viazan\u00e9 na po\u010det \u00fa\u010dteniek. Tento ukazovate\u013e predstavuje COUNT DISTINCT po\u010dtu riadkov (hlavi\u010diek \u00fa\u010dteniek) a ukazuje r\u00f4zne sumy v z\u00e1vislosti od vybran\u00fdch atrib\u00fatov. Pre pr\u00edklad, ako by sa tento ukazovate\u013e a odvoden\u00e9 od neho mali po\u010d\u00edta\u0165:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau v maloobchode, naozaj?\" src=\"\/wp-content\/uploads\/2020\/01\/0a6d676f0a5c2b779a5e7892b1f54929.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPre spr\u00e1vnos\u0165 v\u00fdpo\u010dtov je mo\u017en\u00e9:<\/p>\n<ul>\n<li>Vykon\u00e1va\u0165 v\u00fdpo\u010dty podobn\u00fdch ukazovate\u013eov na\u017eivo v \u00falo\u017eisku;\n<\/li>\n<li>Vykon\u00e1va\u0165 v\u00fdpo\u010det na celom objeme \u00fadajov v Tableau, t.j. na po\u017eiadanie v Tableau odovzd\u00e1va\u0165 v\u0161etky \u00fadaje pod\u013ea vybran\u00fdch filtrov na \u00farovni poz\u00edcie \u00fa\u010dteniek;\n<\/li>\n<li>Vytvori\u0165 materializovan\u00fd poh\u013ead, v ktorom bud\u00fa vypo\u010d\u00edtan\u00e9 v\u0161etky ukazovatele vo v\u0161etk\u00fdch variantoch v\u00fdberov, poskytuj\u00facich r\u00f4zne neadit\u00edvne v\u00fdsledky.\n<\/li>\n<\/ul>\n<p>\nJe jasn\u00e9, \u017ee v pr\u00edklade UTE1 a UTE2 \u2013 to s\u00fa atrib\u00faty materi\u00e1lu, ktor\u00e9 predstavuj\u00fa tovarov\u00fa hierarchiu. Nie je to statick\u00e1 vec, cez \u0148u prebieha riadenie v r\u00e1mci spolo\u010dnosti, ke\u010f\u017ee za r\u00f4zne tovarov\u00e9 skupiny zodpovedaj\u00fa r\u00f4zni mana\u017e\u00e9ri. Mali sme mnoho glob\u00e1lnych rev\u00edzi\u00ed tejto hierarchie, ke\u010f sa menili v\u0161etky \u00farovne, presk\u00famavali sa vz\u0165ahy, ako aj neust\u00e1le drobn\u00e9 zmeny, ke\u010f jedna skupina prech\u00e1dza z jedn\u00e9ho uzla do druh\u00e9ho. V be\u017enej spr\u00e1ve sa to v\u0161etko po\u010d\u00edta na fly z atrib\u00fatov materi\u00e1lu, v pr\u00edpade materializ\u00e1cie t\u00fdchto \u00fadajov je potrebn\u00e9 vyvin\u00fa\u0165 mechanizmus na sledovanie tak\u00fdchto zmien a automatick\u00e9ho nahr\u00e1vania historick\u00fdch d\u00e1t. Je to ve\u013emi netrivi\u00e1lna \u00faloha.<\/p>\n<h2>Detail 3. Porovnanie d\u00e1t <\/h2>\n<p>\nTento bod je podobn\u00fd predch\u00e1dzaj\u00facemu. Podstata je v tom, \u017ee v spolo\u010dnosti je pri anal\u00fdze zvykom vytv\u00e1ra\u0165 nieko\u013eko \u00farovn\u00ed porovnania s predch\u00e1dzaj\u00facim obdob\u00edm:<\/p>\n<p><i>Porovnanie s predch\u00e1dzaj\u00facim obdob\u00edm (de\u0148 k d\u0148u, t\u00fd\u017ede\u0148 k t\u00fd\u017ed\u0148u, mesiac k mesiacu)<\/i><\/p>\n<p>V tomto porovnan\u00ed sa predpoklad\u00e1, \u017ee v z\u00e1vislosti od zvolen\u00e9ho pou\u017e\u00edvate\u013esk\u00e9ho obdobia (napr\u00edklad 33. t\u00fd\u017ede\u0148 roka) mus\u00edme uk\u00e1za\u0165 dynamiku k 32. t\u00fd\u017ed\u0148u. Ak by sme vybrali d\u00e1ta za mesiac, napr\u00edklad m\u00e1j, toto porovnanie by uk\u00e1zalo dynamiku k apr\u00edlu.<\/p>\n<p><i>Porovnanie s predch\u00e1dzaj\u00facim rokom<\/i><\/p>\n<p>Hlavn\u00fd aspekt spo\u010d\u00edva v tom, \u017ee pri porovn\u00e1van\u00ed po d\u0148och a t\u00fd\u017ed\u0148och nezoh\u013ead\u0148ujete rovnak\u00fd de\u0148 minul\u00e9ho roka, t.j. nem\u00f4\u017eete len vzia\u0165 aktu\u00e1lny rok m\u00ednus jeden. Mus\u00edte sa pozrie\u0165 na porovn\u00e1van\u00fd de\u0148 v t\u00fd\u017edni. Pri porovn\u00e1van\u00ed mesiacov je to naopak, treba zoh\u013eadni\u0165 presne ten ist\u00fd kalend\u00e1rny de\u0148 minul\u00e9ho roka. Existuj\u00fa aj nuansy s prestupn\u00fdmi rokmi. Vo vstupn\u00fdch \u00falo\u017eisk\u00e1ch je v\u0161etka inform\u00e1cia rozdelen\u00e1 po d\u0148och, nie s\u00fa tam samostatn\u00e9 polia s t\u00fd\u017ed\u0148ami, mesiacmi alebo rokmi. Preto na z\u00edskanie \u00fapln\u00e9ho analytick\u00e9ho preh\u013eadu v paneli, mus\u00edme po\u010d\u00edta\u0165 nie jeden \u010dasov\u00fd \u00fasek, napr\u00edklad t\u00fd\u017ede\u0148, ale 4 t\u00fd\u017edne a potom tieto \u00fadaje porovna\u0165, odr\u00e1\u017ea\u0165 dynamiku a odch\u00fdlky. Samozrejme, t\u00fato logiku porovn\u00e1vania v dynamike m\u00f4\u017eeme realizova\u0165 bu\u010f v Tableau, alebo na strane v\u00fdkladnej skrine. \u00c1no, o t\u00fdchto detailoch sme samozrejme vedeli a rozm\u00fd\u0161\u013eali u\u017e v \u0161t\u00e1diu projektovania, ale ich vplyv na v\u00fdkon kone\u010dn\u00e9ho dashboards bolo \u0165a\u017ek\u00e9 predv\u00edda\u0165.<\/p>\n<p>Pri implement\u00e1cii dashboardu sme i\u0161li dlh\u00fdm Agile sp\u00f4sobom. Na\u0161ou \u00falohou bolo \u010do najr\u00fdchlej\u0161ie poskytn\u00fa\u0165 na testovanie funk\u010dn\u00fd n\u00e1stroj s potrebn\u00fdmi \u00fadajmi. Preto sme postupovali cez sprinty a s\u00fastredili sa na minimaliz\u00e1ciu pr\u00e1c na strane aktu\u00e1lneho \u00falo\u017eiska.<\/p>\n<h2>\u010cas\u0165 1. Viera v Tableau<\/h2>\n<p>\nNa zjednodu\u0161enie IT podpory a r\u00fdchle prijatie zmien sme sa rozhodli implementova\u0165 logiku v\u00fdpo\u010dtu neadit\u00edvnych ukazovate\u013eov a porovnanie predch\u00e1dzaj\u00facich obdob\u00ed v Tableau.<\/p>\n<h3>Etapa 1. V\u0161etko na\u017eivo, \u017eiadne \u00fapravy v\u00fdkladn\u00fdch skr\u00edn.<\/h3>\n<p>\nV tejto etape sme prepojili Tableau s aktu\u00e1lnymi v\u00fdkladn\u00fdmi skrinkami a rozhodli sme sa zisti\u0165, ako sa bude po\u010d\u00edta\u0165 po\u010det pokladn\u00edc za jeden rok.<\/p>\n<p><b>V\u00fdsledok:<\/b><\/p>\n<p>Odpove\u010f bola sklaman\u00edm \u2013 20 min\u00fat. Prenos d\u00e1t cez sie\u0165, vysok\u00e9 za\u0165a\u017eenie Tableau. Uvedomili sme si, \u017ee logiku s neadit\u00edvnymi ukazovate\u013emi mus\u00edme realizova\u0165 na HANA. To n\u00e1s ve\u013emi nevy\u013eakalo, u\u017e sme mali podobn\u00e9 sk\u00fasenosti s BO a Analysis a vedeli sme, ako vytvori\u0165 r\u00fdchle v\u00fdkladn\u00e9 skrinky v HANA, ktor\u00e9 spr\u00e1vne po\u010d\u00edtaj\u00fa neadit\u00edvne ukazovatele. Teraz ost\u00e1valo ich prisp\u00f4sobi\u0165 pre Tableau.<\/p>\n<h3>Etapa 2. Optimalizujeme v\u00fdkladn\u00e9 skrinky, \u017eiadna materializ\u00e1cia, v\u0161etko na\u017eivo.<\/h3>\n<p>\nVytvorili sme nov\u00fa prezent\u00e1ciu, ktor\u00e1 na vy\u017eiadanie poskytovala potrebn\u00e9 \u00fadaje pre TABLEAU. Vzh\u013eadom na to sme dosiahli dobr\u00fd v\u00fdsledok, ke\u010f sme skr\u00e1tili \u010das na vytvorenie v\u0161etk\u00fdch ukazovate\u013eov na 9-10 sek\u00fand za t\u00fd\u017ede\u0148. \u00daprimne sme o\u010dak\u00e1vali, \u017ee \u010das odozvy dashboardu v Tableau bude na prvom otvoren\u00ed 20-30 sek\u00fand a potom v\u010faka cache 10-12 sek\u00fand, \u010do by n\u00e1s celkovo uspokojilo.<\/p>\n<p><b>V\u00fdsledok:<\/b><\/p>\n<p>Prv\u00e9 otvorenie dashboardov: 4-5 min\u00fat<br \/>\nKa\u017ed\u00fd klik: 3-4 min\u00faty<br \/>\nTak\u00fato dodato\u010dn\u00fa zmenu v pr\u00e1ci prezent\u00e1cie nikto neo\u010dak\u00e1val.<\/p>\n<h2>\u010cas\u0165 2. Hlb\u0161ie prenikanie do Tableau<\/h2>\n<p><\/p>\n<h3>Krok 1. Anal\u00fdza v\u00fdkonu Tableau a r\u00fdchly tuning<\/h3>\n<p>\nZa\u010dali sme analyzova\u0165, na \u010do Tableau spotrebov\u00e1va najviac \u010dasu. Na to existuj\u00fa ve\u013emi dobr\u00e9 n\u00e1stroje, \u010do je ur\u010dite plus pre Tableau. Hlavn\u00fdm probl\u00e9mom, ktor\u00fd sme zistili, boli ve\u013emi zlo\u017eit\u00e9 SQL dopyty, ktor\u00e9 Tableau kon\u0161truovalo. Tieto dopyty sa t\u00fdkali predov\u0161etk\u00fdm:<\/p>\n<p> \u2014 transponovan\u00edm \u00fadajov. Ke\u010f\u017ee Tableau nem\u00e1 n\u00e1stroje na transponovanie datasetov, aby sme mohli vytvori\u0165 \u013eav\u00fa \u010das\u0165 dashboardu s podrobn\u00fdm zobrazen\u00edm v\u0161etk\u00fdch KPI, museli sme vytvori\u0165 tabu\u013eku cez case. Ve\u013ekos\u0165 SQL dopytov v DB dosiahla 120 000 znakov.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau v maloobchode, naozaj?\" src=\"\/wp-content\/uploads\/2020\/01\/8fc4d99017ddd604bbabb5ea0a19b38d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n \u2014 v\u00fdberom \u010dasov\u00e9ho obdobia. Tak\u00fdto dopyt na \u00farovni DB trval dlh\u0161ie na kompil\u00e1ciu ne\u017e na vykonanie:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau v maloobchode, naozaj?\" src=\"\/wp-content\/uploads\/2020\/01\/a9b9cc6ddd6b03c643935d070532728e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT.j. spracovanie dopytu 12 sek\u00fand + 5 sek\u00fand vykonanie.<\/p>\n<p>Rozhodli sme sa zjednodu\u0161i\u0165 logiku v\u00fdpo\u010dtov na strane Tableau a presun\u00fa\u0165 \u010fal\u0161iu \u010das\u0165 v\u00fdpo\u010dtov na prezent\u00e1ciu a \u00farove\u0148 DB. To prinieslo dobr\u00e9 v\u00fdsledky.<\/p>\n<p>Najprv sme transponovanie vyrie\u0161ili na vy\u017eiadanie, urobili sme ho cez full outer join na fin\u00e1lnom kroku v\u00fdpo\u010dtu VIEW, pod\u013ea tak\u00e9hoto pr\u00edstupu, pop\u00edsan\u00e9ho na wiki <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/Transpose\">Transpose \u2014 Wikipedia, the free encyclopedia<\/a><\/noindex> a <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/Elementary_matrix#Row-addition_transformations\">Elementary matrix \u2014 Wikipedia, the free encyclopedia<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau v maloobchode, naozaj?\" src=\"\/wp-content\/uploads\/2020\/01\/5259995831dc8ae379a34bfe84e52daa.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo znamen\u00e1, \u017ee sme vytvorili nastavovaciu tabu\u013eku \u2013 maticu transponovania (21x21) a z\u00edskali v\u0161etky ukazovatele v riadkovej \u0161trukt\u00fare.<\/p>\n<p>Bolo:<br \/>\n<img decoding=\"async\" alt=\"Tableau v maloobchode, naozaj?\" src=\"\/wp-content\/uploads\/2020\/01\/9382ee65a1482cc137a52b5f80c39eeb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nStalo sa:<br \/>\n<img decoding=\"async\" alt=\"Tableau v maloobchode, naozaj?\" src=\"\/wp-content\/uploads\/2020\/01\/1d6653ec427ce0621b441943f589d860.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTransponovanie datab\u00e1zy si takmer nevy\u017eaduje \u017eiadny \u010das. Dotaz na v\u0161etky ukazovatele za t\u00fd\u017ede\u0148 st\u00e1le prebiehal pribli\u017ene za 10 sek\u00fand. Ale stratila sa flexibilita pri zostavovan\u00ed dashboardu pre konkr\u00e9tny ukazovate\u013e, t. j. pre prav\u00fa \u010das\u0165 dashboardu, kde je prezentovan\u00e1 dynamika a podrobn\u00fd rozpis konkr\u00e9tneho ukazovate\u013ea, predt\u00fdm vitr\u00edna reagovala za 1-3 sekundy, preto\u017ee dotaz sa t\u00fdkal jedn\u00e9ho ukazovate\u013ea, ale teraz datab\u00e1za v\u017edy vyberala v\u0161etky ukazovatele a filtrovala v\u00fdsledok a\u017e pred jeho vr\u00e1ten\u00edm do Tableau.<\/p>\n<p>V\u00fdsledkom je, \u017ee r\u00fdchlos\u0165 fungovania dashboardu sa zn\u00ed\u017eila takmer na tretinu.<\/p>\n<p><b>V\u00fdsledok:<\/b><\/p>\n<ol>\n<li>5 sek\u00fand \u2014 parsovanie dashboardu, vizualiz\u00e1ci\u00ed<\/li>\n<li> 15-20 sek\u00fand \u2014 pr\u00edprava na kompil\u00e1ciu dotazov s vykonan\u00edm predpo\u010dtov v Tableau<\/li>\n<li> 35-45 sek\u00fand \u2014 kompil\u00e1cia SQL dotazov a ich s\u00fabe\u017en\u00e9 po sebe id\u00face vykon\u00e1vanie v Hana<\/li>\n<li> 5 sek\u00fand \u2014 spracovanie v\u00fdsledkov, triedenie, prepo\u010d\u00edtavanie vizualiz\u00e1ci\u00ed v Tableau<\/li>\n<li>Samozrejme, tak\u00e9to v\u00fdsledky nespokojili podnik, a my sme pokra\u010dovali v optimaliz\u00e1cii.<\/li>\n<\/ol>\n<p><\/p>\n<h3>F\u00e1za 2. Minimum logiky v Tableau, \u00fapln\u00e1 materializ\u00e1cia<\/h3>\n<p>\nCh\u00e1pali sme, \u017ee vytvori\u0165 dashboard s \u010dasom odozvy nieko\u013ek\u00fdch sek\u00fand na vitr\u00edne, ktor\u00e1 funguje 10 sek\u00fand, nie je mo\u017en\u00e9, a zva\u017eovali sme mo\u017enosti materializ\u00e1cie d\u00e1t na strane datab\u00e1zy presne pod po\u017eadovan\u00fd dashboard. Ale narazili sme na glob\u00e1lny probl\u00e9m, op\u00edsan\u00fd vy\u0161\u0161ie \u2013 neadit\u00edvne ukazovatele. Nedok\u00e1zali sme dosiahnu\u0165, aby pri zmene filtrov alebo rozlo\u017eeniach Tableau flexibilne prech\u00e1dzal medzi r\u00f4znymi vitr\u00ednami a \u00farov\u0148ami, ktor\u00e9 boli predpo\u010d\u00edtan\u00e9 pre r\u00f4zne hierarchie produktov (v pr\u00edklade tri dotazy bez UTE, s UTE1 a UTE2 tvoria r\u00f4zne v\u00fdsledky). Preto sme sa rozhodli zjednodu\u0161i\u0165 dashboard, vzda\u0165 sa hierarchie produktov v dashboarde a pozrie\u0165 sa, ak\u00fd r\u00fdchly m\u00f4\u017ee by\u0165 v zjednodu\u0161enej verzii.<\/p>\n<p>Tak\u017ee na tejto poslednej f\u00e1ze sme zhroma\u017edili samostatn\u00fd sklad, v ktorom sme ulo\u017eili v\u0161etky KPI v transponovanej podobe. Na strane datab\u00e1zy ak\u00fdko\u013evek dotaz na tak\u00fdto sklad trv\u00e1 0,1 \u2013 0,3 sekundy. V dashboarde sme dosiahli nasleduj\u00face v\u00fdsledky:<\/p>\n<p>Prv\u00e9 otvorenie: 8-10 sek\u00fand<br \/>\nAk\u00fdko\u013evek klik: 6-7 sek\u00fand<\/p>\n<p>\u010cas, ktor\u00fd Tableau potrebuje, sa sklad\u00e1 z:<\/p>\n<ol>\n<li>0,3 sekundy \u2014 parsovanie dashboardu a kompil\u00e1cia SQL dotazov\n<\/li>\n<li>1,5-3 sekundy \u2014 vykon\u00e1vanie SQL dotazov v Hana pre hlavn\u00e9 vizualiz\u00e1cie (sp\u00fa\u0161\u0165a sa s\u00fabe\u017ene s bodom 1)\n<\/li>\n<li>1,5-2 sek. \u2014 renderovanie, prepo\u010d\u00edtavanie vizualiz\u00e1ci\u00ed\n<\/li>\n<li>1,3 sek. \u2014 vykon\u00e1vanie dodato\u010dn\u00fdch SQL dotazov na z\u00edskanie relevantn\u00fdch hodn\u00f4t filtrov (Zna\u010dka, Div\u00edzia, Mesto, Obchod), parcing v\u00fdsledkov\n<\/li>\n<\/ol>\n<p><\/p>\n<h3>Ak by sme mali zhrn\u00fa\u0165<\/h3>\n<p>\nN\u00e1stroj Tableau sa n\u00e1m p\u00e1\u010dil z poh\u013eadu vizualiz\u00e1cie. Po\u010das f\u00e1zy n\u00e1vrhu sme zva\u017eovali r\u00f4zne vizualiza\u010dn\u00e9 prvky a v\u0161etky sme ich na\u0161li v kni\u017eniciach, vr\u00e1tane zlo\u017eit\u00fdch viac\u00farov\u0148ov\u00fdch segment\u00e1ci\u00ed a viacdriverov\u00fdch waterfall.<\/p>\n<p>Pri \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 dashboardov s k\u013e\u00fa\u010dov\u00fdmi ukazovate\u013emi predaja sme sa stretli so \u0165a\u017ekos\u0165ami v oblasti v\u00fdkonu, ktor\u00e9 sme zatia\u013e nedok\u00e1zali prekon\u00e1va\u0165. Str\u00e1vili sme viac ako dva mesiace a dostali funk\u010dne ne\u00fapln\u00fd dashboard, ktor\u00e9ho r\u00fdchlos\u0165 reakcie sa bl\u00ed\u017eila k pr\u00edpustn\u00e9mu. A pre seba sme si urobili z\u00e1very:<\/p>\n<ol>\n<li>Tableau nem\u00e1 schopnos\u0165 pracova\u0165 s ve\u013ek\u00fdmi objemami d\u00e1t. Ak m\u00e1te v p\u00f4vodnom modeli d\u00e1t viac ako 10 GB d\u00e1t (pribli\u017ene 200 mili\u00f3nov x 50 riadkov), dashboard sa v\u00fdrazne spoma\u013euje \u2013 od 10 sek\u00fand do nieko\u013ek\u00fdch min\u00fat na ka\u017ed\u00fd klik. Experimentovali sme pri live-connecte aj pri extrakcii. R\u00fdchlos\u0165 pr\u00e1ce je porovnate\u013en\u00e1.\n<\/li>\n<li>Obmedzenie pri pou\u017e\u00edvan\u00ed viacer\u00fdch \u00falo\u017e\u00edsk (datasetov). Neexistuje mo\u017enos\u0165 \u0161tandardn\u00fdmi prostriedkami uvies\u0165 vz\u0165ah medzi datasetmi. Ak pou\u017eijete obch\u00e1dzaj\u00face rie\u0161enia na prepojenie datasetov, silne to ovplyvn\u00ed v\u00fdkon. V na\u0161om pr\u00edpade sme zva\u017eovali mo\u017enos\u0165 materializ\u00e1cie d\u00e1t v ka\u017edom potrebnom reze poh\u013eadov a na t\u00fdchto materializovan\u00fdch datasetoch robi\u0165 prep\u00ednania so zachovan\u00edm predt\u00fdm vybran\u00fdch filtrov \u2013 to sa uk\u00e1zalo ako nemo\u017en\u00e9 v Tableau.\n<\/li>\n<li>V Tableau nie je mo\u017en\u00e9 vytvori\u0165 dynamick\u00e9 parametre. Nem\u00f4\u017eete parameter, ktor\u00fd sa pou\u017e\u00edva na filtrovanie datasetu v extrakte alebo pri live-connecte, vyplni\u0165 v\u00fdsledkom inej v\u00fdberky z datasetu alebo v\u00fdsledku in\u00e9ho SQL dotazu, iba nat\u00edvnym vstupom pou\u017e\u00edvate\u013ea alebo kon\u0161tantou.\n<\/li>\n<li>Obmedzenia s\u00favisiace s tvorbou dashboardu s prvkami OLAP|S\u00fahrnnej tabu\u013eky. <br \/>\nV MSTR, SAP SAC, SAP Analysis, ak prid\u00e1vate do spr\u00e1vy d\u00e1tov\u00fd s\u00fabor, v\u0161etky objekty s\u00fa medzi sebou navz\u00e1jom prepojen\u00e9 predvolene. V Tableau to tak nie je, prepojenie je potrebn\u00e9 nastavi\u0165 manu\u00e1lne. To je mo\u017eno flexibilnej\u0161ie, ale pre v\u0161etky na\u0161e dashboardy je to povinnos\u0165 vo vz\u0165ahu k elementom \u2013 preto to predstavuje dodato\u010dn\u00e9 n\u00e1klady na pr\u00e1cu. Navy\u0161e, ak rob\u00edte prepojen\u00e9 filtre, aby, povedzme, pri filtrovan\u00ed regi\u00f3nu bol zoznam miest obmedzen\u00fd len na mest\u00e1 tohto regi\u00f3nu, okam\u017eite naraz\u00edte na sekven\u010dn\u00e9 dotazy k DB alebo extraktu, \u010do vidite\u013ene spoma\u013euje dashboard.<\/li>\n<li>Obmedzenia funkci\u00ed. Ako nad extraktom, tak aj THE MORE nad d\u00e1tov\u00fdm s\u00faborom z Live-connectu nie je mo\u017en\u00e9 vykon\u00e1va\u0165 hromadn\u00e9 transform\u00e1cie. Toto je mo\u017en\u00e9 prostredn\u00edctvom Tableau Prep, ale predstavuje to dodato\u010dn\u00e9 n\u00e1klady na pr\u00e1cu a \u010fal\u0161\u00ed n\u00e1stroj, ktor\u00fd sa treba nau\u010di\u0165 a udr\u017eiava\u0165. Napr\u00edklad, nem\u00f4\u017eete transponova\u0165 d\u00e1ta, urobi\u0165 join d\u00e1t s\u00e1m so sebou. To sa d\u00e1 dosiahnu\u0165 transform\u00e1ciami na jednotliv\u00fdch st\u013apcoch alebo poliach, ktor\u00e9 je potrebn\u00e9 vybera\u0165 cez case alebo if, a to vedie k ve\u013emi zlo\u017eit\u00fdm SQL dotazom, pri ktor\u00fdch datab\u00e1za str\u00e1ca v\u00e4\u010d\u0161inu \u010dasu na kompil\u00e1ciu textu dotazu. Tieto nepru\u017enosti n\u00e1stroja bolo potrebn\u00e9 rie\u0161i\u0165 na \u00farovni vitr\u00edny, \u010do vedie k zlo\u017eitosti \u00falo\u017eiska, dodato\u010dn\u00fdm za\u0165a\u017eeniam a transform\u00e1ci\u00e1m.\n<\/li>\n<\/ol>\n<p>\nNezavreli sme dvere pred Tableau. Ale ako n\u00e1stroj schopn\u00fd vytv\u00e1ra\u0165 priemyseln\u00e9 dashboardy a prostriedok, ktor\u00fdm je mo\u017en\u00e9 nahradi\u0165 a digitalizova\u0165 cel\u00fd syst\u00e9m firemnej spr\u00e1vy, Tableau neberieme do \u00favahy.<\/p>\n<p>Akt\u00edvne vyv\u00edjame podobn\u00fd dashboard na inom n\u00e1stroji a paralelne sa sna\u017e\u00edme prehodnoti\u0165 architekt\u00faru dashboardu v Tableau, aby sme ju e\u0161te viac zjednodu\u0161ili. Ak bude komunitu zauj\u00edma\u0165, radi sa podel\u00edme o v\u00fdsledky.<\/p>\n<p>Taktie\u017e o\u010dak\u00e1vame va\u0161e n\u00e1pady alebo rady, ako v Tableau m\u00f4\u017eeme vytvori\u0165 r\u00fdchle dashboardy nad tak\u00fdmi ve\u013ek\u00fdmi objemami d\u00e1t, preto\u017ee m\u00e1me aj web, kde je d\u00e1t ove\u013ea viac ako v maloobchode.<br \/>\n<br \/>Zdroj: <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\/sk\/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=\"sk_SK\" \/>\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\/sk\/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\udd47Tableau v maloobchode, naozaj? | ProHoster","description":"\u010cas hl\u00e1senia v Exceli r\u00fdchlo odch\u00e1dza \u2013 trend na pohodln\u00e9 n\u00e1stroje na prezent\u00e1ciu a anal\u00fdzu inform\u00e1ci\u00ed je vidite\u013en\u00fd vo v\u0161etk\u00fdch sf\u00e9rach.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/news\/tableau-v-roznitse-realno","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\/sk\/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\/sk\/wp-json\/wp\/v2\/posts\/55144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=55144"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/55144\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=55144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=55144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=55144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}