Waktos pikeun ngalaporkeun dina Excel gancang ngaleungit - tren pikeun alat anu cocog pikeun nampilkeun sareng nganalisa inpormasi katingali di sadaya daérah. Kami parantos lami ngabahas digitalisasi ngalaporkeun sacara internal sareng milih visualisasi Tableau sareng sistem analitik jasa diri. Alexander Bezugly, kapala solusi analitik sareng departemén ngalaporkeun M.Video-Eldorado Group, nyarioskeun pangalaman sareng hasil ngawangun dasbor tempur.
Kuring bakal langsung nyarios yén henteu sadayana anu direncanakeun kalaksanakeun, tapi pangalaman éta pikaresepeun, kuring ngarepkeun éta ogé mangpaat pikeun anjeun. Sareng upami aya anu gaduh ide kumaha éta tiasa dilakukeun langkung saé, kuring bakal nganuhunkeun pisan pikeun naséhat sareng ide anjeun.

Handap cut nyaeta ngeunaan naon urang encountered na naon urang diajar ngeunaan.
Dimana urang ngamimitian?
M.Video-Eldorado gaduh modél data anu dikembangkeun saé: inpormasi terstruktur kalayan jero panyimpenan anu diperyogikeun sareng sajumlah ageung laporan bentuk tetep (tingali langkung rinci ). Tina ieu, analis ngadamel tabel pangsi atanapi buletin anu diformat dina Excel, atanapi presentasi PowerPoint anu saé pikeun pangguna akhir.
Kira-kira dua taun ka tukang, tinimbang laporan bentuk tetep, urang mimiti nyieun laporan analitik dina Analisis SAP (tambahan Excel, dasarna tabel pangsi dina mesin OLAP). Tapi alat ieu henteu tiasa nyumponan kabutuhan sadaya pangguna seuseueurna terus ngagunakeun inpormasi anu diolah ku analis.
Pamaké ahir urang digolongkeun kana tilu kategori:
manajemén Top. Nyuhunkeun inpormasi dina cara anu dipidangkeun sareng jelas.
Manajemén tengah, pamaké canggih. Kabetot dina eksplorasi data sareng tiasa ngawangun laporan mandiri upami aya alat. Aranjeunna janten pangguna konci laporan analitik dina Analisis SAP.
pamaké masal. Aranjeunna henteu kabetot dina nganalisa data sacara mandiri; aranjeunna nganggo laporan kalayan tingkat kabébasan terbatas, dina format buletin sareng tabel pangsi di Excel.
Gagasan kami nyaéta pikeun nyumponan kabutuhan sadaya pangguna sareng masihan aranjeunna hiji alat anu merenah. Urang mutuskeun pikeun mimitian ku manajemén luhur. Aranjeunna peryogi dasbor anu gampang dianggo pikeun nganalisis hasil bisnis konci. Janten, urang mimitian ku Tableau sareng mimiti milih dua arah: indikator penjualan ritel sareng online kalayan jero kawates sareng lebar analisis, anu bakal nutupan sakitar 80% data anu dipénta ku manajemén luhur.
Kusabab pamaké tina dasbor éta manajemén luhur, KPI tambahan sejen produk mucunghul - speed respon. Teu aya anu bakal ngantosan 20-30 detik kanggo data diropéa. Napigasi kedah dilakukeun dina 4-5 detik, atanapi langkung saé, dilakukeun sacara instan. Sareng urang, sayangna, gagal pikeun ngahontal ieu.
Ieu kumaha tata perenah dasbor utama urang katingalina:

