截断到分钟
Truncated to the minute
我在 "Azure Stream Analytics" 工作中编写了这段代码。
SELECT
DateAdd(minute,-1,System.TimeStamp) AS WinStart,
System.TimeStamp AS WinEnd,
turnstile,
COUNT(*) AS entries
INTO [output-blobstorage]
FROM [input-iot] TIMESTAMP BY entrytime
GROUP BY turnstile, SlidingWindow (duration(second, 60))
我想将 "WinStart" 和 "WinEnd" 截断为分钟。
例如:如果 WinStart 是“2018-06-08T18:15:01.5160000Z”,我想要“2018-06-08T18:15:00.0000000Z”
这是我的结果文件:
另一方面,我想根据 "turnstile" 和基于分钟的 SlidingWindows 对我的结果进行分组。
但现在我在第一列中有 second 和 mi-sec。
也许将两者结合起来 - 使用 DatePart and composing it back using DateTimeFromParts 分解日期并使用零表示秒和毫秒。
DATETIMEFROMPARTS(DATEPART(yyyy,WinStart),
DATEPART(mm,WinStart),DATEPART(dd,WinStart), DATEPART(hh,WinStart),
DATEPART(mi,WinStart), 0, 0) As WinStartRounded
或者您想要 HoppingWindow 而不是 SlidingWindow?以便 windows 与 1 分钟边界对齐:
谢谢杰森
我通过以下查询解决了这个问题
SELECT
DATETIMEFROMPARTS(
DATEPART(yyyy,DateAdd(minute,-1,System.TimeStamp)),
DATEPART(mm,DateAdd(minute,-1,System.TimeStamp)),
DATEPART(dd,DateAdd(minute,-1,System.TimeStamp)),
DATEPART(hh,DateAdd(minute,-1,System.TimeStamp)),
DATEPART(mi,DateAdd(minute,-1,System.TimeStamp)), 0, 0)
As WinStart,
DATETIMEFROMPARTS(
DATEPART(yyyy,System.TimeStamp),
DATEPART(mm,System.TimeStamp),
DATEPART(dd,System.TimeStamp),
DATEPART(hh,System.TimeStamp),
DATEPART(mi,System.TimeStamp), 0, 0) As WinEnd,
turnstile,
COUNT(*) AS entries
INTO [output-blobstorage]
FROM [input-iot] TIMESTAMP BY entrytime
GROUP BY
turnstile,
HoppingWindow (duration(second, 60),hop(second, 60))
我在 "Azure Stream Analytics" 工作中编写了这段代码。
SELECT
DateAdd(minute,-1,System.TimeStamp) AS WinStart,
System.TimeStamp AS WinEnd,
turnstile,
COUNT(*) AS entries
INTO [output-blobstorage]
FROM [input-iot] TIMESTAMP BY entrytime
GROUP BY turnstile, SlidingWindow (duration(second, 60))
我想将 "WinStart" 和 "WinEnd" 截断为分钟。
例如:如果 WinStart 是“2018-06-08T18:15:01.5160000Z”,我想要“2018-06-08T18:15:00.0000000Z”
这是我的结果文件:
另一方面,我想根据 "turnstile" 和基于分钟的 SlidingWindows 对我的结果进行分组。
但现在我在第一列中有 second 和 mi-sec。
也许将两者结合起来 - 使用 DatePart and composing it back using DateTimeFromParts 分解日期并使用零表示秒和毫秒。
DATETIMEFROMPARTS(DATEPART(yyyy,WinStart),
DATEPART(mm,WinStart),DATEPART(dd,WinStart), DATEPART(hh,WinStart),
DATEPART(mi,WinStart), 0, 0) As WinStartRounded
或者您想要 HoppingWindow 而不是 SlidingWindow?以便 windows 与 1 分钟边界对齐:
谢谢杰森
我通过以下查询解决了这个问题
SELECT
DATETIMEFROMPARTS(
DATEPART(yyyy,DateAdd(minute,-1,System.TimeStamp)),
DATEPART(mm,DateAdd(minute,-1,System.TimeStamp)),
DATEPART(dd,DateAdd(minute,-1,System.TimeStamp)),
DATEPART(hh,DateAdd(minute,-1,System.TimeStamp)),
DATEPART(mi,DateAdd(minute,-1,System.TimeStamp)), 0, 0)
As WinStart,
DATETIMEFROMPARTS(
DATEPART(yyyy,System.TimeStamp),
DATEPART(mm,System.TimeStamp),
DATEPART(dd,System.TimeStamp),
DATEPART(hh,System.TimeStamp),
DATEPART(mi,System.TimeStamp), 0, 0) As WinEnd,
turnstile,
COUNT(*) AS entries
INTO [output-blobstorage]
FROM [input-iot] TIMESTAMP BY entrytime
GROUP BY
turnstile,
HoppingWindow (duration(second, 60),hop(second, 60))