ここで、vがその時間までに生成された部品の集計されたカウンタである場合に生成される分を抽出しようとしています。タイムスタンプを使用しているとき、Azureストリーム分析クエリが結果セットを返さない
マイ紺碧のSQLクエリは
select
x.fqn,
(max(cast(y.arrayvalue.v as BIGINT))-(min(cast(y.arrayvalue.v as BIGINT)))) as ppm
from
(SELECT
TS.ArrayIndex,
TS.ArrayValue.FQN,
TS.ArrayValue.vqts
FROM
[EventHubInput] as hub
timestamp by y.arrayvalue.t
CROSS APPLY GetArrayElements(hub.timeseries) AS TS) as x
cross apply GetArrayElements(x.vqts) AS y
where x.fqn like '%Production%' and y.arrayvalue.q=192
group by tumblingwindow(minute,1),x.fqn
私の入力データは、私のクエリが結果を返さないこの
{
"timeSeries": [
{
"fqn":"MyEnterprise.Gateways.GatewayE.CLX.Tags.StateBasic",
"vqts":[
{
"v": "" ,
"q": 192 ,
"t":"2016-06-24T16:39:45.683+0000"
}
]
}, {
"fqn":"MyEnterprise.Gateways.GatewayE.CLX.Tags.ProductionCount",
"vqts":[
{
"v": 264 ,
"q": 192 ,
"t":"2016-06-24T16:39:45.683+0000"
}
]
}, {
"fqn":".Gateways.GatewayE.CLX.Tags.StateDetailed",
"vqts":[
{
"v": "" ,
"q": 192 ,
"t":"2016-06-24T16:39:45.683+0000"
}
]
} ]
のように見える、以下の通りです。 y.arrayvalue.t でタイムスタンプを削除し、group by節にy.arrayvalue.tを追加すると、何らかの結果が得られます。私は各イベントに1つ以上のタイムスタンプフィールドがあるので、おそらくこれが原因であることに気づいています。最初の配列のタイムデータをタイムスタンプに割り当てることができるかどうかを知りたかったのです。y [0] .t