Gagasan konci nyaéta ngagabungkeun supir KPI utama, anu jumlahna aya 19, di kénca sareng nampilkeun dinamika sareng ngarecahna ku atribut utama di beulah katuhu. Tugasna sigana saderhana, visualisasina logis sareng kaharti, dugi ka teuleum kana detil.
Rincian 1. Volume data
Méja utama kami pikeun penjualan taunan nyandak sakitar 300 juta jajar. Kusabab perlu ngeunteung dinamika pikeun taun ka tukang sareng taun sateuacanna, volume data dina penjualan saleresna waé sakitar 1 milyar garis. Inpormasi ngeunaan data anu direncanakeun sareng blok penjualan online ogé disimpen sacara misah. Ku alatan éta, sanajan urang ngagunakeun columnar dina-memori DB SAP HANA, laju query kalawan Pilihan sadaya indikator pikeun hiji minggu ti gudang ayeuna on laleur éta ngeunaan 15-20 detik. Solusi pikeun masalah ieu nunjukkeun sorangan - materialization tambahan data. Tapi ogé aya pitfalls, langkung seueur ngeunaan aranjeunna di handap.
Rincian 2. Indikator non-aditif
Seueur KPI urang dihijikeun sareng jumlah kuitansi. Sareng indikator ieu ngagambarkeun COUNT DISTINCT tina jumlah baris (pariksa header) sareng nunjukkeun jumlah anu béda-béda gumantung kana atribut anu dipilih. Salaku conto, kumaha indikator ieu sareng turunanna kedah diitung:

