{"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\/nl\/blog\/news\/tableau-v-roznitse-realno","title":{"rendered":"Tableau in de detailhandel, echt?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>De rapportagetijd in Excel verdwijnt snel - de trend naar handige hulpmiddelen voor presentatie en analyse van informatie is in alle sectoren zichtbaar. We hebben intern al lang gesproken over de digitalisering van rapportage en hebben het visualisatie- en self-service analysetool Tableau gekozen. Alexander Bezoegly, hoofd van de afdeling analytische oplossingen en rapportage van de Groep \"M.Video-Eldorado\", deelde zijn ervaringen en resultaten van het opzetten van een operationeel dashboard.<\/b><\/p>\n<p>Ik zal meteen zeggen, niet alles wat we gepland hadden, is gelukt, maar de ervaring was interessant, ik hoop dat het ook voor jullie nuttig zal zijn. En als iemand idee\u00ebn heeft over hoe het beter had gekund, zou ik zeer dankbaar zijn voor tips en idee\u00ebn.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau in de detailhandel, echt?\" src=\"\/wp-content\/uploads\/2020\/01\/81c41899e9b3acf1858a4faa627c121b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOnder de streep over wat we zijn tegengekomen en wat we hebben geleerd.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Waar we mee zijn begonnen<\/h4>\n<p>\nBij \"M.Video-Eldorado\" is er een goed doordacht datamodel: gestructureerde informatie met de vereiste diepte van opslag en een enorme hoeveelheid rapporten in vaste vorm (zie voor meer informatie <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mvideo\/blog\/462015\/\">dit artikel<\/a><\/noindex>). Daaruit maken analisten ofwel draaitabellen of geformatteerde mailings in Excel, of mooie presentaties in PowerPoint voor eindgebruikers.<\/p>\n<p>Ongeveer twee jaar geleden zijn we in plaats van rapporten in vaste vorm begonnen met het maken van analytische rapporten in SAP Analysis (een aanvulling op Excel, feitelijk een draaitabel bovenop de OLAP-engine). Maar dit hulpmiddel kon niet voldoen aan de behoeften van alle gebruikers, de meesten bleven informatie gebruiken die verder was verwerkt door analisten.<\/p>\n<p>Onze eindgebruikers zijn verdeeld in drie categorie\u00ebn:<\/p>\n<p><b>Topmanagement<\/b>. Vraagt om informatie in een goed gepresenteerd en visueel begrijpelijk formaat.<\/p>\n<p><b>Middenmanagement<\/b>, gevorderde gebruikers. Ge\u00efnteresseerd in het onderzoeken van gegevens en in staat om zelfstandig rapporten te bouwen indien de tools beschikbaar zijn. Zij zijn de sleutelgebruikers van analytische rapporten in SAP Analysis geworden.<\/p>\n<p><b>Massale gebruikers<\/b>. Niet ge\u00efnteresseerd in zelf analyse van gegevens, gebruiken rapporten met een beperkte mate van vrijheid, in de vorm van mailings en draaitabellen in Excel.<\/p>\n<p>Ons idee was om te voldoen aan de behoeften van alle gebruikers en hen \u00e9\u00e9n handige tool te geven. We begonnen met het topmanagement. Zij hadden gebruiksvriendelijke dashboards nodig voor het analyseren van de belangrijkste bedrijfsresultaten. Zo zijn we gestart met Tableau en hebben we in eerste instantie twee richtingen gekozen: verkoopcijfers in de detailhandel en online met een beperkte diepte en breedte van analyse, die ongeveer 80% van de gegevens zou dekken die het topmanagement nodig had.<\/p>\n<p>Aangezien de gebruikers van de dashboards het topmanagement waren, kwam er nog een extra KPI voor het product \u2013 de responstijd. Niemand wil 20-30 seconden wachten totdat de gegevens zijn bijgewerkt. De navigatie moest binnen 4-5 seconden plaatsvinden, en het liefst direct reageren. Dit hebben we helaas niet kunnen bereiken.<\/p>\n<p>Zo zag het ontwerp van ons belangrijkste dashboard eruit:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau in de detailhandel, echt?\" src=\"\/wp-content\/uploads\/2020\/01\/a7a028feee6542dfbc1fd3c2feeaa3de.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDe kernidee was om de belangrijkste KPI-drivers, in totaal 19, aan de linkerkant te combineren en hun dynamiek en uitsplitsing op basis van de belangrijkste attributen aan de rechterkant weer te geven. De taak lijkt eenvoudig, de visualisatie logisch en duidelijk, totdat je je in de details verdiept.<\/p>\n<h2>Detail 1. Gegevensvolume<\/h2>\n<p>\nOnze belangrijkste verkooptabel voor het jaar beslaat ongeveer 300 miljoen rijen. Omdat we zowel de dynamiek ten opzichte van vorig jaar als het jaar daarvoor moeten weergeven, is het volume aan gegevens alleen van de feitelijke verkopen ongeveer 1 miljard rijen. Daarnaast wordt de informatie over de geplande gegevens en het blok internetverkoop apart opgeslagen. Daarom, ondanks dat we gebruikmaakten van de kolom-gebaseerde in-memory DB SAP HANA, was de snelheid van de query die alle indicatoren voor een week uit de huidige opslag in real-time ophaalde ongeveer 15-20 seconden. De oplossing voor dit probleem ligt voor de hand - extra materialisatie van de gegevens. Maar hier zijn ook addertjes onder het gras, daarover later meer.<\/p>\n<h2>Detail 2. Niet-additieve indicatoren<\/h2>\n<p>\nVeel van onze KPI's zijn gebaseerd op het aantal bonnetjes. Deze indicator is een COUNT DISTINCT van het aantal rijen (hoofdletters van de bonnetjes) en toont verschillende sommen afhankelijk van de geselecteerde attributen. Ter illustratie, hoe deze indicator en zijn afgeleiden berekend moeten worden:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau in de detailhandel, echt?\" src=\"\/wp-content\/uploads\/2020\/01\/0a6d676f0a5c2b779a5e7892b1f54929.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVoor de correctheid van de berekeningen kan men:<\/p>\n<ul>\n<li>De berekening van dergelijke indicatoren on-the-fly in de opslag uitvoeren;\n<\/li>\n<li>De berekening over de volledige dataset in Tableau uitvoeren, dat wil zeggen bij een verzoek naar Tableau alle gegevens over de geselecteerde filters op het niveau van de bonnetjesposities teruggeven;\n<\/li>\n<li>Maak een gematerialiseerde weergave waarin alle indicatoren worden berekend voor alle varianten van selecties die verschillende niet-additieve resultaten opleveren.\n<\/li>\n<\/ul>\n<p>\nHet is duidelijk dat in het voorbeeld UTE1 en UTE2 attributen van het materiaal zijn die de producthi\u00ebrarchie vertegenwoordigen. Dit is geen statisch gegeven; het is een beheersinstrument binnen het bedrijf, aangezien verschillende managers verantwoordelijk zijn voor verschillende productgroepen. We hebben veel wereldwijde herzieningen van deze hi\u00ebrarchie gehad, waarbij alle niveaus werden gewijzigd en de onderlinge verbanden opnieuw werden bekeken, naast constante puntwijzigingen waarbij \u00e9\u00e9n groep van het ene knooppunt naar het andere overgaat. In reguliere rapportage wordt dit alles on-the-fly berekend op basis van de materiaalattributen. In het geval van materialisering van deze gegevens is het noodzakelijk om een mechanisme te ontwikkelen voor het volgen van dergelijke wijzigingen en automatische herlading van historische gegevens. Dit is een vrij complexe taak.<\/p>\n<h2>Detail 3. Gegevensvergelijking <\/h2>\n<p>\nDit punt is vergelijkbaar met de vorige. Het uitgangspunt is dat binnen het bedrijf bij analyse meerdere niveaus van vergelijking met voorgaande periodes worden gevormd:<\/p>\n<p><i>Vergelijking met de voorgaande periode (dag-tot-dag, week-tot-week, maand-tot-maand)<\/i><\/p>\n<p>In deze vergelijking gaan we ervan uit dat, afhankelijk van de door de gebruiker gekozen periode (bijvoorbeeld week 33 van het jaar), we de dynamiek ten opzichte van week 32 moeten tonen. Als we bijvoorbeeld gegevens voor een maand zouden kiezen, bijvoorbeeld mei, zou deze vergelijking de dynamiek ten opzichte van april laten zien.<\/p>\n<p><i>Vergelijking met het voorgaande jaar<\/i><\/p>\n<p>Hier ligt de belangrijkste nuance dat je bij het vergelijken per dagen en per weken niet dezelfde dag van het vorige jaar neemt, dat wil zeggen, je kunt niet gewoon het huidige jaar min \u00e9\u00e9n gebruiken. Je moet kijken naar de vergelijkbare dag van de week. En bij het vergelijken van maanden moet je daarentegen precies dezelfde kalenderdag van het vorige jaar nemen. Daarnaast zijn er nuances met schrikkeljaren. In de oorspronkelijke opslag zijn alle gegevens verdeeld over dagen, er zijn geen aparte velden voor weken, maanden of jaren. Daarom om een volledige analytische afspiegeling in het dashboard te verkrijgen, moet je niet \u00e9\u00e9n periode tellen, bijvoorbeeld een week, maar vier weken, en dan deze gegevens vergelijken, de dynamiek en afwijkingen reflecteren. Daarom kan deze logica voor het vormen van vergelijking in dynamiek ook in Tableau of aan de kant van de showcase worden gerealiseerd. Ja, en over deze details waren we ons natuurlijk bewust en dachten we al in de ontwerpfase na, maar het was moeilijk om hun invloed op de prestaties van het einddashboard te voorspellen.<\/p>\n<p>Bij de implementatie van het dashboard volgden we een lange Agile-route. Onze taak was om zo snel mogelijk een werkend instrument met de benodigde gegevens voor testen te leveren. Daarom werkten we in sprints en richtten we ons op het minimaliseren van werkzaamheden aan de kant van de huidige opslag.<\/p>\n<h2>Deel 1. Geloof in Tableau<\/h2>\n<p>\nOm de IT-ondersteuning te vereenvoudigen en veranderingen snel door te voeren, hebben we besloten om de logica van de berekening van niet-additieve indicatoren en het vergelijken van voorgaande perioden in Tableau te doen.<\/p>\n<h3>Stap 1. Alles in Live, geen aanpassingen aan de showcases.<\/h3>\n<p>\nIn deze fase hebben we Tableau verbonden met de huidige showcases en besloten te kijken hoe het aantal bonnen over \u00e9\u00e9n jaar zou worden berekend.<\/p>\n<p><b>Resultaat:<\/b><\/p>\n<p>Het antwoord was ontmoedigend \u2013 20 minuten. Gegevensoverdracht via het netwerk, hoge belasting op Tableau. We begrepen dat de logica met niet-additieve indicatoren op HANA moest worden ge\u00efmplementeerd. Dit maakte ons niet al te bang, we hadden al een dergelijke ervaring met BO en Analysis en het bouwen van snelle showcases in HANA, die correct berekende niet-additieve indicatoren opleveren, konden we. Nu moest het alleen nog worden aangepast aan Tableau.<\/p>\n<h3>Stap 2. We optimaliseren de showcases, geen materialisatie, alles ter plaatse.<\/h3>\n<p>\nWe created a separate new showcase that instantly provided the required data for TABLEAU. Overall, we achieved a good result, reducing the time to generate all metrics from one week to 9-10 seconds. Honestly, we expected that in Tableau the initial response time for the dashboard would be 20-30 seconds and then, thanks to caching, from 10 to 12 seconds, which would be acceptable for us.<\/p>\n<p><b>Resultaat:<\/b><\/p>\n<p>Initial dashboard openings: 4-5 minutes<br \/>\nAny click: 3-4 minutes<br \/>\nNo one expected such an additional increase in the showcase's performance.<\/p>\n<h2>Part 2. Diving into Tableau<\/h2>\n<p><\/p>\n<h3>Stage 1. Performance analysis of Tableau and quick tuning<\/h3>\n<p>\nWe began analyzing what Tableau spends the most time on. There are quite good tools for this, which is certainly a plus for Tableau. The main issue we identified was the very complex SQL queries generated by Tableau. They were primarily related to:<\/p>\n<p> \u2014 Transposing data. Since Tableau lacks tools for transposing datasets, we had to create a table through case statements to build the left side of the dashboard with a detailed view of all KPIs. The size of the SQL queries in the database reached 120,000 characters.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau in de detailhandel, echt?\" src=\"\/wp-content\/uploads\/2020\/01\/8fc4d99017ddd604bbabb5ea0a19b38d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n \u2014 Selecting a time period. Such a database-level query took more time to compile than to execute:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau in de detailhandel, echt?\" src=\"\/wp-content\/uploads\/2020\/01\/a9b9cc6ddd6b03c643935d070532728e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nThat is, request processing took 12 seconds + 5 seconds for execution.<\/p>\n<p>We decided to simplify the logic of calculations on the Tableau side and move another part of the calculations to the showcase and database level. This brought good results.<\/p>\n<p>Initially, we performed transposition on the fly, doing it through a full outer join at the final calculation stage of the VIEW, according to this approach described on wiki <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/Transpose\">Transpose \u2014 Wikipedia, the free encyclopedia<\/a><\/noindex> en <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 in de detailhandel, echt?\" src=\"\/wp-content\/uploads\/2020\/01\/5259995831dc8ae379a34bfe84e52daa.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn other words, we created a configuration table \u2013 a transposition matrix (21x21) and obtained all metrics in a row-wise breakdown.<\/p>\n<p>Was:<br \/>\n<img decoding=\"async\" alt=\"Tableau in de detailhandel, echt?\" src=\"\/wp-content\/uploads\/2020\/01\/9382ee65a1482cc137a52b5f80c39eeb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHet is geworden:<br \/>\n<img decoding=\"async\" alt=\"Tableau in de detailhandel, echt?\" src=\"\/wp-content\/uploads\/2020\/01\/1d6653ec427ce0621b441943f589d860.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHet transponeren van de database kost bijna geen tijd. Een aanvraag voor alle indicatoren over een week werd nog steeds uitgevoerd in ongeveer 10 seconden. Maar daardoor is de flexibiliteit in het opbouwen van het dashboard voor specifieke indicatoren verloren gegaan, dat wil zeggen, voor het rechterdeel van het dashboard, waar de dynamiek en gedetailleerde uitsplitsing van een specifieke indicator wordt gepresenteerd. Eerder voldeed de vitrine in 1-3 seconden, omdat de aanvraag op \u00e9\u00e9n indicator werd uitgevoerd, en nu selecteert de database altijd alle indicatoren en filtert het resultaat pas terug voordat het naar Tableau wordt geretourneerd.<\/p>\n<p>Uiteindelijk is de snelheid van het dashboard bijna met een factor drie verminderd.<\/p>\n<p><b>Resultaat:<\/b><\/p>\n<ol>\n<li>5 seconden \u2014 parsing van het dashboard, visualisaties<\/li>\n<li> 15-20 seconden \u2014 voorbereiding op de compilatie van aanvragen met uitvoering van voorafberekeningen in Tableau<\/li>\n<li> 35-45 seconden \u2014 compilatie van SQL-aanvragen en tegelijkertijd sequenti\u00eble uitvoering in Hana<\/li>\n<li> 5 seconden \u2014 verwerking van de resultaten, sortering, herberekening van visualisaties in Tableau<\/li>\n<li>Natuurlijk waren zulke resultaten niet bevredigend voor de business, en we gingen door met optimalisatie.<\/li>\n<\/ol>\n<p><\/p>\n<h3>Fase 2. Minimale logica in Tableau, volledige materialisatie<\/h3>\n<p>\nWe begrepen dat het onmogelijk was om een dashboard te bouwen met een responstijd van enkele seconden op een vitrine die 10 seconden werkt, en overwoog opties voor materialisatie van gegevens aan de databasezijde specifiek voor het vereiste dashboard. Maar we stuitten op een globaal probleem, zoals hierboven beschreven \u2013 niet-additieve indicatoren. We konden nietzo zorgen dat Tableau flexibel schakelt tussen verschillende vitrines en niveaus, vooraf berekend voor verschillende producthi\u00ebrarchie\u00ebn (in het voorbeeld vormen drie aanvragen zonder UTZ, met UTZ1 en UTZ2 verschillende resultaten). Daarom besloten we het dashboard te vereenvoudigen, de producthi\u00ebrarchie in het dashboard op te geven en te kijken hoe snel het kan zijn in een vereenvoudigde versie.<\/p>\n<p>Dus, in deze laatste fase hebben we een aparte opslag opgebouwd, waarin we al onze KPI's in getransponeerde vorm hebben opgeslagen. Aan de databasezijde wordt elke aanvraag naar zo'n opslag uitgevoerd in 0,1 \u2013 0,3 seconden. In het dashboard kregen we de volgende resultaten:<\/p>\n<p>Eerste opening: 8-10 seconden<br \/>\nElke klik: 6-7 seconden<\/p>\n<p>De tijd die Tableau verbruikt, bestaat uit:<\/p>\n<ol>\n<li>0,3 seconden \u2014 parsing van het dashboard en compilatie van SQL-aanvragen\n<\/li>\n<li>1,5-3 seconden \u2014 uitvoering van SQL-aanvragen in Hana voor de belangrijkste visualisaties (wordt parallel gestart met punt 1)\n<\/li>\n<li>1,5-2 sec. \u2014 rendering, recalculating visualizations\n<\/li>\n<li>1,3 sec. \u2014 executing additional SQL queries to obtain relevant filter values (Brand, Division, City, Store), parsing results\n<\/li>\n<\/ol>\n<p><\/p>\n<h3>In summary<\/h3>\n<p>\nWe liked the Tableau tool in terms of visualization. During the layout stage, we considered various visualization elements and found all of them in the libraries, including complex multi-level segmentations and multi-driver waterfalls.<\/p>\n<p>When implementing dashboards with key sales metrics, we encountered performance difficulties that we have not yet been able to overcome. We spent more than two months and received a functionally incomplete dashboard, the response speed of which is on the edge of acceptable. We've drawn the following conclusions:<\/p>\n<ol>\n<li>Tableau kan niet omgaan met grote hoeveelheden gegevens. Als je meer dan 10 GB aan gegevens hebt in je oorspronkelijke datamodel (ongeveer 200 miljoen x 50 rijen), vertraagt het dashboard aanzienlijk \u2013 van 10 seconden tot enkele minuten per klik. We hebben ge\u00ebxperimenteerd met zowel live-connect als extract. De snelheid is vergelijkbaar.\n<\/li>\n<li>Limitations when using multiple storage (datasets). There is no standard way to specify the relationships between datasets. If you use workarounds to connect datasets, it will greatly affect performance. In our case, we considered the option of materializing data in each necessary perspective of views and switching between these materialized datasets while preserving previously selected filters \u2013 this turned out to be impossible to do in Tableau.\n<\/li>\n<li>In Tableau, it is impossible to create dynamic parameters. You cannot populate a parameter used for filtering a dataset in an extract or during live connection with results from another dataset or the result of another SQL query, only native user input or a constant.\n<\/li>\n<li>Limitations related to dashboard construction with OLAP|Pivot Table elements. <br \/>\nIn MSTR, SAP SAC, SAP Analysis, when you add a dataset to the report, all objects are linked by default. Tableau does not have this; the connection needs to be set up manually. This might be more flexible, but for all our dashboards, it\u2019s a mandatory requirement for the elements \u2014 therefore, it adds extra labor costs. Moreover, if you create related filters so that, for example, filtering by region restricts the list of cities to only those within that region, you immediately encounter consecutive requests to the database or extract, which noticeably slows down the dashboard.<\/li>\n<li>Limitations in functions. Neither on the extract nor ESPECIALLY on the dataset from Live-connect can mass transformations be performed. This can be done through Tableau Prep, but it involves additional labor costs and yet another tool that needs to be learned and maintained. For example, you cannot transpose data or join it with itself. This gets resolved through transformations of individual columns or fields that must be selected using case or if, resulting in very complex SQL queries, during which the database spends most of the time compiling the query text. These inflexibilities of the tool had to be addressed at the level of the dashboard, which complicates the storage, adds loads, and requires transformations.\n<\/li>\n<\/ol>\n<p>\nWe have not written Tableau off. But as a tool capable of building industrial dashboards and a means by which all corporate reporting systems of the company can be replaced and digitized, we do not consider Tableau.<\/p>\n<p>We are currently actively developing a similar dashboard on another tool while also trying to reconsider the architecture of the dashboard in Tableau, to simplify it even more. If the community is interested, we will share the results.<\/p>\n<p>We are also waiting for your ideas or suggestions on how to build fast dashboards in Tableau over such large volumes of data, as we have a website where the data is much greater than in retail.<br \/>\n<br \/>Bron: <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.3 - 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\/nl\/blog\/news\/tableau-v-roznitse-realno\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47Is Tableau in retail for real? | ProHoster","description":"The time for reporting in Excel is rapidly fading \u2014 the trend towards convenient tools for presenting and analyzing information is evident in all areas.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/tableau-v-roznitse-realno","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/55144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=55144"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/55144\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=55144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=55144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=55144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}