Tableau in vendita, veramente?

U tempu di rapportu in Excel hè rapidamente sparisce - a tendenza versu strumenti convenienti per a presentazione è l'analisi di l'infurmazioni hè visibile in tutti i spazii. Avemu discututu internamente a digitalizazione di i rapporti per un bellu pezzu è hà sceltu u sistema di visualizazione di Tableau è analitica di self-service. Alexander Bezugly, capu di u dipartimentu di suluzioni analitiche è di rapportu di u Gruppu M.Video-Eldorado, hà parlatu di l'esperienza è i risultati di a custruzzione di un dashboard di cummattimentu.

Diciaraghju subitu chì micca tuttu ciò chì era pianificatu hè statu realizatu, ma l'esperienza hè stata interessante, spergu chì serà utile ancu per voi. È se qualchissia hà idee nantu à cumu si puderia fà megliu, aghju da esse assai grati per i vostri cunsiglii è idee.

Tableau in vendita, veramente?

Sottu u cut hè nantu à ciò chì avemu scontru è ciò chì avemu amparatu.

Induve avemu principiatu ?

M.Video-Eldorado hà un mudellu di dati ben sviluppatu: infurmazione strutturata cù a prufundità di almacenamiento necessaria è un gran numaru di rapporti in forma fissa (vede più dettagli stu articulu). Da questi, l'analisti facenu tabelle pivot o newsletters furmatu in Excel, o belli presentazioni PowerPoint per l'utilizatori finali.

Circa dui anni fà, invece di rapporti in forma fissa, avemu cuminciatu à creà rapporti analitici in SAP Analysis (un add-on Excel, essenzialmente una tabella pivot nantu à u mutore OLAP). Ma questu strumentu ùn era micca capaci di risponde à i bisogni di tutti l'utilizatori; a maiuranza cuntinuò à utilizà l'infurmazioni in più processate da l'analista.

I nostri utenti finali sò in trè categorie:

Top management. Richiede infurmazione in una manera ben presentata è chjaramente comprensibile.

A gestione media, utilizatori avanzati. Interessatu à l'esplorazione di dati è capace di custruisce rapporti in modu indipendenti se l'arnesi sò dispunibili. Sò diventati l'utilizatori chjave di i rapporti analitici in SAP Analysis.

utilizatori di massa. Ùn sò micca interessate à analizà i dati indipindentamente; usanu rapporti cù un gradu limitatu di libertà, in u formatu di newsletters è tabelli pivot in Excel.

A nostra idea era di copre i bisogni di tutti l'utilizatori è dà li un strumentu unicu è còmuda. Avemu decisu di principià cù u top management. Avianu bisognu di dashboards faciuli d'utilizà per analizà i risultati chjave di l'affari. Allora, avemu principiatu cù Tableau è prima hà sceltu duie direzzione: indicatori di vendita di vendita in linea è di vendita in linea cù una prufundità è una larghezza di analisi limitata, chì coprerebbe circa 80% di e dati dumandati da u top management.

Siccomu l'utilizatori di i dashboards eranu top management, un altru KPI addiziale di u pruduttu apparsu - a velocità di risposta. Nimu ùn aspittà 20-30 seconde per i dati per esse aghjurnati. A navigazione duveria esse fatta in 4-5 seconde, o megliu, fatta istantaneamente. È noi, sfurtunatamenti, ùn hà micca riesciutu à ottene questu.

Eccu ciò chì u layout di u nostru dashboard principale pareva:

Tableau in vendita, veramente?

L'idea chjave hè di cunghjuntà i principali mutori di KPI, di quale ci era 19 in totale, à a manca è prisentanu a so dinamica è a ripartizione per attributi principali à a diritta. U compitu pare sèmplice, a visualizazione hè logica è comprensibile, finu à chì si immerge in i dettagli.

Detail 1. Volume di dati

