倉庫中資料的品質是獲取有價值資訊的重要前提。 從長遠來看,品質差會導致負面的連鎖反應。
首先,人們失去了對所提供資訊的信任。 人們開始減少使用商業智慧應用程式;應用程式的潛力仍未開發。
因此,對分析項目的進一步投資受到質疑。
數據品質責任
與提高資料品質相關的方面在 BI 專案中非常重要。 然而,這不僅僅是技術專家的特權。
數據品質也受到以下方面的影響
企業文化
- 工人本身對生產高品質產品有興趣嗎?
- 如果沒有,為什麼不呢? 可能存在利益衝突。
- 也許有公司規則來決定誰對品質負責?
流程
- 這些鏈的末端會建立哪些資料?
- 也許作業系統的配置方式使您需要「扭曲」以反映現實中的這種或那種情況。
- 作業系統是否自行執行資料驗證和協調?
組織中的每個人都對報告系統中的資料品質負責。
定義和意義
品質是經過驗證的對客戶期望的滿足。
但數據品質不包含定義。 它始終反映使用環境。 資料倉儲和 BI 系統的用途與資料來源的作業系統不同。
例如,在作業系統上,客戶屬性可以是可選欄位。 在儲存庫中,該屬性可以用作維度,並且需要填充。 反過來,這又需要填入預設值。
資料儲存需求不斷變化,通常高於作業系統的需求。 但也可以是相反的情況,即不需要在記憶體中儲存來自作業系統的詳細資訊。
為了使數據品質可衡量,必須描述其標準。 在工作中使用資訊和圖形的人員必須參與描述過程。 這種參與的結果可能是一個規則,依照這個規則,一看表就知道有沒有錯誤。 此規則必須格式化為腳本/程式碼以供後續驗證。
提高數據品質
在將資料載入到倉庫的過程中不可能清除並修正所有假設的錯誤。 良好的數據品質只能透過所有參與者之間的密切合作來實現。 將資料輸入作業系統的人員需要了解哪些操作會導致錯誤。
數據品質是一個過程。 不幸的是,許多組織沒有持續改善的策略。 許多人僅限於儲存數據,而沒有充分利用分析系統的潛力。 通常,在開發資料倉儲時,70-80%的預算用於實現資料整合。 監控和改進過程仍然不完整(如果有的話)。
工具
使用軟體工具可以幫助實現數據品質改進和監控的自動化流程。 例如,他們可以完全自動化儲存結構的技術驗證:欄位格式、預設值的存在、表格欄位名稱的符合性。
檢查內容可能會比較困難。 隨著儲存要求的變化,資料的解釋也可能會發生變化。 該工具本身可能會成為一個需要支援的龐大項目。
評議會
通常設計儲存的關係資料庫具有建立視圖的卓越能力。 如果您了解內容的具體情況,它們可用於快速檢查資料。 每個在資料中發現錯誤或問題的情況都可以以資料庫查詢的形式記錄下來。
這樣就形成了關於內容的知識庫。 當然,這樣的請求必須要快。 與基於表格的工具相比,視圖通常需要更少的人力來維護。 視圖始終準備好顯示測試結果。
對於重要報告,檢視可能包含包含收件者的欄位。 使用相同的 BI 工具來報告倉庫中的資料品質狀態是有意義的。
例子
該查詢是為 Oracle 資料庫編寫的。 在此範例中,測試傳回一個可以根據需要進行解釋的數值。 T_MIN和T_MAX值可用於調整警報等級。 REPORT欄位曾經被用作商業ETL產品中的消息,該產品不知道如何正確發送電子郵件,因此rpad是一個「拐杖」。
對於大表,您可以添加,例如 AND ROWNUM <= 10,即如果有 10 個錯誤,則足以引起警報。
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
該出版物使用書中的材料
羅納德·巴赫曼,博士吉多·肯珀
勞斯·德·比·法勒
Wie 商業智慧 zum Erfolg wird
來源: www.habr.com