我想使用 SSIS 在 VS 中过滤从 2014-2019 到 2017-2018 的列。我尝试了不同的东西,但似乎都没有。
问问题
677 次
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 回答