Configuration Variables (described in more detail here https://support.lityxiq.com/084396-Create-and-Utilize-a-Configuration-Variable), can be created dynamically as the result of either a data import process, or executing a derived dataset. In either case, the same interface options are available, and these are described here. The screenshot below is from the Finalization dialog when editing a derived dataset, but the same options are available in the Define Dataset Source dialog for a Raw Dataset.
Execute When Config Variables Change - Check this box if you want this dataset to be automatically updated when configuration variables change. You must also set its schedule to be Upon Data Refresh. Note that you cannot check both this box and the Use This Data as Configuration Variables box at the same time. If you do, this checkbox will be ignored (i.e., it will not automatically update when the configuration dataset changes).
Config Variables to Check - This option is shown when you check the "Execute When Config Variables Change" option. The list shows all of the configuration variables currently in the project. Select at least one of the variables. All of those selected will be checked for freshness compared to the dataset's last run date. If they are all fresher (meaning they were all updated after the dataset's last run date), then the dataset will automatically start executing. Again, this functionality only kicks in if you put this dataset on the Upon Data Refresh schedule. See https://support.lityxiq.com/882325-Using-the-Scheduling-Dialog for setting the dataset's run schedule.
Execute When Config Variable Condition Met - Enter a logical condition based on configuration variables that will be used to determine if this object should executed. You must also set its schedule to be Upon Data Refresh for this to take effect. For example, assuming DatasetComplete is an existing configuration variable, you can enter '{@DatasetComplete}'='yes' as the condition. When the configuration variable DatasetComplete has the value 'yes', it will automatically initiate execution of this object. Remember that configuration variables are replaced as-is in your code, so put single quotes around the reference if you want it to be evaluated in a string context, as in this example.
Create Configuration Variables From Data - Check this box if you want the data from this dataset to be used as configuration variables. Up to 100 rows will be treated as configuration variable settings. When using this option, you must then also enter variable names in the next two boxes.
Configuration Name Variable - Enter the name of the variable in this dataset whose values will serve as the name for created configuration variables.
Configuration Value Variable - Enter the name of the variable in this dataset whose values will serve as the value for created configuration variables.
Configs to Set Upon Execution Start/Finish/Success/Error - These options allow you to set or update values for one or more configuration variables based on the state of execution of the object. The four execution states that can be watched are "Start" (the object begins execution), "Finish" (the object finishes execution), "Success" (the object finishes execution successfully), and "Error" (the object finishes execution with an error).
- The value you enter for this option is a "name=value" format. For example, to set the configuration variable ExecutionComplete to the value 1 when the dataset finishes execution, enter ExecutionComplete=1 into the Configs to Set Upon Execution Finish box.
- To set multiple config variables for the same state, separate each name/value pair with a semi-colon. For example, 'variable1=abc;variable2=789' (without the surrounding quotes) can be entered.
- Special templates can be used after the equal sign:
- [@date] will be replaced with the current date in YYYY-MM-DD format
- [@datetime] will be replaced with the current date/time in YYYY-MM-DD HH:MM:SS format.
- [@inc] will automatically increment the configuration value by 1. Note that if the configuration variable referenced does not have a numeric value, it will be treated as having the value 0 prior to the increment taking place.