练习七

本次练习目标是从交易数据中标记中可能存在欺诈嫌疑的交易。可能存在欺诈嫌疑的交易需要满足三个条件,分别是:

  • 交易金额(Value)超过1000。
  • 取消(Cancelled)状态为否(N)。
  • 账户类型(Account Type)不是白金账户(Platinum)。白金账户在识别交易欺诈有另外一套规则,所以这里我们需要将其排除。

交易数据文件共有四个,分别为:

  • Transaction Path.csv
    • 用于记录交易路径信息,下载此文件
    • 内容如下图所示:
    • 1692677464657
  • Transaction Detail.csv
    • 交易的明细信息,记录每次交易的明细信息。下载此文件
    • 文件内容如下图所示:
    • 1692677577186
  • Account Information.csv
    • 账户信息,记录账户ID,账户持有人,账户类型,账户余额以及结算日期等信息,下载此文件
    • 文件内容如下图所示:
    • 1692677917034
  • Account Holders.csv
    • 账户持有人信息,包含持有人名称、出生日期、联系号码,联系地址等信息,下载此文件
    • 文件内容如下图所示:
    • 1692678083602

需求

四个文件,和交易相关的文件有两个,分别是Transaction Path.csv和Transaction Detail.csv;和账户相关文件也有两个,分别是:Account Information.csv和Account Holders.csv。在处理时我们可以首先处理交易信息,再处理账户信息,最后通过联接节点将这两种类型的数据联接起来。

处理交易信息

  • 将Transaction Path.csv文件内容加载到BaskAdapt中。
    • 修改样本数据为10000行,使得我们在操作时可以看到所有数据。
    • 将列Account_To和Account_From两列名修改为Account To和Account From。
  • 将Transaction Detail.csv文件内容加载到BaskAdapt中。
    • 修改样本数据为10000行,使得我们在操作时可以看到所有数据。
    • 将Cancelled?列中值为Y的数据过滤掉,只保留值为N的数据。
    • 删除Cancelled?列。
  • 添加一个联接节点。
    • 因为Transaction Path.csv文件和Transaction Detail.csv文件都有Transaction ID字段,所以采用Transaction ID字段将它们联接起来,联接方式为Inner。
  • 在联接节点后添加一清理节点。
    • 移除Transaction ID_1列。
    • 将Value列,也就是交易金额列改为整数类型。
    • 针对Value列使用值范围筛选器,只保留Value列中大于等于1000的数据。

处理账户信息

  • 将Account Information.csv文件内容加载到BaskAdapt中。
  • 添加一清理节点。
    • 该文件中Account Holder ID列存在一个账号有多个持有人的情况,多个持有人ID之间用逗号分隔,所以我们需要将它们进行拆分。
    • Account Holder ID列中多个持有人ID除用逗号分隔外,中间还有空格,所以对于拆分出来的Account Holder ID列需要使用Trim函数去除前后空格。
    • 拆分Account Holder ID列后,原Account Holder ID列可以删除。
  • 因为每个账号存在多个持有人,在拆分出Account Holder ID列后,每个持有人ID都成为一列,接下来需要将拆分出来的Account Holder ID列转换为行。
    • 添加一个转置节点,采用列转行,对拆分出来的Account Holder ID列进行转置。
    • 移除转置1名称。
    • 将转置1的值列名改为Account Holder ID。
    • 去除所有Account Holder ID列中值为null的行,以确保所有的行中Account Holder ID列值都不为空。
    • 将Account Holder ID列数据类型改为整数。
  • 将Account Holders.csv文件内容加载取BaskAdapt中。
  • 添加一清理节点
    • 修改Contract Number列的值,在其值前添加0,使得所有的Contract Number都以0开头。
    • 将Account Holder ID列数据类型改为整数。
  • 将Account Holders.csv文件下的清理节点与Account Information.csv文件下的转置节点进行联接。
    • 联接方式采用Inner,联接字段为两个Account Holder ID。
    • 移除联接后产生的Account Holder ID_1列。

联接交易信息和账户信息

  • 创建一联接节点,将交易信息处理结果与账户信息处理结果联接起来
    • 联接方式为Inner
    • 联接字段为交易信息中的Account From和账户信息中的Account Number。
  • 添加一清理节点
    • 移除Account From字段。
    • 排除Account Type中值为Platinum的记录,也就是将白金账户类型的记录删除。

输出

输出结果如下图所示:

1692683995474

共12个字段,476行。

实现视频

results matching ""

    No results matching ""