Yes. But unless something has changed, this syntax worked w/o a hitch for months...
I suspect you somehow are running different instances of SAS here for some reason.
So, I opened two different windows of SAS UE and cannot replicate your issue.
Given what you've shown so far, I suspect you're doing something incorrectly but we can't see what.
I would restart your browsers and make sure you're working on the same instance of SAS.
Make sure Virtual Box has only the latest version of SAS UE.
If the issue persists and you're certain you're not doing anything incorrectly, then post back with FULL details. If you think it's not relevant post it anways. Record a video if you have to.
You can try contacting SAS Tech Support, but I suspect this would be considered out of scope.
@ReezaThe problem persists after reinstalling both the VirtualBox and SAS UE.
Here is a link to a video: https://youtu.be/dcB0i7BMMok
Thanks again for your persistence here!
Note that when you show the datasets in the library it didn't disappear, it was renamed somehow with a 2 and then a 3, which means it thinks you already have a copy in that folder somewhere. I think that it's only working when you run once is timing - before the rename happens.
And once that 2 is there it's not a valid SAS name which may be why it's not showing up in the library. You could try changing VALIDVARNAME option to see it shows up in the library.
option validvarname=any;
I don't know what's causing it to create that 2/3. Did you set up any automated back ups or anything else new on your Mac?
Is this a cloud space, ie Dropbox or Google drive that may be doing automatic versioning?
1. Check your library if you have the dataset in there already. If you do, erase it and see if you replicate the issue.
2. Try the following before your programs and retry.
options replace;
3. Can you replicate it with another dataset, what happens with the following, or if you add the SLEEP pause step in between your data import and proc contents.
data survey.class;
set sashelp.class;
run;
data _null_;
sleep(10);
run;
proc contents data=survey.class;
run;
4. Have you modified any of the settings - changing your work location, options etc that are in your autoexec?
<Did you set up any automated back ups or anything else new on your Mac?>
Yes! This was the issue. Problem resolved.
A few weeks ago I set up iCloud to backup the Documents folder, which is the folder that contains the myfolders folder.
@Reeza @Kurt_Bremser @Patrick Thank you very much for your help!
That video really helped to understand what you're dealing with.
I don't believe anything SAS creates such renamed copies of your datasets; especially because the names also don't comply with SAS naming standards.
It appears there is some sort of versioning going on which unfortunately also changes the name of the original file. You need to find a way to turn this off for folders where you want to store permanent SAS datasets (or exclude any .sas* files from versioning)
@Reeza asked:
Are you by any chance using SAS UE in multiple windows/tabs?
@_maldini_ wrote:
Yes. But unless something has changed, this syntax worked w/o a hitch for months...
If you are running two UE sessions, you have two different VMs side-by-side. Expecting that data from one will automagically appear in the other is wishful thinking.
And yes, something has changed, and the one responsible is located between your keyboard and your chair.
So I suggest:
Run exactly ONE, and I mean ONLY ONE SAS session (no matter in which environment - UE, licensed, server or not, whatever), and submit your code there. If it still fails, look for the libname statement in the log that redirects your library to another physical location, or the proc delete or similar that removes your dataset. It will be there.
@Kurt_Bremser I do think expecting data in a permanent library to be available is reasonable. But as indicated even with multiple session this works as expected when I tested it on SAS UE.
i do suspect you're correct and there are two different VMs - with different myfolders - set up. This is the only logical reason I can come up with this occurring. Besides obvious user error.
@Reeza There is only one VM.
The error persists in all of my SAS programs w/ a variety of different datasets from different projects.
I'm going to downloand and re-install SAS UE...
@Kurt_Bremser I am not running multiple UE sessions. Nor do I have to have multiple tabs open to produce the error.
@_maldini_ wrote:
@Kurt_Bremser I am not running multiple UE sessions. Nor do I have to have multiple tabs open to produce the error.
Not be childish, but you literally stated that you were using multiple tabs.
Like I stated before you're going to have to be able to replicate the issue and illustrate it. It's not because we don't 'trust' you, it's that we cannot replicate the issue or see any reasons why this should occur. 99% of the time it is user error, and a video will quickly illustrate this.
If you're on a Mac, creating a video is super quick, if you're on a PC, I have no idea...I usually use SnagIt via TechSmith but it's a paid product.
<Not be childish, but you literally stated that you were using multiple tabs.>
The problem occurs both in the presense of multiple tabs as well as in the absence of them. The tabs are not the problem.
I will report back after re-installing.
<Copy your Proc contents code into the same code window where you've got your import code and run everything together. If this still doesn't work then please post the code and log of this execution so we can see everything together.>
See my recent response to @Reeza:
"The PROC CONTENTS runs successfully when I run it concurrently w/ the LIBNAME and PROC CONTENTS steps, but not when I run it AFTER running the LIBNAME and DATA steps (Syntax below).
If I run the entire SAS program successfully, I get the "ERROR: File SURVEY.CSCSP_2016.DATA does not exist." error on the subsequent step (DATA, PROC FREQ, whatever)."
I posted the log of this execution in the response to @Reeza
Thanks!
Then I suggest that you physically check in the folder where your table should reside (path used for the libname definition) if there is a file called CSCSP_2016.sas7bdat
If that's not the case then there must be some process removing this file.
IF the file still exists then make sure that you're connecting with the same user than you had creating the file and that you connect to the same server. If all that's met and things should still not work then something very strange must be going on in your environment.
Also: Add right before the failing Proc Contents the following statement and check in the log that the libref still points to the correct folder location.
libname SURVEY list;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.