Ssis MS集成服务中的数据转换
我正在使用MS Integrations Services,我有一个包,它从sql查询返回一个日期和时间字段。从这个来源,我必须从日期和时间字段中提取小时。一旦我得到时间,我需要建立以下关系:Ssis MS集成服务中的数据转换,ssis,sql-server-2008-r2,etl,Ssis,Sql Server 2008 R2,Etl,我正在使用MS Integrations Services,我有一个包,它从sql查询返回一个日期和时间字段。从这个来源,我必须从日期和时间字段中提取小时。一旦我得到时间,我需要建立以下关系: Hour Reff. <3 0 <6 1 <9 3 ... 这以红色显示,带有不同的错误,无法解析表达式,表达式无效,。。。无论如何,这只会给你一个小时 有人知道我能从谁那里获得所需的信息吗 谢谢您的公式有错误。它应该在双引号中包含所需的日期部分 D
Hour Reff.
<3 0
<6 1
<9 3
...
这以红色显示,带有不同的错误,无法解析表达式,表达式无效,。。。无论如何,这只会给你一个小时
有人知道我能从谁那里获得所需的信息吗
谢谢您的公式有错误。它应该在双引号中包含所需的日期部分
DATEPART("hh",Date_Time)
我创建了一个基本包
OLE_SRC生成日期时间
我使用以下查询生成了一些数据
SELECT
dateadd(hh, D.rn, current_timestamp) AS Date_Time
FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rn
FROM sys.all_columns AS SAC
) D(rn);
计算小时数
我在第一个派生列转换中创建了一个名为Hour的新列,并使用表达式。请注意,列名区分大小写
DATEPART("hh",Date_Time)
计算参考因子
有很多方法可以做到这一点。我使用了一种快速但维护性差的方法,即使用三元运算符来识别Reff的值
([Hour] < 3) ? 0 : ([Hour] < 6) ? 1 : ([Hour] < 9) ? 3 : -1
由于不知道Reff是什么,它看起来像是可以用数学计算出来的东西,但不管你如何得出答案,它都会出现在这里。你的公式中有一个错误。它应该在双引号中包含所需的日期部分
DATEPART("hh",Date_Time)
我创建了一个基本包
OLE_SRC生成日期时间
我使用以下查询生成了一些数据
SELECT
dateadd(hh, D.rn, current_timestamp) AS Date_Time
FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rn
FROM sys.all_columns AS SAC
) D(rn);
计算小时数
我在第一个派生列转换中创建了一个名为Hour的新列,并使用表达式。请注意,列名区分大小写
DATEPART("hh",Date_Time)
计算参考因子
有很多方法可以做到这一点。我使用了一种快速但维护性差的方法,即使用三元运算符来识别Reff的值
([Hour] < 3) ? 0 : ([Hour] < 6) ? 1 : ([Hour] < 9) ? 3 : -1
由于不知道Reff是什么,它看起来像是可以用数学计算出来的东西,但不管你如何得出答案,它都会在这里出现。谢谢Bilinkc,这是非常棒的细节!!正是我需要的。我刚刚在同一个计算小时模块中将表达式更改为FLOORDATEPARThh,Date\u Time/3。伟大的谢谢Bilinkc,这是非常棒的细节!!正是我需要的。我刚刚在同一个计算小时模块中将表达式更改为FLOORDATEPARThh,Date\u Time/3。伟大的