Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
If you want to normalize the incoming events in a Stream Analytics job and transform records with the following format:
Time | Id | P1 | P2 | P3 |
---|---|---|---|---|
2015-12-16T10:00:01.0000000Z | 01 | 15 | 30 | 10 |
2015-12-16T10:00:01.0000000Z | 02 | 25 | 40 | 20 |
2015-12-16T10:00:01.0000000Z | 03 | 45 | 18 | 5 |
2015-12-16T10:00:01.0000000Z | 04 | 20 | 23 | 56 |
to the following format:
Time | Id | Type | Value |
---|---|---|---|
2015-12-16T10:00:01.0000000Z | 01 | P1 | 15 |
2015-12-16T10:00:01.0000000Z | 01 | P2 | 30 |
2015-12-16T10:00:01.0000000Z | 01 | P3 | 10 |
2015-12-16T10:00:01.0000000Z | 02 | P1 | 25 |
2015-12-16T10:00:01.0000000Z | 02 | P2 | 40 |
2015-12-16T10:00:01.0000000Z | 02 | P3 | 20 |
2015-12-16T10:00:01.0000000Z | 03 | P1 | 45 |
2015-12-16T10:00:01.0000000Z | 03 | P2 | 18 |
2015-12-16T10:00:01.0000000Z | 03 | P3 | 5 |
2015-12-16T10:00:01.0000000Z | 04 | P1 | 20 |
2015-12-16T10:00:01.0000000Z | 04 | P2 | 23 |
2015-12-16T10:00:01.0000000Z | 04 | P3 | 56 |
you can use the GetRecordProperties function and CROSS APPLY operator as shown by the following query:
SELECT e.Time, e.Id, record.PropertyName as Type, record.PropertyValue AS Value
FROM Events e
CROSS APPLY GetRecordProperties (e) AS record
WHERE record.PropertyName = 'p3' OR
record.PropertyName = 'p2' OR
record.PropertyName = 'p3'
You can use the following input file to test the Stream Analytics query on the Azure Management portal.
[
{
"Time": "2015-12-16T10:00:01.0000000Z",
"Id": "01",
"P1": 15,
"P2": 30,
"P3": 10,
},
{
"Time": "2015-12-16T10:00:01.0000000Z",
"Id": "02",
"P1": 25,
"P2": 40,
"P3": 20,
},
{
"Time": "2015-12-16T10:00:01.0000000Z",
"Id": "03",
"P1": 45,
"P2": 18,
"P3": 5,
},
{
"Time": "2015-12-16T10:00:01.0000000Z",
"Id": "04",
"P1": 20,
"P2": 23,
"P3": 56,
}
]
Running the query against the test file returns the following dataset:
Time | Id | Type | Value |
---|---|---|---|
2015-12-16T10:00:01.0000000Z | 01 | P1 | 15 |
2015-12-16T10:00:01.0000000Z | 01 | P2 | 30 |
2015-12-16T10:00:01.0000000Z | 01 | P3 | 10 |
2015-12-16T10:00:01.0000000Z | 02 | P1 | 25 |
2015-12-16T10:00:01.0000000Z | 02 | P2 | 40 |
2015-12-16T10:00:01.0000000Z | 02 | P3 | 20 |
2015-12-16T10:00:01.0000000Z | 03 | P1 | 45 |
2015-12-16T10:00:01.0000000Z | 03 | P2 | 18 |
2015-12-16T10:00:01.0000000Z | 03 | P3 | 5 |
2015-12-16T10:00:01.0000000Z | 04 | P1 | 20 |
2015-12-16T10:00:01.0000000Z | 04 | P2 | 23 |
2015-12-16T10:00:01.0000000Z | 04 | P3 | 56 |