Pikeun nyieun itungan anjeun leres, anjeun tiasa:
- Ngitung indikator sapertos dina laleur di gudang;
- Ngalakukeun itungan dina sakabéh volume data dina Tableau, i.e. kana pamundut di Tableau, nyadiakeun sagala data nurutkeun saringan dipilih dina granularity tina posisi resi;
- Jieun showcase materialized nu sagala indikator bakal diitung dina sakabéh pilihan sampel nu masihan hasil non-aditif béda.
Éta jelas yén dina conto UTE1 sareng UTE2 mangrupikeun atribut bahan anu ngagambarkeun hirarki produk. Ieu sanes hiji hal statik; manajemén dina parusahaan lumangsung ngaliwatan eta, sabab manajer béda jawab grup produk béda. Urang kungsi loba révisi global hirarki ieu, nalika sakabéh tingkat robah, nalika hubungan anu dirévisi, sarta titik konstan robah, nalika hiji grup dipindahkeun ti hiji titik ka nu sejen. Dina ngalaporkeun konvensional, sadaya ieu diitung dina laleur tina atribut bahan dina kasus materialization data ieu, perlu pikeun ngembangkeun mékanisme pikeun nyukcruk parobahan misalna jeung otomatis reloading data sajarah; Hiji tugas pisan non-trivial.
Wincikan 3. Babandingan data
Titik ieu sami sareng anu sateuacana. Intina nyaéta nalika nganalisa perusahaan, biasana ngabentuk sababaraha tingkat ngabandingkeun sareng période saméméhna:
Ngabandingkeun sareng période saméméhna (poé ka poé, minggu ka minggu, bulan ka bulan)
Dina babandingan ieu, eta dianggap yén gumantung kana periode dipilih ku pamaké (contona, minggu 33rd taun), urang kedah nembongkeun dinamika ku minggu 32nd lamun urang milih data salila sabulan, contona, Méi , lajeng ngabandingkeun ieu bakal nembongkeun dinamika ku April.
Ngabandingkeun jeung taun ka tukang
Nuansa utama di dieu nyaéta nalika ngabandingkeun ku dinten sareng minggu, anjeun henteu nyandak dinten anu sami taun ka tukang, nyaéta. Anjeun teu bisa ngan nempatkeun taun ayeuna dikurangan hiji. Anjeun kedah ningali dinten minggu anu anjeun ngabandingkeun. Nalika ngabandingkeun bulan, sabalikna, anjeun kedah nyandak persis dinten kalénder anu sami taun ka tukang. Aya ogé nuansa sareng taun kabisat. Dina repositori asli, sadaya inpormasi disebarkeun dumasar kana dinten; Ku alatan éta, pikeun ménta cross-bagian analitik lengkep dina panel, Anjeun kudu cacah teu hiji jaman, contona saminggu, tapi 4 minggu, lajeng ngabandingkeun data ieu, ngagambarkeun dinamika, simpangan. Sasuai, logika ieu pikeun ngahasilkeun babandingan dina dinamika ogé bisa dilaksanakeun boh di Tableau atanapi di sisi storefront. Leres, sareng tangtosna urang terang sareng mikir ngeunaan detil ieu dina tahap desain, tapi dampakna dina pagelaran dasbor akhir sesah diprediksi.
Nalika ngalaksanakeun dasbor, urang ngiringan jalur Agile anu panjang. Tugas kami nyaéta nyayogikeun alat anu tiasa dianggo sareng data anu dipikabutuh pikeun uji gancang-gancang. Kituna, urang indit dina sprints tur mimitian ti ngaleutikan gawé di sisi gudang ayeuna.
Bagian 1: Iman dina Tableau
Pikeun nyederhanakeun dukungan IT sareng gancang ngalaksanakeun parobihan, kami mutuskeun pikeun ngadamel logika pikeun ngitung indikator non-aditif sareng ngabandingkeun période katukang di Tableau.
Tahap 1. Sagalana Live, euweuh modifikasi jandela.
Dina tahap ieu, urang disambungkeun Tableau ka storefronts ayeuna sarta mutuskeun pikeun nempo sabaraha jumlah kuitansi pikeun sataun bakal diitung.
Hasil:
Jawaban éta neken - 20 menit. Mindahkeun data ngaliwatan jaringan, beban tinggi on Tableau. Kami sadar yén logika sareng indikator non-aditif kedah dilaksanakeun dina HANA. Ieu henteu nyingsieunan kami, kami parantos gaduh pangalaman anu sami sareng BO sareng Analisis sareng kami terang kumaha ngawangun paméran gancang di HANA anu ngahasilkeun indikator non-aditif anu diitung leres. Ayeuna sadayana anu tinggaleun nyaéta nyaluyukeun kana Tableau.
Tahap 2. Urang Ngepaskeun kasus tampilan, euweuh materialization, sagalana on laleur.
Urang dijieun showcase anyar misah nu ngahasilkeun data diperlukeun pikeun TABLEAU on laleur nu. Sacara umum, urang ngagaduhan hasil anu saé; urang ngirangan waktos pikeun ngahasilkeun sadaya indikator dina saminggu ka 9-10 detik. Sarta kami jujur ekspektasi nu di Tableau waktu respon dasbor bakal 20-30 detik dina bubuka munggaran lajeng alatan cache ti 10 nepi ka 12, nu sacara umum bakal cocog kami.
Hasil:
Dasbor kabuka munggaran: 4-5 menit
Sakur klik: 3-4 menit
Teu aya anu ngarepkeun kanaékan tambahan sapertos dina karya storefront.
Bagian 2. teuleum ka Tableau
Tahap 1. Analisis kinerja Tableau sarta tuning gancang
Urang mimitian analisa dimana Tableau méakkeun kalolobaan waktos na. Sareng aya alat anu saé pikeun ieu, anu, tangtosna, mangrupikeun tambihan tina Tableau. Masalah utama anu ku urang diidentipikasi nyaéta patarosan SQL anu rumit pisan anu didamel ku Tableau. Aranjeunna utamana pakait sareng:
- transposisi data. Kusabab Tableau teu boga alat pikeun transposing datasets, ngawangun sisi kénca dasbor kalayan ngagambarkeun detil rupa KPIs, urang kudu nyieun hiji méja maké pasualan. Ukuran queries SQL dina database ngahontal 120 karakter.

- pilihan periode waktu. Paménta sapertos di tingkat pangkalan data nyandak langkung seueur waktos pikeun dikompilasi tibatan ngaéksekusi:

Jelema-jelema. pamundut processing 12 detik + 5 palaksanaan detik.
Urang mutuskeun simplify logika itungan di sisi Tableau sarta mindahkeun bagian séjén tina itungan ka storefront jeung tingkat database. Ieu mawa hasil alus.
Kahiji, urang ngalakukeun transposisi dina laleur, urang ngalakukeun eta ngaliwatan gabungan luar pinuh dina tahap ahir itungan VIEW, nurutkeun pendekatan ieu dijelaskeun dina wiki. и .

