《BI那点儿事》数据流转换——透视

简介: 原文:《BI那点儿事》数据流转换——透视这个和T-SQL中的PIVOT和UNPIVOT的作用是一样的。数据透视转换可以将数据规范或使它在报表中更具可读性。 通过透视列值的输入数据,透视转换将规范的数据集转变成规范程度稍低、但更为简洁的版本。
原文: 《BI那点儿事》数据流转换——透视

这个和T-SQL中的PIVOT和UNPIVOT的作用是一样的。数据透视转换可以将数据规范或使它在报表中更具可读性。

通过透视列值的输入数据,透视转换将规范的数据集转变成规范程度稍低、但更为简洁的版本。例如,在列有客户名称、产品和购买数量的规范的 Orders 数据集中,任何购买多种产品的客户都有多行,每一行显示一种产品的详细订购信息。此时,如果对产品列透视数据集,透视转换可以输出每个客户只有一行的数据集。这一行列出该客户购买的所有产品,产品名称显示为列名,而数量则显示为产品列的值。并非每个客户都购买所有产品,所以很多列可能包含空值。
透视数据集时,输入列在透视过程中扮演不同的角色。列可以按以下方式参与:

  • 将列原封不动地传递到输出。因为有许多输入行只能产生一个输出行,所以转换只复制列的第一个输入值。
  • 列作为一组记录的标识键或标识键的一部分。
  • 列定义透视。此列中的值与已透视数据集中的列相关联。
  • 列包含置于透视所创建的列中的值。

生成测试数据:

CREATE TABLE FactOrders
    (
      Id INT IDENTITY ,
      Cust VARCHAR(50) ,
      Product VARCHAR(50) ,
      Qty INT
    )
    
INSERT  INTO FactOrders
        ( Cust ,
          Product ,
          Qty
        )
        SELECT  'Kate' ,
                'Ham' ,
                2
        UNION ALL
        SELECT  'Kate' ,
                'Soda' ,
                6
        UNION ALL
        SELECT  'Kate' ,
                'Milk' ,
                1
        UNION ALL
        SELECT  'Kate' ,
                'Beer' ,
                12
        UNION ALL
        SELECT  'Fred' ,
                'Milk' ,
                3
        UNION ALL
        SELECT  'Fred' ,
                'Beer' ,
                24
        UNION ALL
        SELECT  'Fred' ,
                'Chips' ,
                2
                
SELECT  *
FROM    FactOrders

 

配置示例数据集
关系图中显示的示例数据集的具体配置如下:将 Cust 列的 PivotUsage 属性设置为 1,以指示这是设置键列;将 Product 输入列的 PivotUsage 属性设置为 2,以指示必须为每个产品创建一列;将 Qty 输入列的 PivotUsage 属性设置为 3,以指示将数量值放入透视列。
将转换输出设置为包含六个列。这些列可以使用“高级编辑器”对话框进行添加,分别命名为 Cust、Ham、Soda、Milk、Beer 和 Chips。将 Ham 列的 PivotKeyValue 属性设置为 Ham,以指示转换应在输入列中查找该值。同样,将 Soda 列的 PivotKeyValue 属性设置为 Soda,依此类推。
然后将转换输入中的列映射到输出中的列。
将 Cust 列的 SourceColumn 属性配置为使用 Cust 输入列的沿袭标识符。将 Ham、Soda、Milk、Beer 和 Chips 各列的 SourceColumn 属性配置为使用 Qty 输入列的沿袭标识符。进行此配置的另一种方法是将 Ham、Soda、Milk、Beer 和 Chips 各列的 SourceColumn 属性设置为 -1,这将插入 True 值而非数据值。例如,这样 Beer 列就不会包含值 12 和 24 而是包含值 True,以便仅指示该客户购买了产品,但不显示购买数量。
转换输出中的行包含来自 Cust 和 Qty 输入列的值。

目录
相关文章
|
BI
《BI那点儿事》数据流转换——审核
原文:《BI那点儿事》数据流转换——审核 审核转换允许对数据流添加审核审核数据,以往使用HIPPA和Sarbanes-Oxley (SOX)时,必须跟踪谁在什么时插入数据,审核转换可以实现这种功能。例如要跟踪那一个task向表里插入数据,可以在审核转换中添加相应的列。
897 0
|
BI 缓存
《BI那点儿事》数据流转换——聚合
原文:《BI那点儿事》数据流转换——聚合 聚合转换可以像T-SQL中的函数GROUP BY, Average, Minimum, Maximum, 和 Count一样对数据进行聚合运算。在图中可以看到数据以SampleID分组,对TotalSugar做Average、Maximum、Minimum、Count操作。
950 0
|
BI
《BI那点儿事》数据流转换——数据转换
原文:《BI那点儿事》数据流转换——数据转换 数据转换执行类似于T-SQL中的函数CONVERT或CAST的功能。数据转换的编辑界面如图,选择需要转换的列,在DataType下拉列表中选择需要的数据类型。Output Alias栏内设置输出时使用的别名。
1035 0
|
BI
《BI那点儿事》数据流转换——字符映射表
原文:《BI那点儿事》数据流转换——字符映射表 特征映射转换如图展示数据流中列的特征,它的编辑界面很简单,只有一个标签界面,点击要进行映射的列,可以选择需要添加新列或需要更新的列。可以在Output Alias列中给原来的列一个别名,选择要进行的操作,可以进行的操作类型有: Byte Rev...
882 0
|
BI
《BI那点儿事》数据流转换——条件性拆分
原文:《BI那点儿事》数据流转换——条件性拆分 根据条件分割数据是一个在数据流中添加复杂逻辑的方法,它允许根据条件将数据输出到其他不同的路径中。例如,可以将TotalSugar< 27.4406的输出到一个路径,TotalSugar >= 27.4406的输出到另一个路径。
711 0
|
存储 BI
《BI那点儿事》数据流转换——派生列
原文:《BI那点儿事》数据流转换——派生列 派生列转换通过对转换输入列应用表达式来创建新列值。 表达式可以包含来自转换输入的变量、函数、运算符和列的任意组合。 结果可作为新列添加,也可作为替换值插入到现有列。
1010 0
|
BI
《BI那点儿事》数据流转换——排序
原文:《BI那点儿事》数据流转换——排序 排序转换允许对数据流中的数据按照某一列进行排序。这是五个常用的转换之一。连接数据源打开编辑界面,编辑这种任务。不想设置为排序列的字段不要选中,默认情况下所有列都会选中。
871 0
|
BI 数据挖掘
《BI那点儿事》数据流转换——百分比抽样、行抽样
原文:《BI那点儿事》数据流转换——百分比抽样、行抽样 百分比抽样和行抽样可以从数据源中随机选择一组数据。这两种task都可以产生两组输出,一组是随机选择的,另一组是没有被选择的。可以将这些选择出的数据发送到开发或者测试服务器上。
924 0
|
BI
《BI那点儿事》数据流转换——逆透视转换
原文:《BI那点儿事》数据流转换——逆透视转换   逆透视转换将来自单个记录中多个列的值扩展为单个列中具有同样值的多个记录,使得非规范的数据集成为较规范的版本。例如,每个客户在列出客户名的数据集中各占一行,在该行的各列中显示购买的产品和数量。
896 0
|
6月前
|
传感器 数据可视化 搜索推荐
瓴羊Quick BI助力深圳光明环境水务公司举办水务数据应用大会暨第二届“光环杯”BI应用大赛
瓴羊Quick BI助力深圳光明环境水务公司举办水务数据应用大会暨第二届“光环杯”BI应用大赛
126 0

热门文章

最新文章