Can you explain what a substitution variable is in Essbase?
Use a external third-party tool such to store the variables, write a SQL procedure and call the variables
You can use a Memerlist as a replacement for server variables. The negative about it, you need to load the list to change it (and this kicks out all active users).
You can create a vb program (using the api) to execute the data extract with parameters. If you use a scheduler, you can do it fully automated.
You can create a sub procedure in the rules file to extract the data, and use trigger accounts (and/or the vb-script date function) to control what and when to export.