A nostra tavola principale per vendite annuali occupa circa 300 milioni di file. Siccomu hè necessariu di riflette a dinamica per l'annu passatu è l'annu prima, u voluminu di dati nantu à a vendita attuale solu hè di circa 1 billion lines. L'infurmazioni nantu à e dati pianificati è u bloccu di vendita in linea sò ancu almacenati separatamente. Per quessa, ancu s'è avemu usatu a colonna in-memoria DB SAP HANA, a rapidità di a quistione cù a selezzione di tutti l'indicatori per una settimana da u almacenamentu attuale nantu à a mosca era di circa 15-20 seconde. A suluzione à stu prublemu suggerisce stessu - materializazione supplementu di dati. Ma hà ancu trappule, più nantu à elli sottu.

Detail 2. Indicatori senza additivi

Parechji di i nostri KPI sò ligati à u numeru di ricevute. È questu indicatore rapprisenta COUNT DISTINCT di u numeru di fila (verificate intestazioni) è mostra quantità diverse secondu l'attributi selezziunati. Per esempiu, cumu si deve esse calculatu questu indicatore è u so derivatu:

Tableau in vendita, veramente?

Per fà i vostri calculi curretti, pudete:

  • Calculate tali indicatori nantu à a mosca in u almacenamentu;
  • Eseguite calculi nantu à tuttu u voluminu di dati in Tableau, i.e. nantu à a dumanda in Tableau, furnisce tutte e dati secondu i filtri selezziunati in a granularità di a pusizione di ricevuta;
  • Crea una vetrina materializzata in quale tutti l'indicatori seranu calculati in tutte l'opzioni di mostra chì dà risultati diversi senza additivi.

Hè chjaru chì in l'esempiu UTE1 è UTE2 sò attributi materiali chì rapprisentanu a ghjerarchia di u produttu. Questa ùn hè micca una cosa statica; a gestione in a cumpagnia si faci attraversu, perchè Diversi gestori sò rispunsevuli di diversi gruppi di prudutti. Avemu avutu parechje rivisioni glubale di sta ghjerarchia, quandu tutti i livelli cambiavanu, quandu e rilazioni sò stati rivisioni, è i cambiamenti constantemente puntu, quandu un gruppu si trasfirìu da un node à l'altru. In u rapportu cunvinziunali, tuttu questu hè calculatu nantu à a mosca da l'attributi di u materiale; in u casu di materializazione di sta dati, hè necessariu di sviluppà un mecanismu per seguità tali cambiamenti è ricaricà automaticamente e dati storichi. Un compitu assai micca trivial.

Detail 3. Comparazione di dati

Stu puntu hè simile à u precedente. U fondu hè chì quandu analizà una cumpagnia, hè abitudine di furmà parechji livelli di paraguni cù u periodu precedente:

Comparazione cù u periodu precedente (ghjornu à ghjornu, settimana à settimana, mese à mese)

In questu paragone, si assume chì sicondu u periodu sceltu da l'utilizatore (per esempiu, a 33a settimana di l'annu), duvemu mustrà a dinamica da a 32a settimana; se avemu sceltu dati per un mese, per esempiu, maghju. , tandu sta paragone mostraria a dinamica d'aprile.

Comparazione cù l'annu passatu

A sfumatura principale quì hè chì quandu paragunate per ghjornu è per settimana, ùn site micca pigliatu u stessu ghjornu di l'annu passatu, i.e. ùn pudete micca solu mette l'annu currentu minus unu. Duvete guardà u ghjornu di a settimana chì compara. Quandu si compara mesi, à u cuntrariu, avete bisognu di piglià esattamente u listessu ghjornu di u calendariu di l'annu passatu. Ci sò ancu sfumature cù anni bisestili. In i repositori originali, tutte l'infurmazioni sò distribuite per ghjornu; ùn ci sò campi separati cù settimane, mesi o anni. Dunque, per ottene una sezione trasversale analitica cumpleta in u pannellu, avete bisognu di cuntà micca un periodu, per esempiu una settimana, ma 4 settimane, è poi paragunate sti dati, riflette a dinamica, deviazioni. Per quessa, sta logica per generà paraguni in dinamica pò ancu esse implementata sia in Tableau o in u latu di a tenda. Iè, è di sicuru avemu cunnisciutu è pensatu à sti ditaglii in u stadiu di cuncepimentu, ma era difficiule di predichendu u so impattu nantu à u rendiment di u dashboard finali.

