2017-11-25 8 views
3

私は、負の数と非負の数を持つtimeseriesデータセットを持っています。雲の中にナノ値を示す値(-999)があります。私がしたいことは、負の数を考慮に入れた合計クエリを使用することです。クエリ中に負の数を省略する方法はありますか?非負の数値に対するプレミックス合計クエリ

+0

MWEを提供できますか? – juanmah

+0

@ juanmah。 MWEとは何ですか? – shahidammer

+0

https://en.wikipedia.org/wiki/Minimal_Working_Example – juanmah

答えて

2

あなたの質問を正しく理解している場合、すべてのタグの読み取り値の合計を返しますが、結果から-999の値を除外するクエリはPredix Time Seriesです。

もしそうなら、照会本体は、次のようになります。

{"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}}] 
     }] 
} 

希望します。

関連する問題