Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssis MS集成服务中的数据转换_Ssis_Sql Server 2008 R2_Etl - Fatal编程技术网

Ssis MS集成服务中的数据转换

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

我正在使用MS Integrations Services,我有一个包,它从sql查询返回一个日期和时间字段。从这个来源,我必须从日期和时间字段中提取小时。一旦我得到时间,我需要建立以下关系:

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。伟大的