Azure Stream Analytics - сначала через x минут после текущего - PullRequest
0 голосов
/ 21 февраля 2019

При выборе мне нужно получить первый ряд через 15 минут от текущего.

Я пытался сделать это следующим образом

Примечание: перед этим я делаю TIMESTAMPa.timestamp

Select

SELECT Lag(a) Over (Partition By a.imdate Limit Duration(hour, 12) When a.timestamp < DATEADD(minute, -15, System.Timestamp))
From a

Моя проблема заключается в том, что System.Timestamp имеет значение события, наблюдаемого лагом, а не того, которое наблюдается снаружи, что приводит к нулю.

Итак, в примере

[
  {
    "timestamp": "2018-12-14T08:30:05.571Z",
    "imdate": 96699
  },
  {
    "timestamp": "2018-12-14T08:16:03.571Z",
    "imdate": 96699
  },
  {
    "timestamp": "2018-12-14T08:03:02.571Z",
    "imdate": 96699
  }
]

я бы хотел, чтобы задержка предоставила мне 3-е событие при рассмотрении как первого, так и второго.

, но в примереиз

[
  {
    "timestamp": "2018-12-14T08:30:05.571Z",
    "imdate": 96699
  },
  {
    "timestamp": "2018-12-14T08:24:03.571Z",
    "imdate": 96699
  },
  {
    "timestamp": "2018-12-14T08:23:02.571Z",
    "imdate": 96699
  }
]

Я хотел бы, чтобы задержка предоставляла мне нулевое значение для всех из них.

или, в выборке

[
  {
    "timestamp": "2018-12-14T08:55:05.571Z",
    "imdate": 96699
  },
  {
    "timestamp": "2018-12-14T08:24:03.571Z",
    "imdate": 96699
  },
  {
    "timestamp": "2018-12-14T08:23:02.571Z",
    "imdate": 96699
  }
]

Я бы хотел отставаниепредоставить мне 2-е событие при наблюдении первого, но нулевое при наблюдении 2-го.

Итак, по сути, первое событие произойдет после последних 15 минут.

Есть идеи, как мне этого добиться?

...