原文:
《BI那点儿事》数据流转换——派生列
派生列转换通过对转换输入列应用表达式来创建新列值。 表达式可以包含来自转换输入的变量、函数、运算符和列的任意组合。 结果可作为新列添加,也可作为替换值插入到现有列。 派生列转换可定义多个派生列,任何变量或输入列都可以出现在多个表达式中。
可以使用此转换执行下列任务:
- 将不同列的数据连接到一个派生列中。 例如,可以使用表达式 FirstName + " " + LastName 将 FirstName 和 LastName 列中的值组合到名为 FullName 的单个派生列中。
- 通过使用 SUBSTRING 之类的函数从字符串数据中提取字符,然后将结果存储到派生列中。 例如,可以使用表达式 SUBSTRING(FirstName,1,1) 从 FirstName 列提取人名的首字母。
- 对数值数据应用数学函数,然后将结果存储到派生列中。 例如,可以使用表达式 ROUND(SalesTax, 2) 将数值列 SalesTax 的值更改为精确到小数点后两位。
- 创建比较输入列和变量的表达式。 例如,可以使用表达式 ProductVersion == @Version? ProductVersion : @Version 来比较变量 Version 与 ProductVersion 列中的数据,然后根据比较结果决定选用 Version 还是 ProductVersion 的值。
- 提取日期时间值的某部分。 例如,可以通过表达式 DATEPART("year",GETDATE()) 使用 GETDATE 和 DATEPART 函数提取当前年份。
- 使用表达式将日期字符串转换为特定格式。