仓库中数据的质量是获取有价值信息的重要前提。 从长远来看,质量差会导致负面的连锁反应。
首先,人们失去了对所提供信息的信任。 人们开始减少使用商业智能应用程序;应用程序的潜力仍未得到开发。
因此,对分析项目的进一步投资受到质疑。
数据质量责任
与提高数据质量相关的方面在 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
来源: habr.com