Arguments from config¶
Sometimes it is necessary to make function calls dynamic. To achieve this, you may use the following functions to look up function arguments in a config table.
This is useful for situations where you want to reuse a variable library, while automatically altering its configuration based on where it is used in the company hierarchy.
getFormulaFromConfig¶
Get a formula from a config table and inject it into the current formula.
getFormulaFromConfig(
TableName,
RowLookup="dynamicRowLookup",
ColumnLookup=varName,
errIgnore=FALSE,
valueOnError=0
)
Arguments¶
TableName- Name of the config table range. If this is a direct reference, it has to be in quotation marks (e.g.
"t_Inputs"). RowLookup- Lookup string to determine the appropriate row index. Defaults to
"dynamicRowLookup", which means that the string in the first cell of the table will be used to construct the lookup based on the properties of the projection node. ColumnLookup- Lookup string to determine the appropriate column index. Defaults to the name of the variable that uses this function.
errIgnore- Whether to ignore a missing column or row lookup. If
FALSE, a runtime error will be raised for the missing lookup. The default is to raise an error for missing lookups. valueOnError- The value to return if the column is missing.
Examples¶
To get the value of the Formula column of the t_Formulae table:
getFormulaFromConfig("t_Formulae",,"Formula")
The result can be used inside other formulas:
10 * getFormulaFromConfig("t_Formulae",,"Formula") + 1
You can also use it multiple times in the same formula:
csvToTable(
getFormulaFromConfig("t_PROPHET_TEXT_OUTPUT",,"Path"),
getFormulaFromConfig("t_PROPHET_TEXT_OUTPUT",,"Query"),
…
)
These formulas can get very long and unwieldy. They can be shortened by using runFromConfig
and conf.
isConfigEmpty¶
Check whether a config entry cell is empty.
isConfigEmpty(
TableName,
RowLookup="dynamicRowLookup",
ColumnLookup=varName
)
This is similar to getFormulaFromConfig, but instead of returning the contents of the cell,
it returns TRUE or FALSE depending on whether that cell contains anything.
runFromConfig¶
Run any function, using arguments that were looked up in config tables.
Note that runFromConfig and conf should always be used together.
runFromConfig(
TableName,
RowLookup="dynamicRowLookup",
FunctionNameToRun,
Arg1,
Arg2,
Arg3,
...
)
Arguments¶
TableName- Name of the config table range. If this is a direct reference, it has to be in quotation marks (e.g.
"t_Inputs"). RowLookup- Lookup string to determine the appropriate row index. Defaults to
"dynamicRowLookup", which means that the string in the first cell of the table will be used to construct the lookup based on the properties of the projection node. FunctionNameToRun- The function to run with the looked-up arguments.
Arg1,Arg2,Arg3, ...- The arguments to pass to
FunctionNameToRun.
Examples¶
To look up arguments from the config table inside runFromConfig, you may use the short conf function
instead of the longer getFormulaFromConfig function.
runFromConfig(
"t_Table",
"dynamicRowLookup",
"csvToTable",
conf("Column1", ...),
conf("Column2", ...),
...
)
This resolves to:
csvToTable(
getFormulaFromConfig("t_Table", "dynamicRowLookup", "Column1", ...),
getFormulaFromConfig("t_Table", "dynamicRowLookup", "Column2", ...),
...
)
conf¶
conf is a shorthand version of getFormulaFromConfig, but can only be used within
the *FromConfig family of functions.
conf(
column=varName,
errIgnore=FALSE,
valueOnError=0
)
Arguments¶
The arguments are the same as for getFormulaFromConfig, except that TableName
and RowLookup are inherited from the surrounding runFromConfig call.
Examples¶
See runFromConfig.