Sorry if this sounds like a basic question, but none of the tutorials I read have addressed it. I've been working on a process flow with multiple tasks and outputs, and now I need to insert a new task in the middle. Say, instead of performing all the later tasks on dataset A, I want to process A with a query builder to filter out some observations, and perform all the later tasks on the new filtered dataset. How do I do this?
Yes, that's right. Give it a try!
You'll have to close/save your project first, as Project Maintenance doesn't like to operate on a project while it's loaded up in the project view. Select Tools->Project Maintenance and it will lead you through the steps.
Chris
There are several methods, but here's the easiest for hitting just a few tasks. For each of the tasks that you want to "remap", right-click on the task in the flow and select "Select Input Data" to redirect the inputs. Example:
Chris
Thanks for the response!
Hmm, there doesn't seem to be such an option when I right-click. I have Run, Modify, Run Branch, Publish, and then Condition. I'm using EG 5.1. I'll post a screenshot later if needed...
Also, will I need to do this for ALL the following tasks or only the ones that are directly connected to the changed input dataset?
Edit: Oh, there is the Select input data option for some types of tasks (summary tables etc). But not for others, like query builders or filter/sort. Is there no automated way? I know in code you can just save output data to the same name as input data, and the following steps will just use the most recent copy, yes? So maybe using a program to change the input dataset would be better if I have a lot of tasks following it?
Be sure that you are selecting the task you want to change, and then right-clicking. That's been in there for several releases.
You need to change only the tasks that directly consume the data set -- the downstream tasks should not need updates unless columns change. (For example, if you replace use of SASHELP.CLASS with SASHELP.CARS, you'll have problems because they have different variables.)
Chris
Sorry, I edited my post a short while before yours came in:
Edit: Oh, there is the Select input data option for some types of tasks (summary tables etc). But not for others, like query builders or filter/sort. Is there no automated way? I know in code you can just save output data to the same name as input data, and the following steps will just use the most recent copy, yes? So maybe using a program to change the input dataset would be better if I have a lot of tasks following it?
Query Builder (and its less flexible cousin, Filter and Sort) are a little special. You can change the input data within the task itself.
In Query Builder, right-click on the table entry in the tables list and select Properties:
Then you can remap the data source with the Browse button:
You can also use Tools->Project Maintenance to change a data reference globally across the entire project. That might be the only way to adjust things for Filter and Sort...
Chris
Thank you! You mentioned other ways for doing it if there were many tasks to be changed - I assume the Tools->Project Maintenance method would be the best for that?
Yes, that's right. Give it a try!
You'll have to close/save your project first, as Project Maintenance doesn't like to operate on a project while it's loaded up in the project view. Select Tools->Project Maintenance and it will lead you through the steps.
Chris
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.