0

我想使用 SSIS 在 VS 中过滤从 2014-2019 到 2017-2018 的列。我尝试了不同的东西,但似乎都没有。

专栏

数据转换

过滤我有一个问题

4

1 回答 1

0

Derived Column date在您的示例中可能是您​​正在寻找的。

Week列的日期类型为 DT_DBDATE。您的字符串“2017-01-01”应该被提升为数据日期类型,因此布尔检查将确定是否满足下限。

您要么需要创建第二个派生列来检查上限,要么如@vhoang 所示,更改逻辑以仅从日期列中提取年份。

YEAR([Week]) >= 2017 && YEAR([Week]) < 2019

现在,您有一列将每一行标记为是否符合条件(年份是 2017 年或 2018 年)

然后,您将需要对此做一些事情。SSIS 的东西称为条件拆分。我将添加一个名为的新路径,如果年份符合我们的标准OutOfConsideration,那么逻辑将与我们上面的派生列相反。Derived Column date

![Derived Column date]

现在将您的目的地或其他处理步骤连接到 Conditional Split 的默认输出路径。如果您需要对无效数据进行处理,那就是 OutOfConsideration 路径。

最后,要从 SSIS 中获得最佳性能,只需将所需的行放入其中。如果源数据在支持过滤的系统中,则在那里过滤数据。单击单击设计 SSIS 包很容易,但从长远来看,您最好编写自定义查询以仅将所需的列和行带入数据流。减少周围的工作,降低维护成本等

于 2019-12-23T17:37:59.973 回答