SSIS表达式简介、创建教程及实例

146 阅读5分钟

SSIS Expression

什么是SSIS表达式?

  • 我们通常可以将表达式术语定义为符号的排列--标识符、函数、运算符和字面意义,它们只产生一个数据值。此外,一个简单的表达式将只有一个常数、变量或函数。然而,我们可以通过实现各种函数和运算符以及引用众多的变量和列来使一个表达式成为经常使用的复合类型。
  • 但是在SSIS服务中,我们可以说表达式被应用于形成和更新数据列中的值的状态条件,CASE语句,为变量分配值,在执行时修改或占用属性,在优先级约束中描述约束,并交付由For Loop容器实现的表达式。

创建SSIS表达式任务

让我们来看看如何为SSIS连接管理器创建一个表达式任务,如下所示。

在这个插图中,对于一个连接管理器,我们将通过形成两个新的变量来设置一个表达式来存储值,因为服务器和数据库的名称将是不一样的,这取决于目标环境。之后,ConnectionString将在执行时以这些变量的值为中心被建立。因此,首先,需要选择连接管理器,然后在属性窗口中添加所需的表达式为。

SSIS

再次,点击表达式属性上的可用按钮,这将有助于打开其他对话框,选择为连接管理器指定的属性。

SSIS 1

选择 "ConnectionString "作为指定的属性,需要点击表达式按钮,这将进一步加载或打开表达式生成器以创建表达式。如下图所示,通过添加数据库和服务器的变量值,建立起一个连接字符串。

SSIS 2

在这里,现在可以创建一个表达式,并且可以被评估或验证为真或假。

SSIS表达式元素

让我们讨论几个组件,或者说,可以在集成服务中实现表达式的元素。

1.变量可以应用表达式来设置它们的值。例如,GETDATE()有助于将变量值设置为当前日期。

2.与目的地不同,条件分割转换使用了一个决策结构,该结构依赖于表达式来瞄准数据行。

这里使用的这种表达式应该计算为TRUE或FALSE类型。例如,我们可以在提供的表达式中把符合条件的行路由到不同的输出,如 "Column1 > Column2"。

3.衍生列转换实现了由表达式产生的值,用于填充新的列或更新数据流中的现有列。例如,表达式Column1 + "XYZ "可以应用于创建一个新的值,甚至在串联字符串的帮助下修改一个值。

4.For Loop容器也可以实现表达式,用于制作循环结构实现的初始化、估值和递增语句。例如,像@Counter = 1这样的表达式可以设置循环计数器。

5.顺序约束也可以应用表达式,用于识别识别包中受约束的工作或容器是否执行的条件。在这里,实现的表达式应该能够估计到TRUE或FALSE。例如,所提供的表达式如@A>@B将等同于两种用户定义的变量,用于定义受限任务是否执行。

使用SSIS表达式

  • SSIS表达式可以修改容器包的属性,比如Foreach循环和For循环、包、任务和项目级连接日志提供者、管理者,甚至Foreach枚举器。例如,字符串可以作为属性表达式 "Localhost.AdventureWorks "分配给Execute SQL任务中指定的connectionName属性。
  • 在集成服务中,SSIS表达式用于陈述条件,以创建和更新数据列中的值;用于CASE语句,为变量分配值。
  • 此外,SSIS表达式还用于说明优先级约束条件,在运行时改变或占用属性,并给出由For Loop容器实现的表达式。
  • 表达式用于控制流和数据流,包括SSIS表达式生成器的表达式、SSIS变量的表达式、SSIS中的连接管理器、SSIS容器或包的表达式等。

SSIS表达式 常见的例子

让我们看看指定表达式的视觉表现。

在SSDT(SQL Server数据工具)中,会显示一个次要的图像来表示在任务/连接管理器/容器上使用表达式的对象。查看下面的例子,它显示了一个表达式在连接管理器中的应用。

P

使用为SSIS容器定义的表达式。

我们假设有一个根文件夹,我们将通过文件夹中的可用文件来迭代CSV文件,然后将数据记录加载到表中。完成这类任务的最好选择之一是ForEach循环容器。
现在,我们将查看如何实现表达式以在运行时配置文件扩展名和文件夹。

E

文件夹的位置可能因环境不同而不同(如Test、Dev和prod);因此,最好在执行时将文件夹的位置与文件扩展名一起设置。

SSIS Expression 3

之后,你必须选择属性选项 "目录 "并点击表达式按钮。

SSIS Expression 2

现在,在表达式窗口中,你可以添加文件夹的变量名,然后进行计算,如下图所示。

SSIS Expression 1

一旦添加了指定的表达式,你就可以在主窗口中看到表达式。

SSIS Expression

结论

  • 表达式依赖于表达式语言和表达式评估器,表达式评估器分析特定的表达式,并确定该表达式是否符合表达式语言的规则。
  • 这些关于SSIS表达式的信息可以帮助你在开发SSIS包时开始实施表达式。一旦熟悉了基础知识,就可以扩展表达式,包括运算符和函数。

推荐文章

这是一个关于SSIS表达式的指南。这里我们讨论了什么是SSIS表达式,创建SSIS表达式任务,SSIS表达式元素和例子。你也可以看看下面的文章,以了解更多信息