• 数据仓库ETL案例学习(一)


    来自课程案例学习  

    某跨国食品超市的信息管理系统,每天都会记录成千上万条各地连锁超市的销售数据。基于大数据的背景,该公司的管理层决定建立FoodMart数据仓库,期望能从庞大的数据中挖掘出有商业价值的信息,来进一步帮助管理层进行决策。

    设计一个销售数据仓库。要求:

    1、至少4个维度,每个维度至少3个属性,尽量包含维层。

    2、至少1个事实表。

    3、数据源能获取(设计的维度和度量字段应该在数据源中直接或间接得到)。

    * 以下使用SQL Server Integration Services (SSIS) 

    (一)设计数据仓库概念模型,设计如下:

    * 可以根据自己的想法设计概念模型,可以是雪花型,可以是星型

    (二)数据仓库数据源、数据视图、维度表装载

    1.建立一个项目

     

    2.将数据集导入sql server(本文将access数据库先转到sql server,再在SSIS里使用,也可以直接在SSIS里使用Access驱动)

     

     

      

    3.建立与sql server的连接

     

    4.依次装载数据产品维、顾客维、日期维、连锁店维、促销维。

    产品维中涉及两个表product、product_class,根据生成查询获得了想要的数据

     

    目标编辑器选择新建表来存入数据仓库。

     

    同理装载商品维

    同理装载促销维

     

    装载客户维

    同理装载时间维

    这里需要将时间字符串进行分割,使用派生列和日期函数,分别建立年、月、日(ps:这里不需要手动建立时间维,数据仓库提供了建立时间维的模板,这里后面会提到)

    5.装载事实表

    这里需要对汇率进行转换,将saledetail表和currency分别处理(查找、派生、排序等)后通过合并转换的内连接,使得汇率与交易的地区相对应,再加派生列,计算所得的利润。具体的细节如下:

    1)   需要将currency的地区和日期与saledetail地区与日期做处理,才能够相对应

    2)两边的数据进行内连接

     

    3)通过派生列计算利润

     

    4)装载数据成功,共计251395行

     

    6.结果如下:

     

    在SQL数据库里可以查看装载好的数据仓库

    7.在Sql数据库中设置每周六晚24时自动执行装载新业务数据

    要把所有者改为[sa],才可以运行成功

     

     欢迎小伙伴的批评指正~

  • 相关阅读:
    React之JSX语法
    Visual Studio Code 使用 Typings 实现智能提示功能
    React.js 之hello word
    Linux命令详解-cd
    Linux命令详解-ls
    linux常用命令
    LINUX系统配置相关
    netsh
    Visual Studio
    乘法算术表
  • 原文地址:https://www.cnblogs.com/EVA-YANG/p/11874447.html
Copyright © 2020-2023  润新知