练习六

本次练习的处理数据是一份调查报告,这是一份某个APP在移动端及PC端用户使用体验的调用报告。点击下载这份名为Survery.csv的文件。

输入数据

这份名为Survery.csv的文件内容如下图所示:

1692585515351

Mobile App开头的列代表使用移动端信息,以Online Interface开头的列代表使用PC端的信息。

需求

  • 使用BaskAdapt加载这份数据。
  • 添加转置节点,将Mobile App开头的列和Online Interface开头的列进行列转行。

    • 转置后新列名为Mobile App和Online Interface。
    • 转置后使用移动端和使用PC端的数据各占一列。
    • 转置后每个用户对应的移动端和PC端数据各有5条。
  • 添加一个清理字段,对转置名称里进行拆分,抽取出其中的问题部分

    • 就是将该列中以Mobile App开头和Online Interface开头的内容去除就是问题部分。
  • 对拆分出来的部分列重命名为Question。
  • 原转置名称列删除。
  • 将Question列中的Overall Rating值排除,也就是将总评分数据删除,使得每个客户下都在PC端和移动端下都只有四个问题。
  • 添加一个聚合节点,用于计算每个客户下Mobile App和Online Interface字段的平均分

    • 以Customer ID为分组字段,Mobile App和Online Interface添加到聚合节点中,聚合方式改为平均值。
    • 结果为由Customer ID和Mobile App及Online Interface组成的三列数据。
  • 添加一个清理节点。
  • 创建一个名为Difference的计算字段,值为Online Interface列减去Mobile App列,以获取每个用户下PC端与移动端平均值的差值。
  • 根据这个名为Difference列产生的差值,对客户进行分类。

    • 创建一个名为Preference的计算字段,表达式内容如下所示:
    • if ([Difference]<=-2){
          return "Mobile App Superfan"
      }else if ([Difference]<=-1){
          return "Mobile App Fan"
      }else if ([Difference]>=2){
          return "Online Interface Superfan"
      }else if ([Difference]>=1){
          return "Online Interface Fan"
      }else{
          return "Neutral"
      }
      

      该段脚本含义比较简单,就是根据上一步产生的名为Difference的计算字段值大小返回一个字符串。

  • 根据Preference列产生的类别值,计算每个类别中客户的占比,四舍五入到小数点后一位。

    • 添加一个聚合节点,以Preference列对数据进行分组,添加Customer ID列,聚合方式为计数。这样就可以获取每个类别下客户的数量。
    • 添加一个清理节点,创建一个名为Total Customers计算字段,用于计算总的用户数量(Customer ID数量),该计算字段表达式内容如下:
    • {Fixed : Sum([Customer ID]))}
      

      该表达式采用Fixed表达式,因为要计算所有数据的Customer ID值的总数,所以Fixed表达式没有定义列。

    • 创建一个名为% of Total的计算字段,表达式内容如下:
    • Round(([Customer ID]/[Total Customers])*100,1)
      
    • 通过上面的表达式就可以计算出每个Preference类别值客户的占比,最后使用Round函数四舍五入到小数点后一位。

输出

1692588535773

输出结果为两个字段,五行数据。

实现视频

results matching ""

    No results matching ""