- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hey guys,
I am rather new at the program aspect of SAS and I have a program in the middle of my workflow which adds a new column to the data set
data WORK.FinalReport;
set WORK.FinalReport;
AffectedAccounts = dif(NbrOfAccts);
RunningTotal = lag(NbrOfAccts);
run;
However, I always have the issue that when I run the project the program always runs early on.. much earlier than the dataset that it needs to update.
My question is, is there a way to delay or make the program wait or run conditionally after the query that creates the work.finalreport data has run?
Any help would be appreciated..
Running EG 5.1
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
You need to add it in to your process flow at the correct point.
You can right click the program and "draw" the connections to insert the program at the correct point. You may need to "break" your current process flow to get it inserted at the appropriate point.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I mean the program itself displays as if it were in the correct location, but it just runs in the beginning of my flow..
See image ("Program"), when I execute the flow, it lights up right away and runs rather quickly way before the "Final Report" query has run
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
"lights up " only means it is in the "active" queue, it still runs follow the flow. If this is your only proof, then you don't have a case here. Have you actually checked the project log and there are signs to support your conclusion?
Haikuo
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
What I meant is that it lights up, then completes early into the process much before the other query completes which results in the following:
By this time, the program has already executed, as you can see much before the Final Report query
Resulting in this:
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I see. So if you want Query Builder "Final Report" to finish first before launching of the "program", then it should be look like this:
Then after your first run, you may find a table element inserted between the query and your program. Have I understood you correctly?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Yes! that is correct.. looks about right.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
One way to more easily detect errors like this is to not rename the table to have the same name. If you give it a new name and make sure the next process uses the new table name it becomes easier to make sure things are in the right place .