3
我有一個時間序列數據集,它既有負數也有非負數。有一個值(-999)表示雲中的nan值。我想要做的是,我想要使用一個總和查詢,將考慮負數。查詢時有沒有辦法省略負數?predix總和查詢非負數只有
我有一個時間序列數據集,它既有負數也有非負數。有一個值(-999)表示雲中的nan值。我想要做的是,我想要使用一個總和查詢,將考慮負數。查詢時有沒有辦法省略負數?predix總和查詢非負數只有
如果我正確理解你的問題,你正在尋找一個Predix Time Series查詢將返回所有的標籤讀取的總和,但是從結果排除任何-999值。
如果是這樣,查詢的身體可能是這樣的:
{"start": "1w-ago",
"tags": [{
"name": "STACK",
"filters": {"measurements": {"values": -999, "condition": "gt"}},
"aggregations": [{"type": "sum", "sampling": {"datapoints": 1}}]
}]
}
我寫了一個小測試腳本與PredixPy SDK演示場景和結果,如果這是對你有幫助。
# Run this is a new space to create services
import predix.admin.app
app = predix.admin.app.Manifest()
app.create_uaa('stack-admin-secret')
app.create_client('stack-client', 'stack-client-secret')
app.create_timeseries()
# Populate some test data into time series
tag = 'STACK'
values = [-999, -5, 10, 20, 30]
ts = app.get_timeseries()
for val in values:
ts.send(tag, val)
# Query and compare against expected result
expected = sum(values[1:])
response = ts.get_datapoints(tag, measurement=('gt', -999), aggregations='sum')
result = response['tags'][0]['results'][0]['values'][0][1]
print(expected, result)
您可能還需要在未來要考慮的是,當數據被攝入使用質量屬性,這樣,而不是在值超過-999更大的過濾可以查詢質量是好還是不確定的。
{"start": "1w-ago",
"tags": [{"name": "STACK",
"filters": {"qualities": {"values": ["3"]}},
"aggregations": [{"type": "sum", "sampling": {"datapoints": 1}}]
}]
}
希望有所幫助。
你能提供一個MWE嗎? – juanmah
@juanmah。什麼是MWE抱歉? – shahidammer
https://en.wikipedia.org/wiki/Minimal_Working_Example – juanmah