数据核对及结果发送钉钉消息

利用kettle进行数据核对并将核对结果发送到钉钉通知。

根据业务需求,需要对数据库中不同层级的数据进行核对,检查数据在传输以及清洗的过程中是否存在缺失。

         由于平时的数据检查都是手动进行查询,需要在上班以后再进行,就拖慢了报表的出表时间。最近在想着用什么方法,能在上班前就将数据检查完,并且能有通知,不用再去查看。在网上查阅了一下,没发现什么有借鉴意义的,就自己慢慢摸索了一个符合自己需要的校验方法。

        废话不多说,先上图。该校验是利用SQL进行查询,再通过钉钉进行通知。

     

在表输入步骤,调用存储过程,得出不匹配的数据。-- call 存储过程名字()

存储过程内容如下:

DROP TABLE IF EXISTS a1;
  CREATE TEMPORARY TABLE a1
select 唯一字段 from ods层表 where 唯一字段 not in (select 唯一字段 from 数据源表);

DROP TABLE IF EXISTS a2;
  CREATE TEMPORARY TABLE a2
select 唯一字段 from dwd层表 where 唯一字段 not in (select 唯一字段 from 数据源表);

#如果存在有辅助表,有数据增删减,可再增加一个临时表。又或者存在数据的计算,可自行增加核对内容。

#如果有ods层不匹配的数据、dwd层不匹配的数据,则会输出数据,否则为null
SELECT * from  (SELECT 唯一字段 from a1 union all SELECT 唯一字段 from  a2 )a;

加入kettle组件--Switch / Case。Switch / Case用于进行条件判断。

 加入kettle组件--中止。中止可以帮助我们停止这个转换。

加入kettle组件--文本文件输出。文本文件输出可以帮助我们正常运行这个转换。

在转换中,如果数据核对无误,就会输出null值,就会进行下一步骤“文本文件输出”,否则就会执行“中止”步骤。

当数据无误时:

 

 当数据存在问题时:

 

  在数据正常后,我们如何可以在上班之前得知呢?那就要让我们的钉钉小助手上线了。

(具体的kettle钉钉通知操作见上一章内容)

       在这一转换中,只要一点击运行,我发现“自定义常量数据”总是最开始运行的。这样还没等Switch/Case做完判断,它就已经进行钉钉通知了。因此,就需要在kettle连接钉钉通知的操作中加一个“阻塞数据直至步骤后完成”组件,等上一部分内容都运行成功,才进行钉钉通知。

 

如图,“字符串替换”组件从6.8s也就是上面组件完成后,才开始往后进行

 运行成功后,钉钉机器人就会在群里发送信息

 如果数据有问题,就会停止转换

 

        把转换放在作业中,定时跑数,就可以在钉钉信息通知中知道数据问题了。成功就会通知,没成功就不会通知。

        小伙伴们也可以在此基础上增加一个不成功的消息通知!

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Python可以用于财务数据核对的一个常用库是pandas。pandas是一个强大的数据分析工具,可以方便地进行数据处理和分析。以下是使用pandas进行财务数据核对的一般步骤: 1. 导入pandas库: ```python import pandas as pd ``` 2. 读取财务数据文件: ```python data = pd.read_csv('financial_data.csv') ``` 3. 查看数据的前几行: ```python print(data.head()) ``` 4. 核对数据: - 检查数据的完整性:查看是否有缺失值或异常值。 ```python print(data.isnull().sum()) # 统计每列的缺失值数量 ``` - 检查数据的一致性:比较不同数据列之间的关系,例如总资产和总负债之间是否平衡。 ```python total_assets = data['总资产'] total_liabilities = data['总负债'] balance_check = total_assets - total_liabilities print(balance_check) ``` - 检查数据的准确性:比较数据与其他来源的数据进行对比,例如与财务报表进行核对。 ```python # 与财务报表进行对比 financial_report = pd.read_csv('financial_report.csv') merged_data = pd.merge(data, financial_report, on='日期', how='inner') print(merged_data) ``` 5. 进行数据清洗和修正: - 处理缺失值:可以选择删除缺失值或者使用插值等方法进行填充。 ```python data_cleaned = data.dropna() # 删除缺失值 data_filled = data.fillna(method='ffill') # 使用前向填充法填充缺失值 ``` - 修正错误数据:根据实际情况进行修正,例如修正录入错误的数值。 ```python data.loc[data['销售额'] < 0, '销售额'] = 0 # 将销售额小于0的数据修正为0 ``` 以上是使用pandas进行财务数据核对的一般步骤。你可以根据具体的需求和数据情况进行相应的操作和分析。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值