Nyaéta, kami ngadamel méja setting - matriks transposisi (21x21) sareng nampi sadaya indikator dina ngarecahna baris-demi-baris.
Éta:

janten:

Ampir euweuh waktu spent dina transposisi database sorangan. Paménta pikeun sakabéh indikator pikeun saminggu terus diolah dina ngeunaan 10 detik. Tapi di sisi séjén, kalenturan geus leungit dina hal ngawangun dasbor dumasar kana indikator husus, i.e. pikeun sisi katuhu dasbor dimana dinamika sareng ngarecahna detil indikator khusus dibere, sateuacana kasus tampilan damel dina 1-3 detik, sabab pamundut ieu dumasar kana hiji indikator, sarta ayeuna database salawasna dipilih sagala indikator sarta disaring hasilna saméméh balik hasilna ka Tableau.
Hasilna, laju dasbor turun ampir 3 kali.
Hasil:
- 5 detik - dasbor parsing, visualisasi
- 15-20 detik - préparasi compiling queries kalawan nedunan pre-itungan di Tableau
- 35-45 detik - kompilasi query SQL sareng palaksanaan paralel-sequential na di Hana
- 5 detik - ngolah hasil, asihan, recalculating visualizations di Tableau
- Tangtosna, hasil sapertos kitu henteu cocog sareng bisnis, sareng kami terus optimasi.
Tahap 2. Logika minimum dina Tableau, materialisasi lengkep
Urang dipikaharti yén teu mungkin pikeun ngawangun dasbor kalayan waktu respon sababaraha detik dina storefront nu ngajalankeun pikeun 10 detik, sarta kami dianggap pilihan pikeun materializing data dina samping database husus pikeun dasbor diperlukeun. Tapi kami mendakan masalah global anu dijelaskeun di luhur - indikator non-aditif. Kami teu bisa mastikeun yén nalika ngarobah saringan atawa drilldowns, Tableau flexibly switched antara storefronts béda jeung tingkat pre-dirancang pikeun hierarchies produk béda (dina conto, tilu queries tanpa UTE, kalawan UTE1 na UTE2 ngahasilkeun hasil béda). Ku alatan éta, urang mutuskeun pikeun simplify dasbor, abandon hirarki produk dina dasbor tur tingal kumaha gancang eta bisa jadi dina versi saderhana.
Janten, dina tahap terakhir ieu, urang ngumpulkeun gudang anu misah dimana urang nambihan sadaya KPI dina bentuk transposed. Di sisi databés, pamundut naon waé pikeun neundeun sapertos ieu diolah dina 0,1 - 0,3 detik. Dina dasbor kami nampi hasil ieu:
Bubuka kahiji: 8-10 detik
Sakur klik: 6-7 detik
Waktu anu dihabiskeun ku Tableau diwangun ku:
- 0,3 detik. - parsing dasbor sareng kompilasi queries SQL
- 1,5-3 detik. - palaksanaan query SQL di Hana pikeun visualisasi utama (dijalankeun paralel sareng léngkah 1)
- 1,5-2 detik. - rendering, recalculation of visualizations
- 1,3 detik. - palaksanaan patarosan SQL tambahan pikeun kéngingkeun nilai saringan anu relevan (Merek, Divisi, Kota, Toko), hasil parsing
Pikeun nyimpulkeun sakeudeung
Kami resep alat Tableau tina sudut pandang visualisasi. Dina tahap prototyping, urang dianggap rupa elemen visualisasi sarta kapanggih kabeh di perpustakaan, kaasup segmentation multi-tingkat kompléks jeung curug multi-driver.
Nalika ngalaksanakeun dasbor kalayan indikator penjualan konci, kami mendakan kasusah kinerja anu henteu acan tiasa diatasi. Kami nyéépkeun langkung ti dua bulan sareng nampi dasbor anu henteu lengkep, anu laju résponna tiasa ditampi. Sarta kami Drew conclusions pikeun diri urang sorangan:
- Tableau teu tiasa dianggo kalayan jumlah badag data. Upami dina modél data asli anjeun gaduh langkung ti 10 GB data (sakitar 200 juta X 50 jajar), maka dasbor bakal ngalambatkeun sacara serius - ti 10 detik dugi ka sababaraha menit pikeun tiap klik. Kami ékspérimén sareng live-connect sareng ekstrak. Laju operasi sabanding.
- Watesan nalika nganggo sababaraha panyimpenan (setél data). Teu aya cara pikeun nunjukkeun hubungan antara set data nganggo cara standar. Lamun make workarounds pikeun nyambungkeun datasets, ieu bakal greatly mangaruhan kinerja. Dina hal urang, urang dianggap pilihan materializing data dina unggal bagian view diperlukeun tur nyieun switch dina datasets materialized ieu bari preserving saringan dipilih saméméhna - ieu tétéla teu mungkin mun di Tableau.
- Teu mungkin nyieun parameter dinamis dina Tableau. Anjeun teu bisa ngeusian parameter nu dipaké pikeun nyaring dataset dina ekstrak atawa salila hirup-connecte kalawan hasil pilihan sejen tina dataset atawa hasil query SQL sejen, ngan input pamaké asli atawa konstanta.
- Watesan pakait sareng ngawangun dasbor nganggo OLAP|elemen PivotTable.
Dina MSTR, SAP SAC, Analisis SAP, upami anjeun nambihan set data kana laporan, maka sadaya objék anu aya hubunganana sacara standar. Tableau teu boga ieu sambungan kudu ngonpigurasi sacara manual. Ieu sigana langkung fleksibel, tapi pikeun sadaya dasbor kami, ieu mangrupikeun syarat wajib pikeun elemen - janten ieu mangrupikeun biaya tenaga kerja tambahan. Sumawona, upami anjeun ngadamel saringan anu aya hubunganana supados, contona, nalika nyaring daérah, daptar kota ngan ukur dugi ka kota-kota di daérah ieu, anjeun langsung ditungtungan ku patarosan berturut-turut kana pangkalan data atanapi Ekstrak, anu nyata ngalambatkeun turunna. dasbor. - Watesan dina fungsi. Transformasi massa teu bisa dipigawé boh dina ekstrak atawa, UTAMA, dina dataset ti Live-connecta. Ieu tiasa dilakukeun ku Prep Tableau, tapi éta mangrupikeun padamelan tambahan sareng alat anu sanés pikeun diajar sareng ngajaga. Contona, anjeun teu bisa transpose data atawa gabung eta kalawan sorangan. Naon anu ditutup ngaliwatan transformasi dina kolom individu atawa widang, nu kudu dipilih ngaliwatan hal atawa lamun, sarta ieu dibangkitkeun queries SQL pisan kompléks, nu database spends lolobana waktu na compiling téks query. Inflexibility tina alat ieu kedah direngsekeun dina tingkat showcase, anu nyababkeun panyimpen anu langkung kompleks, undeuran tambahan sareng transformasi.
Kami henteu nyerah kana Tableau. Tapi kami henteu nganggap Tableau salaku alat anu sanggup ngawangun dasbor industri sareng alat pikeun ngagentos sareng ngadigitalkeun sistem ngalaporkeun perusahaan sadayana.
Urang ayeuna aktip ngamekarkeun dasbor sarupa dina alat sejen tur, dina waktos anu sareng, nyobian pikeun ngarévisi arsitektur dasbor di Tableau guna simplify eta malah leuwih. Lamun masarakat kabetot, kami bakal ngabejaan Anjeun tentang hasilna.
Kami ogé ngantosan ideu atanapi saran anjeun ngeunaan kumaha di Tabeau anjeun tiasa ngawangun dasbor gancang dina jumlah data anu ageung, sabab kami gaduh halaman wéb dimana langkung seueur data tibatan dina ritel.
sumber: www.habr.com
