Kalidad ng data sa bodega

Ang kalidad ng data sa bodega ay isang mahalagang kinakailangan para sa pagkuha ng mahalagang impormasyon. Ang mahinang kalidad ay humahantong sa isang negatibong chain reaction sa katagalan.
Una, nawawala ang tiwala sa impormasyong ibinigay. Ang mga tao ay nagsisimulang gumamit ng mga application ng Business Intelligence nang mas kaunti; ang potensyal ng mga aplikasyon ay nananatiling hindi inaangkin.
Bilang resulta, ang karagdagang pamumuhunan sa analytical na proyekto ay pinag-uusapan.

Responsibilidad para sa kalidad ng data

Ang aspetong nauugnay sa pagpapabuti ng kalidad ng data ay napakahalaga sa mga proyekto ng BI. Gayunpaman, hindi ito pribilehiyo ng mga teknikal na espesyalista lamang.
Ang kalidad ng data ay naiimpluwensyahan din ng mga aspeto tulad ng

Kultura ng korporasyon

  • Interesado ba ang mga manggagawa mismo sa paggawa ng magandang kalidad?
  • Kung hindi, bakit hindi? Maaaring may conflict of interest.
  • Siguro may mga corporate rules na tumutukoy kung sino ang responsable para sa kalidad?

Ang mga proseso

  • Anong data ang nilikha sa dulo ng mga chain na ito?
  • Marahil ang mga operating system ay na-configure sa paraang kailangan mong "i-twist" upang ipakita ito o ang sitwasyong iyon sa katotohanan.
  • Ang mga operating system ba ay nagsasagawa ng data verification at reconciliation sa kanilang mga sarili?

Ang bawat isa sa organisasyon ay responsable para sa kalidad ng data sa mga sistema ng pag-uulat.

Kahulugan at kahulugan

Ang kalidad ay ang napatunayang kasiyahan ng mga inaasahan ng customer.

Ngunit ang kalidad ng data ay hindi naglalaman ng isang kahulugan. Palagi nitong sinasalamin ang konteksto ng paggamit. Ang data warehouse at BI system ay nagsisilbi sa iba't ibang layunin kaysa sa operating system kung saan nagmumula ang data.

Halimbawa, sa isang operating system, ang katangian ng customer ay maaaring isang opsyonal na field. Sa repository, maaaring gamitin ang attribute na ito bilang dimensyon at kailangan ang pagpuno nito. Na, sa turn, ay nagpapakilala ng pangangailangang punan ang mga default na halaga.

Ang mga kinakailangan sa pag-iimbak ng data ay patuloy na nagbabago at kadalasan ay mas mataas ang mga ito kaysa sa para sa mga operating system. Ngunit maaari rin itong maging kabaligtaran, kapag hindi na kailangang mag-imbak ng detalyadong impormasyon mula sa operating system sa imbakan.

Upang gawing nasusukat ang kalidad ng data, dapat na inilarawan ang mga pamantayan nito. Ang mga taong gumagamit ng impormasyon at mga numero para sa kanilang trabaho ay dapat na kasangkot sa proseso ng paglalarawan. Ang resulta ng paglahok na ito ay maaaring isang panuntunan, na sumusunod sa kung saan ang isa ay maaaring sabihin sa isang sulyap sa talahanayan kung mayroong isang error o wala. Dapat na naka-format ang panuntunang ito bilang isang script/code para sa kasunod na pag-verify.

Pagpapabuti ng kalidad ng data

Imposibleng linisin at itama ang lahat ng hypothetical error sa panahon ng proseso ng paglo-load ng data sa bodega. Ang magandang kalidad ng data ay makakamit lamang sa pamamagitan ng malapit na pakikipagtulungan sa pagitan ng lahat ng kalahok. Ang mga taong naglalagay ng data sa mga operating system ay kailangang matutunan kung anong mga aksyon ang humahantong sa mga error.

