Lookup Mapping¶
The Lookup Mapping node finds the mapping relationship as per the given CSV mapping file and output the specified mapping data to msg.
To aggregate multiple values, the CSV file must have a column with dataType
header name where data in the input msg will be displayed in the output msg according to the specified dataType
in the CSV if mapping is successful.
Note
The node is only for querying the mapping relationship. The structuring of the subsequent standard device measurement points would require other nodes.
Node Type¶
IoT Hub.
Input and Output Ability¶
This node has 1 entry point and 1 exit point. Both the input and output are JSON.
Node Properties¶
Name
The name for this node.
Mapping File
Upload the CSV mapping file here. You can click the Download Template icon to download a template to use, click the Upload icon to upload the file, or click the Download icon to download the file that has been uploaded.
Mapping Results
Choose from the list of column headers, taken from the mapping file, to set as the output after mapping. You can choose more than one.
The CSV file must have a column with dataType
header name if the aggregation of multiple values is required. Available dataType
values are as per the below.
number
: numericstring
: textarray<number>
: numeric arrayarray<string>
: string arrayboolean
Mapping Key
Choose from the list of column headers, taken from the mapping file, to set as the mapping key. You can choose more than one.
Mapping Value
By default, data in the input msg will be output to the output msg according to the dataType
if mapping is successful (see Sample 1). To output a particular data, specify it using expression, for example ${msg.value} (see Sample 5). Data not specified will not be in the output msg.
Description
The description for this node.
Limitations¶
Maximum number of records in mapping file: 50,000
Maximum mapping file size: 2M
Currently can only upload CSV files as the mapping file.
Can only specify 1 value for Mapping Value.
Samples¶
The samples below are based on a CSV file with the following data.
Key1 |
Key2 |
Key3 |
dataType |
---|---|---|---|
AI000001 |
1KaobBq4I |
AO-BOOL-ARRAY |
array<string> |
AI000001 |
2KaobBq4I |
AO-BOOL-STRING |
string |
AI000001 |
3KaobBq4I |
AO-BOOL-STRING2 |
string |
AI000001 |
4KaobBq4I |
AO-BOOL-ARRAY |
array<string> |
AI000002 |
1KaobBq4I |
AO-BOOL-ARRAY |
array<string> |
AI000002 |
6KaobBq4I |
AO-BOOL-STRING |
string |
AI000003 |
7KaobBq4I |
AO-BOOL-ARRAY |
array<string> |
AI000004 |
8KaobBq4I |
AO-BOOL-FLOAT |
number |
Input and Output Samples¶
Sample 1 ¶
Mapping Results: Key2, Key3
Mapping Key: Key1
Input¶
[
{
"Key1": "AI000003", //Key1 is the mapping key
"value": "88",
"color": "blue",
"type": "circle",
}
]
Output¶
[
{
"Key1": "AI000003",
"value": "88",
"color": "blue",
"type": "circle",
"Key2": "7KaobBq4I",
"Key3": "AO-BOOL-ARRAY"
}
]
Sample 2¶
Mapping Results: Key3
Mapping Key: Key1, Key2
Input¶
[
{
"Key1": "AI000004", //Key1 and Key2 are the mapping keys
"Key2": "8KaobBq4I",
"value": "77"
}
]
Output¶
[
{
"Key1": "AI000004",
"Key2": "8KaobBq4I",
"value": "77",
"Key3": "AO-BOOL-FLOAT"
}
]
Sample 3¶
Mapping Results: Key2, Key3
Mapping Key: Key1
Mapping Value: ${msg.value}
Input¶
[
{
"Key1": "AI000001",
"value": "5"
},
{
"Key1": "AI000002",
"value": "6"
}
]
Output¶
[
{
"Key2": "6KaobBq4I",
"Key1": "AI000002",
"value": "6",
"Key3": "AO-BOOL-STRING"
},
{
"Key2": "2KaobBq4I",
"Key1": "AI000001",
"value": "5",
"Key3": "AO-BOOL-STRING"
},
{
"Key2": "3KaobBq4I",
"Key1": "AI000001",
"value": "5",
"Key3": "AO-BOOL-STRING2"
},
{
"Key2": "4KaobBq4I",
"value": [
"5"
],
"Key3": "AO-BOOL-FLOAT"
},
{
"Key2": "1KaobBq4I",
"value": [
"6",
"5"
],
"Key3": "AO-BOOL-ARRAY"
}
]
Sample 4¶
Mapping Results: Key2, Key3
Mapping Key: Key1
Input¶
[
{
"Key1": "AI000001",
"value": "18"
}
]
Output¶
[
{
"Key2": "1KaobBq4I",
"Key1": "AI000001",
"value": "18",
"Key3": "AO-BOOL-ARRAY"
},
{
"Key2": "2KaobBq4I",
"Key1": "AI000001",
"value": "18",
"Key3": "AO-BOOL-STRING"
},
{
"Key2": "3KaobBq4I",
"Key1": "AI000001",
"value": "18",
"Key3": "AO-BOOL-STRING2"
},
{
"Key2": "4KaobBq4I",
"Key1": "AI000001",
"value": "18",
"Key3": "AO-BOOL-ARRAY"
}
]
Sample 5 ¶
Mapping Results: Key2, Key3
Mapping Key: Key1
Mapping Value: ${msg.color}
Input¶
[
{
"Key1": "AI000003",
"value": "7",
"color": "blue",
"type": "circle"
}
]
Output¶
[
{
"Key2": "7KaobBq4I",
"color": [
"blue"
],
"Key3": "AO-BOOL-ARRAY"
}
]