{"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\/it\/blog\/news\/tableau-v-roznitse-realno","title":{"rendered":"Tableau nella vendita al dettaglio, \u00e8 reale?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Il tempo della rendicontazione in Excel sta rapidamente svanendo: la tendenza verso strumenti comodi per la presentazione e l'analisi delle informazioni \u00e8 evidente in tutti i settori. Abbiamo discusso a lungo all'interno della digitalizzazione della costruzione di rendiconti e abbiamo scelto il sistema di visualizzazione e analisi self-service Tableau. Alexander Bezuglyj, responsabile del dipartimento di soluzioni analitiche e rendiconti del gruppo 'M.Video-Eldorado', ha parlato delle esperienze e dei risultati della costruzione di un dashboard operativo.<\/b><\/p>\n<p>Dir\u00f2 subito che non tutto ci\u00f2 che era stato progettato \u00e8 stato realizzato, ma l'esperienza \u00e8 stata interessante, spero sia utile anche a voi. E se qualcuno ha idee su come si potrebbe fare meglio, sarei molto grato per consigli e suggerimenti.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau nella vendita al dettaglio, \u00e8 reale?\" src=\"\/wp-content\/uploads\/2020\/01\/81c41899e9b3acf1858a4faa627c121b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDi seguito parleremo di ci\u00f2 con cui ci siamo confrontati e di ci\u00f2 che abbiamo appreso.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Da dove siamo partiti<\/h4>\n<p>\nIn 'M.Video-Eldorado' c'\u00e8 un modello di dati ben sviluppato: informazioni strutturate con la profondit\u00e0 di memorizzazione richiesta e un'enorme quantit\u00e0 di report in formato fisso (vedi pi\u00f9 dettagli <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mvideo\/blog\/462015\/\">questo articolo<\/a><\/noindex>). Da essi gli analisti creano tabelle pivot o invii formattati in Excel, oppure belle presentazioni in PowerPoint per gli utenti finali.<\/p>\n<p>Circa due anni fa, invece di report in formato fisso, abbiamo iniziato a creare report analitici in SAP Analysis (un componente aggiuntivo per Excel, in sostanza - una tabella pivot sopra un motore OLAP). Ma questo strumento non \u00e8 riuscito a soddisfare le esigenze di tutti gli utenti, la maggior parte ha continuato a utilizzare informazioni ulteriormente elaborate dagli analisti.<\/p>\n<p>I nostri utenti finali sono suddivisi in tre categorie:<\/p>\n<p><b>Top management<\/b>. Richiede informazioni in un formato chiaramente presentato e facilmente comprensibile.<\/p>\n<p><b>Middle management<\/b>, utenti avanzati. Sono interessati a esplorare i dati e sono capaci di generare report autonomamente quando dispongono degli strumenti. Sono diventati gli utenti chiave dei report analitici in SAP Analysis.<\/p>\n<p><b>Utenti di massa<\/b>. Non sono interessati all'analisi autonoma dei dati, utilizzano report con limitata libert\u00e0, in formato di invii e tabelle pivot in Excel.<\/p>\n<p>La nostra idea era di soddisfare le esigenze di tutti gli utenti e fornire loro uno strumento unico e comodo. Abbiamo deciso di iniziare con il top management, che richiedeva panneli intuitivi per l'analisi dei principali risultati aziendali. Cos\u00ec, abbiamo avviato con Tableau e inizialmente abbiamo scelto due direzioni: i risultati delle vendite al dettaglio e online, con una profonda e ampia analisi limitata, che coprisse circa l'80% dei dati richiesti dal top management.<\/p>\n<p>Poich\u00e9 gli utenti dei cruscotti erano il top management, \u00e8 emerso un ulteriore KPI aggiuntivo per il prodotto: la velocit\u00e0 di risposta. Nessuno aspetter\u00e0 20-30 secondi affinch\u00e9 i dati si aggiornino. La navigazione doveva rientrare in 4-5 secondi, e sarebbe stato meglio se fosse stata immediata. Sfortunatamente, non siamo riusciti a raggiungere questo obiettivo.<\/p>\n<p>Ecco come appariva il layout del nostro cruscotto principale:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau nella vendita al dettaglio, \u00e8 reale?\" src=\"\/wp-content\/uploads\/2020\/01\/a7a028feee6542dfbc1fd3c2feeaa3de.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL'idea chiave era di unire i principali driver KPI, che alla fine sono diventati 19, a sinistra e di mostrare la loro dinamica e segmentazione per i principali attributi a destra. Sembrerebbe un compito semplice, la visualizzazione \u00e8 logica e comprensibile, finch\u00e9 non si entra nei dettagli.<\/p>\n<h2>Dettaglio 1. Volume dei dati<\/h2>\n<p>\nLa tabella principale delle vendite per l'anno contiene circa 300 milioni di righe. Poich\u00e9 \u00e8 necessario riflettere anche la dinamica rispetto all'anno scorso e a quello prima, il volume dei dati solamente per le vendite effettive \u00e8 di circa 1 miliardo di righe. Inoltre, vengono memorizzate separatamente le informazioni sui dati pianificati e sul blocco delle vendite online. Pertanto, anche se abbiamo utilizzato un DB in-memory a colonne SAP HANA, la velocit\u00e0 di esecuzione della query per selezionare tutti i parametri per una settimana dalle attuali memorie in tempo reale era di circa 15-20 secondi. La soluzione a questo problema sembra quasi ovvia: una materializzazione aggiuntiva dei dati. Ma ci sono anche delle insidie, di cui parleremo pi\u00f9 avanti.<\/p>\n<h2>Dettaglio 2. KPI non additivi<\/h2>\n<p>\nMolti dei nostri KPI sono legati al numero di scontrini. Questo indicatore rappresenta il COUNT DISTINCT del numero di righe (intestazioni degli scontrini) e mostra somme diverse a seconda degli attributi selezionati. Per esempio, come deve essere calcolato questo indicatore e i derivati:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau nella vendita al dettaglio, \u00e8 reale?\" src=\"\/wp-content\/uploads\/2020\/01\/0a6d676f0a5c2b779a5e7892b1f54929.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPer la correttezza dei calcoli, \u00e8 possibile:<\/p>\n<ul>\n<li>Effettuare il calcolo di tali indicatori in tempo reale nel deposito;\n<\/li>\n<li>Eseguire il calcolo su tutto il volume dei dati in Tableau, ad es. a richiesta in Tableau restituire tutti i dati in base ai filtri selezionati nella granularit\u00e0 delle righe degli scontrini;\n<\/li>\n<li>Creare una vetrina materializzata in cui saranno calcolati tutti gli indicatori in tutte le varianti di campionamento, dando risultati non additivi diversi.\n<\/li>\n<\/ul>\n<p>\n\u00c8 chiaro che negli esempi UTE1 e UTE2 ci sono attributi del materiale che rappresentano la gerarchia dei prodotti. Non \u00e8 una cosa statica, poich\u00e9 attraverso di essa avviene la gestione all'interno dell'azienda, dato che diversi manager sono responsabili per diversi gruppi di prodotti. Abbiamo avuto molti rivedimenti globali di questa gerarchia, quando sono stati cambiati tutti i livelli, quando sono state riviste le interrelazioni, cos\u00ec come modifiche puntuali continuative, quando un gruppo passa da un nodo all'altro. Nella reportistica normale tutto ci\u00f2 viene calcolato al volo dagli attributi del materiale; in caso di materializzazione di questi dati, \u00e8 necessario sviluppare un meccanismo di tracciamento di tali modifiche e di ricarica automatica dei dati storici. Un compito piuttosto non triviale.<\/p>\n<h2>Dettaglio 3. Confronto dei dati <\/h2>\n<p>\nQuesto punto \u00e8 simile al precedente. La sostanza \u00e8 che in azienda, durante l'analisi, \u00e8 consuetudine formare diversi livelli di confronto con il periodo precedente:<\/p>\n<p><i>Confronto con il periodo precedente (giorno per giorno, settimana per settimana, mese per mese)<\/i><\/p>\n<p>In questo confronto si presume che, a seconda del periodo selezionato dall'utente (ad esempio, la 33\u00aa settimana dell'anno), dobbiamo mostrare la dinamica rispetto alla 32\u00aa settimana; se scegliessimo dati per un mese, ad esempio maggio, questo confronto mostrerebbe la dinamica rispetto ad aprile.<\/p>\n<p><i>Confronto con l'anno precedente<\/i><\/p>\n<p>Qui il punto principale \u00e8 che, durante il confronto tra giorni e settimane, non si prende lo stesso giorno dell'anno scorso, cio\u00e8 non si pu\u00f2 semplicemente sottrarre uno all'anno corrente. Bisogna considerare il giorno della settimana che si sta confrontando. Ma quando si confrontano i mesi, al contrario, si deve prendere esattamente lo stesso giorno del calendario dell'anno scorso. Ci sono anche peculiarit\u00e0 relative agli anni bisestili. Nei repository originali, tutte le informazioni sono distribuite per giorni, non ci sono campi separati per settimane, mesi o anni. Pertanto, per ottenere un'analisi completa nel pannello, \u00e8 necessario considerare non un solo periodo, ad esempio una settimana, ma 4 settimane, e poi confrontare questi dati, riflettendo la dinamica e le deviazioni. Di conseguenza, questa logica di formazione delle comparazioni dinamiche pu\u00f2 essere implementata sia in Tableau che dalla parte della vetrina. S\u00ec, e di questi dettagli eravamo chiaramente a conoscenza e avevamo riflettuto gi\u00e0 in fase di progettazione, ma prevedere il loro impatto sulle prestazioni del dashboard finale \u00e8 stato difficile.<\/p>\n<p>Durante l'implementazione del dashboard abbiamo seguito un lungo percorso Agile. Il nostro obiettivo era fornire il prima possibile uno strumento funzionale da testare con i dati necessari. Quindi ci siamo mossi a sprint, puntando alla minimizzazione del lavoro sul repository attuale.<\/p>\n<h2>Parte 1. Fede in Tableau<\/h2>\n<p>\nPer semplificare il supporto IT e implementare rapidamente le modifiche, abbiamo deciso di gestire la logica di calcolo degli indicatori non additivi e il confronto dei periodi passati in Tableau.<\/p>\n<h3>Fase 1. Tutto in tempo reale, nessun miglioramento delle vetrine.<\/h3>\n<p>\nIn questa fase abbiamo connesso Tableau alle vetrine attuali e abbiamo deciso di controllare come sarebbe stato calcolato il numero di ricevute in un anno.<\/p>\n<p><b>Risultato:<\/b><\/p>\n<p>La risposta \u00e8 stata deludente: 20 minuti. Trasferimento dei dati sulla rete, alta carica su Tableau. Abbiamo capito che la logica con indicatori non additivi doveva essere implementata su HANA. Questo non ci ha spaventato molto, avevamo gi\u00e0 esperienza simile con BO e Analysis e sapevamo come costruire vetrine veloci in HANA che fornivano indicatori non additivi calcolati correttamente. Ora restava solo da adattarli a Tableau.<\/p>\n<h3>Fase 2. Ottimizziamo le vetrine, nessuna materializzazione, tutto al volo.<\/h3>\n<p>\nAbbiamo creato una nuova vetrina separata, che generava i dati richiesti per TABLEAU in tempo reale. In generale, abbiamo ottenuto un buon risultato, riducendo il tempo di generazione di tutti gli indicatori a una settimana a 9-10 secondi. E onestamente ci aspettavamo che in Tableau il tempo di risposta del dashboard fosse di 20-30 secondi all'apertura iniziale e successivamente, grazie al caching, di 10-12 secondi, che in generale ci avrebbe soddisfatti.<\/p>\n<p><b>Risultato:<\/b><\/p>\n<p>Primo apertura dei dashboard: 4-5 minuti<br \/>\nQualsiasi clic: 3-4 minuti<br \/>\nNessuno si aspettava un tale incremento delle prestazioni della vetrina.<\/p>\n<h2>Parte 2. Immersione in Tableau<\/h2>\n<p><\/p>\n<h3>Fase 1. Analisi delle prestazioni di Tableau e ottimizzazione rapida<\/h3>\n<p>\nAbbiamo iniziato ad analizzare come Tableau spende il suo tempo. E per questo ci sono strumenti piuttosto buoni, il che \u00e8 senza dubbio un vantaggio di Tableau. Il problema principale che abbiamo identificato sono state le query SQL molto complesse generate da Tableau. Erano principalmente legate a:<\/p>\n<p> \u2014 trasposizione dei dati. Poich\u00e9 Tableau non dispone di strumenti per la trasposizione dei dataset, per costruire la parte sinistra del dashboard con una rappresentazione dettagliata di tutti i KPI, abbiamo dovuto generare una tabella tramite la clausola case. Le dimensioni delle query SQL nel database raggiungevano i 120.000 caratteri.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau nella vendita al dettaglio, \u00e8 reale?\" src=\"\/wp-content\/uploads\/2020\/01\/8fc4d99017ddd604bbabb5ea0a19b38d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n \u2014 selezione del periodo di tempo. Tale query a livello di database richiedeva pi\u00f9 tempo per la compilazione che per l'esecuzione:<\/p>\n<p><img decoding=\"async\" alt=\"Tableau nella vendita al dettaglio, \u00e8 reale?\" src=\"\/wp-content\/uploads\/2020\/01\/a9b9cc6ddd6b03c643935d070532728e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCio\u00e8, l'elaborazione della query richiedeva 12 secondi + 5 secondi per l'esecuzione.<\/p>\n<p>Abbiamo deciso di semplificare la logica dei calcoli lato Tableau e trasferire un ulteriore insieme di calcoli sulla vetrina e sul livello del database. Questo ha portato a buoni risultati.<\/p>\n<p>Inizialmente abbiamo effettuato la trasposizione in tempo reale, realizzandola tramite un full outer join nella fase finale di calcolo della VIEW, secondo l'approccio descritto su wiki <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/Transpose\">Transpose \u2014 Wikipedia, l'enciclopedia libera<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/Elementary_matrix#Row-addition_transformations\">Elementary matrix \u2014 Wikipedia, l'enciclopedia libera<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Tableau nella vendita al dettaglio, \u00e8 reale?\" src=\"\/wp-content\/uploads\/2020\/01\/5259995831dc8ae379a34bfe84e52daa.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCio\u00e8, abbiamo creato una tabella di configurazione \u2013 una matrice di trasposizione (21x21) e abbiamo ottenuto tutti gli indicatori in una ripartizione riga per riga.<\/p>\n<p>Era:<br \/>\n<img decoding=\"async\" alt=\"Tableau nella vendita al dettaglio, \u00e8 reale?\" src=\"\/wp-content\/uploads\/2020\/01\/9382ee65a1482cc137a52b5f80c39eeb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDiventato:<br \/>\n<img decoding=\"async\" alt=\"Tableau nella vendita al dettaglio, \u00e8 reale?\" src=\"\/wp-content\/uploads\/2020\/01\/1d6653ec427ce0621b441943f589d860.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLa transposizione del database richiede quasi nessun tempo. La query per tutti gli indicatori della settimana \u00e8 stata eseguita in circa 10 secondi. Tuttavia, si \u00e8 persa la flessibilit\u00e0 nella costruzione del dashboard per un indicatore specifico, cio\u00e8 per la parte destra del dashboard dove \u00e8 presentata la dinamica e la suddivisione dettagliata di un indicatore specifico; prima il display veniva elaborato in 1-3 secondi, poich\u00e9 la query riguardava un solo indicatore, mentre ora il database seleziona sempre tutti gli indicatori e filtra il risultato prima di restituirlo a Tableau.<\/p>\n<p>Di conseguenza, la velocit\u00e0 di lavoro del dashboard \u00e8 diminuita quasi di 3 volte.<\/p>\n<p><b>Risultato:<\/b><\/p>\n<ol>\n<li>5 sec \u2014 parsing del dashboard, visualizzazioni<\/li>\n<li> 15-20 sec \u2014 preparazione alla compilazione delle query con l'esecuzione dei preliminari in Tableau<\/li>\n<li> 35-45 sec \u2014 compilazione delle query SQL e loro esecuzione in modo parallelo-sequenziale in Hana<\/li>\n<li> 5 sec \u2014 elaborazione dei risultati, ordinamento, ricalcolo delle visualizzazioni in Tableau<\/li>\n<li>Naturalmente, tali risultati non soddisfacevano il business, e abbiamo continuato l'ottimizzazione.<\/li>\n<\/ol>\n<p><\/p>\n<h3>Fase 2. Minimo di logica in Tableau, completa materializzazione<\/h3>\n<p>\nCapivamo che costruire un dashboard con un tempo di risposta di pochi secondi su un display che impiega 10 secondi era impossibile e stavamo considerando opzioni di materializzazione dei dati sul lato del database specificamente per il dashboard richiesto. Tuttavia, ci siamo imbattuti in un problema globale, descritto sopra: indicatori non additivi. Non siamo riusciti a fare in modo che, al cambiare dei filtri o delle espansioni, Tableau si commutasse in modo flessibile tra diversi display e livelli, pre-calcolati per diverse gerarchie di prodotto (nell'esempio, le tre query senza UTE, con UTE1 e UTE2 producono risultati diversi). Pertanto, abbiamo deciso di semplificare il dashboard, rinunciando alla gerarchia del prodotto nel dashboard e di vedere quanto veloce potesse essere nella versione semplificata.<\/p>\n<p>Quindi, in quest'ultima fase, abbiamo creato un deposito separato, in cui abbiamo collocato in forma trasposta tutti i KPI. Sul lato del database, qualsiasi query a tale deposito \u00e8 elaborata in 0,1 \u2013 0,3 secondi. Nel dashboard abbiamo ottenuto i seguenti risultati:<\/p>\n<p>Prima apertura: 8-10 secondi<br \/>\nQualsiasi clic: 6-7 secondi<\/p>\n<p>Il tempo che impiega Tableau \u00e8 composto da:<\/p>\n<ol>\n<li>0,3 sec. \u2014 parsing del dashboard e compilazione delle query SQL\n<\/li>\n<li>1,5-3 sec. \u2014 esecuzione delle query SQL in Hana per le visualizzazioni principali (eseguito parallelamente al punto 1)\n<\/li>\n<li>1,5-2 secondi \u2014 rendering, ricalcolo delle visualizzazioni\n<\/li>\n<li>1,3 secondi \u2014 esecuzione di query SQL aggiuntive per ottenere valori pertinenti dei filtri (Marca, Divisione, Citt\u00e0, Negozio), parsing dei risultati\n<\/li>\n<\/ol>\n<p><\/p>\n<h3>Se dobbiamo fare un breve riassunto<\/h3>\n<p>\nCi \u00e8 piaciuto lo strumento Tableau dal punto di vista della visualizzazione. Nella fase di progettazione abbiamo considerato diversi elementi di visualizzazione e li abbiamo trovati tutti nelle librerie, comprese segmentazioni complesse multistrato e waterfall multi-driver.<\/p>\n<p>Nell'implementare cruscotti con indicatori chiave di vendita, abbiamo incontrato difficolt\u00e0 di prestazioni che non siamo riusciti a superare. Abbiamo impiegato pi\u00f9 di due mesi e ottenuto un cruscotto funzionalmente incompleto, la cui velocit\u00e0 di risposta \u00e8 ai limiti dell'accettabile. E per noi abbiamo tratto conclusioni:<\/p>\n<ol>\n<li>Tableau non \u00e8 in grado di gestire grandi volumi di dati. Se nel modello di dati originale hai pi\u00f9 di 10 GB di dati (circa 200 milioni x 50 righe), allora il dashboard rallenta notevolmente \u2013 da 10 secondi a diversi minuti per ogni clic. Abbiamo sperimentato sia con il live-connect che con l'estrazione. La velocit\u00e0 di lavoro \u00e8 comparabile.\n<\/li>\n<li>Limitazioni nell'uso di pi\u00f9 archivi (dataset). Non \u00e8 possibile specificare relazioni tra dataset con strumenti standard. Se si utilizzano soluzioni alternative per collegare i dataset, questo influir\u00e0 notevolmente sulle prestazioni. Nel nostro caso, abbiamo considerato la possibilit\u00e0 di materializzare i dati in ogni taglio necessario delle visualizzazioni e su questi dataset materializzati effettuare cambiamenti mantenendo i filtri precedentemente selezionati \u2014 questo si \u00e8 rivelato impossibile da realizzare in Tableau.\n<\/li>\n<li>In Tableau non \u00e8 possibile creare parametri dinamici. Non puoi riempire un parametro, che viene utilizzato per filtrare un dataset nell'estrazione o durante il live-connect, con il risultato di un'altra selezione dal dataset o il risultato di un'altra query SQL, solo con l'input nativo dell'utente o una costante.\n<\/li>\n<li>Limitazioni legate alla costruzione del cruscotto con elementi OLAP|Tabella pivot. <br \/>\nIn MSTR, SAP SAC, SAP Analysis, se aggiungi un dataset al report, tutti gli oggetti su di esso sono collegati l'uno all'altro per impostazione predefinita. In Tableau questo non accade, la connessione deve essere configurata manualmente. Questo \u00e8 probabilmente pi\u00f9 flessibile, ma per tutti i nostri dashboard \u00e8 un requisito essenziale per gli elementi, quindi comporta costi aggiuntivi. Inoltre, se crei filtri collegati, ad esempio, affinch\u00e9 l'elenco delle citt\u00e0 sia limitato solo alle citt\u00e0 di quella regione durante la filtrazione della regione, ti trovi subito a dover effettuare query sequenziali al DB o all'estratto, il che rallenta notevolmente il dashboard.<\/li>\n<li>Limitazioni nelle funzioni. Sia sull'estratto che tantomeno sul dataset da Live-connecta non si possono eseguire trasformazioni di massa. Questo pu\u00f2 essere fatto tramite Tableau Prep, ma comporta costi aggiuntivi e un ulteriore strumento da studiare e mantenere. Ad esempio, non puoi trasporre i dati, unirli con se stessi. Questo si chiude attraverso trasformazioni su singole colonne o campi, che devono essere selezionati tramite case o if, generando query SQL molto complesse, in cui il database dedica la maggior parte del tempo alla compilazione del testo della query. Queste rigidit\u00e0 dello strumento sono state risolte a livello di vetrina, il che porta a una maggiore complessit\u00e0 del magazzino, carichi e trasformazioni aggiuntive.\n<\/li>\n<\/ol>\n<p>\nNon abbiamo chiuso la porta a Tableau. Ma come strumento capace di costruire dashboard industriali e mezzo attraverso il quale \u00e8 possibile sostituire e digitalizzare l'intero sistema di reporting aziendale, Tableau non viene considerato.<\/p>\n<p>Attualmente stiamo sviluppando attivamente un dashboard analogo su un altro strumento e stiamo parallelamente cercando di rivedere l'architettura del dashboard in Tableau per semplificarla ulteriormente. Se alla comunit\u00e0 interesser\u00e0, condivideremo i risultati.<\/p>\n<p>Aspettiamo anche le vostre idee o suggerimenti su come in Tableau si possono costruire dashboard veloci su volumi di dati cos\u00ec grandi, considerando che abbiamo anche il sito, dove i dati sono di gran lunga superiori a quelli del retail.<br \/>\n<br \/>Fonte: <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.1.1 - 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\/it\/blog\/news\/tableau-v-roznitse-realno\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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 nel retail, davvero? | ProHoster","description":"Il tempo di reportistica in Excel sta rapidamente scomparendo \u2014 la tendenza verso strumenti convenienti per la presentazione e l'analisi delle informazioni \u00e8 evidente in tutti i settori.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/tableau-v-roznitse-realno","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/55144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=55144"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/55144\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=55144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=55144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=55144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}