Recipe Actions
union
Summary
Merge multiple tables and remove duplicate lines.
Format
Output Format:
{
"id":#,
"type":"output",
"inputtables":[#,#,#],
"action":{
"name":"union"
}
}
Notes:
This action can take multiple inputtable tables.
See use-case recipe example_part1.json for usage example.
addconstantfield
Summary
Add a new field to the table that has the same constant entry for each line.
Format
Output Format:
{
"id":#,
"type":"output",
"inputtables":[#,#,#],
"action":{
"name":"addconstantfield",
"newfields":{
"example_field_1":"example_entry_1",
"example_field_2":"example_entry_2"
}
}
}
Notes:
This action can take multiple inputtable tables.
See use-case recipe example_part2.json for usage example.
makecombofield
Summary
Combine two fields into one field.
Format
Output Format:
{
"id":#,
"type":"output",
"inputtables":[#],
"action":{
"name":"makecombofield",
"fieldlist":[
"example_field_1",
"example_field_2"
],
"merge_char":"|",
"combofield":"example_combo_field"
}
}
Notes:
This action can take a single inputtable table.
The above example makes the combined field example_combo_field from example_field_1 and example_field_2.
The entries in each of the fields will merge into the combined field and be separated by the merge character, in the example the charcater is |.
See use-case recipe example_part1.json for usage example.
filterin
Summary
Filter only certain lines from one table into another.
Needs review from Robel.
Format
Output Format:
{
"id":#,
"type":"output",
"inputtables":[#],
"action":{
"name":"filterin",
"operation":"AND",
"conditionlist":[
"field":"example_field_1",
"value":[
"ABC",
"-",
""
],
"operation":"in"
}
}
Notes:
This action can take a single inputtable table.
In the above example, only the lines with the values ABC, -, or an empty field will be included in to a new table.
See use-case recipe example_part2.json for usage example.
Question for Robel: What is the purpose of “operation”?
filterout
Summary
Filter out only certain lines from a table to create a table without those entries.
Needs review from Robel.
Format
Output Format:
{
"id":#,
"type":"output",
"inputtables":[#],
"action":{
"name":"filterout",
"operation":"AND",
"conditionlist":[
"field":"example_field_1",
"value":[
"DEF"
"123"
"456"
],
"operation":"in"
}
}
Notes:
This action can take a single inputtable table.
In the above example, lines with the values DEF, 123, or 456 in the field example_field_1 will be excluded from a new table, and all other lines with other values for that field will be included.
See use-case recipe example_part1.json for usage example.
Question for Robel: What is the purpose of “operation”?
expandrows
Summary
For a single line that has a field with multiple data points in one field, create multiple lines where each line has a single data point from that field.
Format
Output Format:
{
"id":#,
"type":"output",
"inputtables":[#],
"action":{
"name":"expandrows",
"expansionfield":"example_field_1",
"expansiondelim":";"
}
}
}
Notes:
This action can take a single inputtable table.
In the above example, the field exmple_field_1 will be used to expand rows. For every line that has the expansion delim ;, the data in that row will be separated and a new line created for each data point.
An example:
Table input: “example_field_1” “data_point_1;data_point_2”,”information_abc”
Table output from expandrows above: “example_field_1”,”example_field_2” “data_point_1”,”information_abc” “data_point_2”,”information_abc”
See use-case recipe example_part2.json for usage example.
transposecols
Summary
The rows switch with columns and vice versa(?)
Needs review from Robel.
Format
Output Format:
{
"id":#,
"type":"output",
"inputtables":[#],
"action":{
"name":"transposecols",
"startcolidx":1,
"newfieldone":"new_example_field_1"
"newfieldtwo":"new_example_field_2"
}
}
}
Notes:
This action can take a single inputtable table.
See use-case recipe example_part2.json for usage example.
Question for Robel: How is this action used?
addnormalizedcol
Summary
Create a new column that takes the numerical data from an existing column and normalizes the numbers according to (?)
Needs review from Robel.
Format
Output Format:
{
"id":#,
"type":"output",
"inputtables":[#],
"action":{
"name":"addnormalizedcol",
"startcolidx":1,
"newfield":"normalized_example_field_1"
"anchorfields":["example_field_2"]
}
}
}
Notes:
This action can take a single inputtable table.
See use-case recipe example_part2.json for usage example.
Question for Robel: How is normalization calculated?
addaveragecol
Summary
Create a new column that takes the numerical data from an existing column and averages the numbers according to (?)
Needs review from Robel.
Format
Output Format:
{
"id":#,
"type":"output",
"inputtables":[#],
"action":{
"name":"addaveragecol",
"field":"example_field_1",
"newfield":"average_example_field_1"
"anchorfields":["example_field_2"]
}
}
}
Notes:
This action can take a single inputtable table.
See use-case recipe example_part2.json for usage example.
Question for Robel: How is the average being calculated?
splitcol
Summary
Split a single column into two separate columns after specifying a deliminating character that separates the values.
Format
Output Format:
{
"id":#,
"type":"output",
"inputtables":[#],
"action":{
"name":"splitcol",
"field":"example_field_1",
"newfields":["example_field_1a","example_field_1b"],
"delim":"|"
}
}
}
Notes:
This action can take a single inputtable table.
See use-case recipe example_part1.json for usage example.
jointables
Summary
Create a new table that uses an anchor field to combine columns from multiple tables. Data with the same anchor field value will be added to the same row in the new field.
Format
Output Format:
{
"id":#,
"type":"output",
"inputtables":[#,#,#],
"action":{
"name":"jointables",
"anchorfields":["example_field_1","example_field_2"]
}
}
}
Notes:
This action can take multiple inputtable table.
See use-case recipe example_part1.json for usage example.