Quandu implementava u dashboard, avemu seguitu a longa strada Agile. U nostru compitu era di furnisce un strumentu di travagliu cù e dati necessarii per a prova u più prestu pussibule. Dunque, andemu in sprints è cuminciamu à minimizzà u travagliu da u latu di u almacenamentu attuale.

Parte 1: Fede in Tableau

Per simplificà u supportu IT è implementà rapidamente i cambiamenti, avemu decisu di fà a logica per calculà indicatori non additivi è paragunà i periodi passati in Tableau.

Stage 1. Tuttu hè Live, senza mudificazione di finestra.

À questu stadiu, avemu cunnessu Tableau à i vetri attuali è decisu di vede cumu u numeru di ricevute per un annu serà calculatu.

Risultatu:

A risposta era deprimente - 20 minuti. Trasferimentu di dati nantu à a reta, alta carica nantu à Tableau. Avemu capitu chì a logica cù indicatori non additivi deve esse implementata in HANA. Questu ùn ci hà micca spaventatu assai, avemu digià avutu una sperienza simile cù BO è Analisi è sapemu cumu custruisce vitrine veloci in HANA chì pruducenu indicatori micca additivi currettamente calculati. Il ne restait plus qu'à l'ajuster à Tableau.

Stage 2. Sintonizemu e vitrine, nisuna materializazione, tuttu nantu à a mosca.

Avemu criatu una nova vitrina separata chì hà pruduttu i dati necessarii per TABLEAU à a mosca. In generale, avemu un bonu risultatu; avemu riduciutu u tempu per generà tutti l'indicatori in una settimana à 9-10 seconde. È onestamente aspittavamu chì in Tableau u tempu di risposta di u dashboard seria 20-30 seconde à a prima apertura è dopu per via di a cache da 10 à 12, chì in generale ci cunvene.

Risultatu:

Prima aperta dashboard: 4-5 minuti
Ogni clic: 3-4 minuti
Nisunu s'aspittava un tali aumentu supplementu in u travagliu di a vetrina.

Parte 2. Immergete in Tableau

Stage 1. Analisi di rendiment di Tableau è sintonizazione rapida

Avemu cuminciatu à analizà induve Tableau passa a maiò parte di u so tempu. E ci sò assai boni strumenti per questu, chì, sicuru, hè un plus di Tableau. U prublema principali chì avemu identificatu era e dumande SQL assai cumplesse chì Tableau hà custruitu. Eranu principalmente assuciati cù:

- trasposizione di dati. Siccomu Tableau ùn hà micca arnesi per trasposite datasets, per custruisce u latu manca di u dashboard cù una rapprisintazioni dettagliata di tutti i KPI, avemu avutu à creà una tavula cù un casu. A dimensione di e dumande SQL in a basa di dati hà righjuntu 120 000 caratteri.

Tableau in vendita, veramente?

- scelta di u periodu di tempu. Una tale dumanda à u nivellu di basa di dati hà pigliatu più tempu per compilà chè per eseguisce:

Tableau in vendita, veramente?

Quelli. Trattamentu di dumanda 12 seconde + 5 seconde esecuzione.

Avemu decisu di simplificà a logica di calculu nantu à u latu di Tableau è move una altra parte di i calculi à u livellu di a tenda è a basa di dati. Questu hà purtatu boni risultati.

Prima, avemu fattu a trasposizione nantu à a mosca, l'avemu fattu attraversu una unione esterna completa in a tappa finale di u calculu VIEW, secondu questu approcciu descrittu in u wiki. Transpose - Wikipedia, l'enciclopedia libera и Matrice elementare - Wikipedia, l'enciclopedia libera.

Tableau in vendita, veramente?

