In Roxie queries (only) you can also read files that may not exist at query deployment time, but that will exist at query runtime by making the filename DYNAMIC.
The syntax looks like this:
DYNAMIC('<filename>' )
For example,
MyFile :=DATASET(DYNAMIC('~training::import::myfile'),RecStruct,FLAT);
This causes the file to be resolved when the query is executed instead of when it is deployed.