BI Financial DBDIFF Analysis Issue

本文详细解析了从数据库(DB)到数据仓库(DW)的ETL过程,包括物理需求和逻辑需求分析。重点讨论了产品bug的两种类型:当输出数据与REF文件显示的数据在某些字段上不一致时,无论是原始数据还是衍生数据;以及当输出数据的行数少于REF文件显示的行数时的情况。同时,也分析了REF文件未更新的问题,包括两种类型:输出数据与数据库数据一致但REF文件不一致;输出数据的行数多于REF文件时的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

核心公式:DB --> ETL --> DW  vs  REF file

 

错误产生原因:

1,  DB/DW Connection Issue

2,  SQL Issue

3,  Product Bug

4,  REF file not updated

 

物理需求分析:

1,  Source DB: EBS, PSFT, Fusion…DB Instance

2,  DW: 忽略数据源的存储形式,将数据以同一的形式存储。

 

逻辑需求分析:

1,  ETL过程:The data stored in Source DB will be extracted, transformed, andloaded to DW.

 

关键点:

1,  Each record in DW can be found in Source DB tables. No matter it isoriginal data or derived data.

2,  If it is original data, we need to know which table and which columnin Source DB it comes from.

3,  If it is derived data, we need to know the associated record with itin Source DB. In another words, how does this data derive from Source DB byETL.

 

错误分析:

1,  DB/DW Connection Issue: (略);

2,  SQL Issue: (略);

3,  Product Bug: (分两种类型)

类型一:当OUT file输出的行数和 REF file显示的行数相等(num (out)==num (ref)),但某些字段不同

定义:无论该字段是originaldata 还是 derived data,凡是由Source DB经过ETL过程转化到DW里的,并且转化后的数据与DB中的数据不相等,但是DB中的数据与REF file相等,那么这就是一个Product Bug。

举例: 1. original data:

             如果DW中某一个字段值为0,而REF file 中显示为null,通过ETLMAPPING查看到DB中相应的字段为null。这种情况通过核心公式表示为:

             null --> ETL --> 0  vs  null. 显而易见,这是ETL发生了错误,也就是ProductBug。

 2. derived data:

    如果DW中某一个字段值为45.2,而REF file中显示为45.3,通过ETLMAPPING查看到这个字段的值是通过两条Source DB中的值相加得到的,i.e. (20.1+25.2), 进过计算,DB中显示的值为45.3。这种情况通过核心公式表示为:

    45.3 --> ETL --> 45.2  vs  45.3. 显而易见,这也是ETL发生了错误,也就是ProductBug。

    类型二:当OUT file 输出的行数和REF file显示的行数不相等,并且OUTfile输出的行数小于REF file 显示的行数(num (out)<num (ref)),并且OUT file输出的行在REF file中可以找到

    定义:如果ETL Load Plan 没有执行成功,就会出现转化到DW里面的记录缺失,这就是一个Product Bug。

    举例:如果DW输出的行数为4,而REF file显示的行数为8,并且DW中输出的这4条记录可以在REFfile这8条记录中找到,那么这就符合num(out)<num(ref),是ETL Load Plan没有执行成功,因此是一个Product Bug。

4,  REF file not updated: (分两种类型)

类型一:当OUT file输出的行数和 REF file显示的行数相等(num (out)==num (ref)),但某些字段不同

   定义:无论该字段是originaldata 还是 derived data,凡是由Source DB经过ETL过程转化到DW里的,并且转化后的数据与DB中的数据想等,但是DB/DW中的数据与REF file不相等,那么这就属于REF file not updated的问题。

举例:1. original data:

             如果DW中某一个字段值为0,而REF file 中显示为null,通过ETLMAPPING查看到DB中相应的字段为0。这种情况通过核心公式表示为:

             0 --> ETL --> 0   vs  null. 这说明ETL是没有问题的,也就是DBUpdated or REF file not updated。

 2. derived data:

    如果DW中某一个字段值为45.2,而REF file中显示为45.3,通过ETLMAPPING查看到这个字段的值是通过两条Source DB中的值相加得到的,i.e. (20.1+25.1), 进过计算,DB中显示的值为45.2。这种情况通过核心公式表示为:

             45.2 --> ETL --> 45.2  vs  45.3. 这说明ETL是没有问题的, REF file not updated。

    类型二:当OUT file 输出的行数和REF file显示的行数不相等,并且OUTfile输出的行数大于REF file 显示的行数(num (out)>num (ref)),并且REF file显示的行在OUT file中可以找到(只适用于INCR,如果FULL中出现这种类型,同样归纳到product bug

    定义:如果OUT file 输出的行数大于 REF File显示的行数,只有在增量的情况下可能出现REF更新的滞后性,因此是REF的问题,而FULL不存在此问题,如出现则是Product Bug

    举例: INCR中,如果DW输出的行数为10,而REF file显示的行数为3,并且REF file中这3条可以在OUT file 10条中找到,那么就是REF更新的滞后性问题。

 

 

分析疑难点:

1,  没有ETL MAPPING, 无法确定DW中的data是从Source DB中哪些记录中得到的。

### 如何在 Power BI 中集成和使用 Analysis Services 进行数据建模与分析 #### 使用场景概述 Analysis Services 是一种多维数据分析引擎,支持复杂的商业智能需求。通过将其与 Power BI 集成,可以实现更高效的数据处理能力以及复杂查询的支持。 #### 创建连接到 Analysis Services 数据源 要使 Power BI Desktop 能够访问来自 SQL Server Analysis Services (SSAS) 的数据,需按照如下方法操作: 1. 打开 Power BI Desktop 后点击“获取数据”,选择“更多...” 2. 在弹出窗口中找到并选中 “Analysis Services” 选项[^4] ```sql -- 示例:定义一个简单的 MDX 查询语句来提取特定维度成员的信息 SELECT {[Measures].[Sales Amount]} ON COLUMNS, {([Product].[Category].Members)} ON ROWS FROM [Adventure Works] ``` #### 设定安全性和性能优化措施 考虑到安全性因素,在设置过程中应当配置适当的身份验证机制;另外需要注意的是,为了避免给在线事务处理(OLTP)系统带来过大压力,通常推荐采用间接加载模式而非直接查询的方式从 SSAS 获取最新数据[^3]。 #### 构建模型结构 利用 Power BI 提供的强大功能构建适合业务逻辑的星型或雪花型架构,这有助于提高后续可视化的效率及准确性。对于已经存在于 AS 模型中的关系,则可以直接映射过来减少重复工作量[^1]。 #### 发布至 Power BI Service 并共享成果 完成本地开发调试之后,可以通过发布按钮轻松地将项目部署到云端服务上与其他同事协作交流。此时还可以启用 DirectQuery 功能以便保持数据的新鲜度同时享受近实时更新的优势[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值