Questu hè, avemu fattu una tavola di paràmetri - una matrice di trasposizione (21x21) è hà ricevutu tutti l'indicatori in una fila per fila.

Era:
Tableau in vendita, veramente?

Hè diventatu:
Tableau in vendita, veramente?

Quasi nisun tempu hè passatu nantu à a trasposizione di a basa di dati stessu. A dumanda per tutti l'indicatori per a settimana cuntinuava à esse processata in circa 10 seconde. Ma da l'altra banda, a flessibilità hè stata persa in quantu à a custruzzione di un dashboard basatu annantu à un indicatore specificu, i.e. per u latu drittu di u dashboard induve a dinamica è a ripartizione dettagliata di un indicatore specificu sò presentati, prima a vitrina funzionava in 1-3 seconde, perchè a dumanda hè stata basatu annantu à un indicatore, è avà a basa di dati hà sempre sceltu tutti l'indicatori è filtratu u risultatu prima di vultà u risultatu à Tableau.

In u risultatu, a vitezza di u dashboard hè diminuitu da quasi 3 volte.

Risultatu:

  1. 5 sec - parsing dashboards, visualizazioni
  2. 15-20 seconde - preparazione per a compilazione di e dumande cù l'esecuzione di pre-calculazioni in Tableau
  3. 35-45 sec - compilazione di e dumande SQL è a so esecuzione parallela-sequenziale in Hana
  4. 5 sec - trasfurmazioni di i risultati, ordinamentu, ricalculazione di visualizazioni in Tableau
  5. Di sicuru, tali risultati ùn sò micca adattati à l'affari, è avemu cuntinuatu l'ottimisazione.

Stage 2. Logica minima in Tableau, materializazione cumpleta

Avemu capitu chì era impussibile di custruisce un dashboard cù un tempu di risposta di parechji sicondi nantu à una vetrina chì dura per 10 seconde, è avemu cunsideratu l'opzioni per materializà e dati nantu à a basa di dati specificamente per u dashboard necessariu. Ma avemu scontru un prublema glubale descrittu sopra - indicatori non additivi. Ùn avemu micca pussutu assicurà chì quandu cambia i filtri o drilldowns, Tableau hà cambiatu in modu flessibile trà e diverse vetrine è livelli pre-progettati per diverse gerarchie di prudutti (in l'esempiu, trè dumande senza UTE, cù UTE1 è UTE2 generanu risultati diffirenti). Dunque, avemu decisu di simplificà u dashboard, abbandunà a ghjerarchia di u produttu in u dashboard è vede quantu veloce puderia esse in una versione simplificata.

Allora, in questa ultima tappa, avemu assemblatu un repository separatu in quale aghjunse tutti i KPI in forma trasposta. Da u latu di a basa di dati, ogni dumanda à un tali almacenamentu hè trattatu in 0,1 - 0,3 seconde. In u dashboard avemu ricevutu i seguenti risultati:

Prima apertura: 8-10 seconde
Ogni clicu: 6-7 seconde

U tempu spesu da Tableau hè cumpostu di:

  1. 0,3 sec. - parsing dashboard è compilazione di e dumande SQL
  2. 1,5-3 sec. - esecuzione di dumande SQL in Hana per visualizazioni principali (corre in parallelu cù u passu 1)
  3. 1,5-2 sec. - rendering, recalculazione di visualizazioni
  4. 1,3 sec. - Esecuzione di dumande SQL supplementari per ottene i valori di filtru pertinenti (Marca, Divisione, Città, Store), analisi di risultati

Per riassume in breve

Ci hè piaciutu u strumentu Tableau da una perspettiva di visualizazione. À u stadiu di prototipu, avemu cunsideratu diversi elementi di visualizazione è truvamu tutti in biblioteche, cumprese a segmentazione cumplessa multi-livellu è a cascata multi-driver.