Ang kalidad ng data ay isang proseso. Sa kasamaang palad, maraming mga organisasyon ang walang diskarte para sa patuloy na pagpapabuti. Marami ang naglilimita sa kanilang sarili sa pag-iimbak lamang ng data at hindi ginagamit ang buong potensyal ng mga analytical system. Karaniwan, kapag bumubuo ng mga warehouse ng data, 70-80% ng badyet ang ginugugol sa pagpapatupad ng pagsasama ng data. Ang proseso ng pagsubaybay at pagpapabuti ay nananatiling hindi kumpleto, kung mayroon man.

Tools

Makakatulong ang paggamit ng mga tool sa software sa proseso ng pag-automate ng pagpapabuti at pagsubaybay sa kalidad ng data. Halimbawa, maaari nilang ganap na i-automate ang teknikal na pag-verify ng mga istruktura ng imbakan: format ng field, pagkakaroon ng mga default na halaga, pagsunod sa mga pangalan ng field ng talahanayan.

Maaaring mas mahirap suriin ang nilalaman. Habang nagbabago ang mga kinakailangan sa imbakan, maaari ding magbago ang interpretasyon ng data. Ang tool mismo ay maaaring maging isang malaking proyekto na nangangailangan ng suporta.

Payo

Ang mga relational database, kung saan ang mga tindahan ay karaniwang idinisenyo, ay may kahanga-hangang kakayahang lumikha ng mga view. Magagamit ang mga ito upang mabilis na suriin ang data kung alam mo ang mga detalye ng nilalaman. Ang bawat kaso ng paghahanap ng isang error o problema sa data ay maaaring maitala sa anyo ng isang query sa database.

Sa ganitong paraan, mabubuo ang isang knowledge base tungkol sa nilalaman. Siyempre, ang mga naturang kahilingan ay dapat na mabilis. Ang mga view ay karaniwang nangangailangan ng mas kaunting oras ng tao upang mapanatili kaysa sa mga tool na nakabatay sa talahanayan. Ang view ay laging handa upang ipakita ang resulta ng pagsubok.
Sa kaso ng mahahalagang ulat, ang view ay maaaring maglaman ng column na may tatanggap. Makatuwirang gamitin ang parehong mga tool ng BI upang mag-ulat sa estado ng kalidad ng data sa warehouse.

Halimbawa

Ang query ay isinulat para sa Oracle database. Sa halimbawang ito, ang mga pagsubok ay nagbabalik ng numeric na halaga na maaaring bigyang-kahulugan bilang ninanais. Ang mga halaga ng T_MIN at T_MAX ay maaaring gamitin upang ayusin ang antas ng alarma. Ang field ng REPORT ay minsang ginamit bilang isang mensahe sa isang komersyal na produkto ng ETL na hindi alam kung paano maayos na magpadala ng mga email, kaya ang rpad ay isang "saklay".

Sa kaso ng isang malaking talahanayan, maaari kang magdagdag, halimbawa, AT ROWNUM <= 10, i.e. kung mayroong 10 mga error, kung gayon ito ay sapat na upang maging sanhi ng alarma.

CREATE OR REPLACE VIEW V_QC_DIM_PRODUCT_01 AS
SELECT
  CASE WHEN OUTPUT>=T_MIN AND OUTPUT<=T_MAX
  THEN 'OK' ELSE 'ERROR' END AS RESULT,
  DESCRIPTION,
  TABLE_NAME, 
  OUTPUT, 
  T_MIN,
  T_MAX,
  rpad(DESCRIPTION,60,' ') || rpad(OUTPUT,8,' ') || rpad(T_MIN,8,' ') || rpad(T_MAX,8,' ') AS REPORT
FROM (-- Test itself
  SELECT
    'DIM_PRODUCT' AS TABLE_NAME,
    'Count of blanks' AS DESCRIPTION,
    COUNT(*) AS OUTPUT,
    0 AS T_MIN,
    10 AS T_MAX
  FROM DIM_PRODUCT
  WHERE DIM_PRODUCT_ID != -1 -- not default value
  AND ATTRIBUTE IS NULL ); -- count blanks

Ang publikasyon ay gumagamit ng mga materyales mula sa aklat
Ronald Bachmann, Dr. Guido Kemper
Raus aus der BI-Falle
Wie Business Intelligence zum Erfolg wird


Pinagmulan: www.habr.com

Magdagdag ng komento