Mentre implementava dashboards cù indicatori chjave di vendita, avemu scontru difficultà di rendiment chì ùn avemu micca ancu pussutu superà. Avemu passatu più di dui mesi è ricivutu un dashboard funziunale incomplete, a velocità di risposta di quale hè nantu à u puntu di accettabile. È avemu tiratu cunclusioni per noi stessi:

  1. Tableau ùn pò micca travaglià cù grandi volumi di dati. Se in u mudellu di dati uriginale avete più di 10 GB di dati (circa 200 milioni X 50 fila), u dashboard rallenta seriamente - da 10 seconde à parechji minuti per ogni clic. Avemu sperimentatu sia in live-connect è extract. A velocità di u funziunamentu hè paragunabile.
  2. Limitazione à l'usu di parechje almacenamenti (sets di dati). Ùn ci hè manera di indicà a relazione trà e datasets cù i mezi standard. Se aduprate soluzioni alternative per cunnette i datasets, questu affettarà assai u rendiment. In u nostru casu, avemu cunsideratu l'opzione di materializà e dati in ogni sezione di vista necessaria è di fà cambiamenti nantu à questi datasets materializzati mentre priservendu i filtri prima selezziunati - questu hè statu impussibile di fà in Tableau.
  3. Ùn hè micca pussibule di fà paràmetri dinamichi in Tableau. Ùn pudete micca riempie un paràmetru chì hè utilizatu per filtrà un dataset in un estratto o durante una live-connecte cù u risultatu d'una altra selezzione da u dataset o u risultatu d'una altra consulta SQL, solu input nativu di l'utilizatori o una constante.
  4. Limitazioni assuciate à a creazione di un dashboard cù elementi OLAP | PivotTable.
    In MSTR, SAP SAC, SAP Analysis, se aghjunghje un dataset à un rapportu, tutti l'uggetti nantu à questu sò ligati l'un à l'altru per automaticamente. Tableau ùn hà micca questu; a cunnessione deve esse cunfigurata manualmente. Questu hè probabilmente più flessibile, ma per tutti i nostri dashboards hè un requisitu obligatoriu per l'elementi - cusì hè un costu di travagliu supplementu. Inoltre, se fate filtri cunnessi in modu chì, per esempiu, quandu filtra una regione, a lista di e cità hè limitata solu à e cità di sta regione, vi finiscinu immediatamente cù dumande successive à a basa di dati o Estratti, chì rallenta notevolmente u dashboard.
  5. Limitazioni in e funzioni. Trasformazioni di massa ùn ponu esse fattu nè nantu à l'estrattu nè, in particulare, in u dataset da Live-connecta. Questu pò esse fattu attraversu Tableau Prep, ma hè un travagliu supplementu è un altru strumentu per amparà è mantene. Per esempiu, ùn pudete micca traspone dati o unisce cù ellu stessu. Ciò chì hè chjusu attraversu trasfurmazioni nantu à e colonne o campi individuali, chì deve esse sceltu per casu o se, è questu genera dumande SQL assai cumplessu, in quale a basa di dati passa a maiò parte di u so tempu cumpilà u testu di a dumanda. Queste inflessibilità di l'uttellu anu da esse risolta à u livellu di vetrina, chì porta à un almacenamentu più cumplessu, scaricamentu supplementu è trasfurmazioni.

Ùn avemu micca rinunciatu à Tableau. Ma ùn cunsideremu micca Tableau cum'è un strumentu capace di custruisce dashboards industriali è un strumentu cù quale rimpiazzà è digitalizà tuttu u sistema di rapportu corporativu di una cumpagnia.

Avà sviluppemu attivamente un dashboard simili in un altru strumentu è, à u stessu tempu, pruvemu di rivisà l'architettura di dashboard in Tableau per simplificà ancu di più. Se a cumunità hè interessata, vi cuntaremu di i risultati.

Aspittemu ancu e vostre idee o cunsiglii nantu à cumu in Tabeau pudete custruisce dashboards rapidi nantu à volumi cusì grande di dati, perchè avemu un situ web induve ci hè assai più dati chì in u retail.

Source: www.habr.com

Add a comment