Recent Activity
Hi Everyone,
My data is about 5GB with 20 columns and I run this below code.
At first, I dont create NEW file and simply overwrite using: data return_cal_new2; set return_cal nobs=nobs;
It take me 30+ second and in Task Manager, I see my SSD usage is 100% (My SSD has 500+GB free). It is so weird.
OK, I change the name to return_cal_NEW (as in the code below) and run it for the first time. Now it take only 3.4 second using about with about 70% SSD. Great!
Look like over-writing is an issue.
Without deleting the NEW file, I rerun the code 2nd time, and it take me again, 3.3 second with about 70% SSD
Without deleting the NEW file, I rerun the code 3rd, and the weird behavior shows up again, 50 second and 100% SSD
I really curious what is going on here. Of course, I try several time and the pattern is similar.
Is this because of my PC (spec: intel 13700 64GB DDR5) or because of SAS (9.4)? Should I reinstall SAS?
Any explanation is very much appreciated.
HHC
data return_cal2; set return_cal;
if entry_time^=. then do;
if entry_time^=. and clock_time<='9:40't and (entry_time-clock_time)/60<=10 then fail=1;
else
if entry_time^=. and clock_time>'9:40't and (entry_time-clock_time)/60<=5 then fail=1;
else
fail=.;
end;
run;
... View more

0
3
Is there any way to get the band generated by the BAND statement to *smoothly* follow the line generated by SERIES when the SERIES statement is making use of the SMOOTHCONNECT option? I have tried referencing the named line with the 'modelname' option in the BAND statement, but it seems to ignore that -- i.e., the band is still jagged while the line is smooth. I realize that if I knew what algorithm was used by SMOOTHCONNECT, I could probably generate the upper and lower limits of the band manually, but I'm wondering if there's a simpler way? The below code generates some test data and illustrates the issue. Thanks for any help!
data test;
call streaminit(123456);
y=0;
pop=5000;
do x=1 to 50;
y+rand('normal')*10;
sd=500+rand('uniform')*250;
l95=y-sd/sqrt(pop);
u95=y+sd/sqrt(pop);
output;
pop+(-rand('integer',15,35));
end;
run;
proc sgplot data=test noautolegend;
series x=x y=y / smoothconnect name="line" lineattrs=(color=black thickness=2);
band x=x lower=l95 upper=u95 / modelname="line"
fillattrs=(color=red) transparency=0.6;
run;
The result:
... View more

0
1
The WEIGHT statement documentation for PROC FMM (https://documentation.sas.com/doc/en/statug/15.2/statug_fmm_syntax15.htm) links to a page on Log-Likelihood Functions for Response Distributions (https://documentation.sas.com/doc/en/statug/15.2/statug_fmm_details07.htm) for further details. On that page, not all distributions indicate how the weight function is incorporated. For example, the Weibull distribution does not have a w_i term. How are weights applied to the weibull distribution? Additionally, it's not entirely clear to me how the weights are being applied more generally - would inverse probability of treatment weights be appropriately incorporated via the WEIGHT statement? Appreciate any insights, thank you!
... View more

0
1
Dear SAS Experts, I am currently working on merging two datasets, dataset1 and dataset1, using a common column x. However, I’m facing challenges due to inconsistencies in the format and length of the values in this column across the two datasets. Below are the different scenarios I’ve encountered: The x column in dataset1 contains missing values, whereas the corresponding values are present in x column in dataset2. The x column in dataset1 contains 3-digit values (some starting with zero), but the same values appear as single or double digits in x column in dataset2. In some cases, x column in dataset1 has 3 or 5 digits, while in dataset2 the corresponding value appears as a shorter form. For these, I need to match based on the last 2 digits. In other cases, x column in dataset1 has 3 digits, while in x column in dataset2 the corresponding value appears as a 5-digit code. For these, I need to match based on the last 3 digits. When x column has 5 digits in both datasets, the records should match exactly. If x column in dataset1 has 5 digits and in x column in dataset2 has 14 digits, I need to match based on the last 5 digits. Could you please suggest an efficient and reliable approach to standardize or transform these values and perform a successful merge that accommodates these scenarios? Thank you in advance for your support.
... View more

- Tags:
- communityhelp
- sas
0
13
Model versioning is a critical capability for many of our users. Versioning allows users to make alterations to a model over time while tracking those changes. Additionally, those with robust needs for model governance have built model validation processes centered on a model version. These users had previously asked to use any version of a model in a decision flow, score test, performance monitoring report, and deployment. All of this was available by the 2024.01 release of SAS Viya.
The next request we took on was to make version bumping, when publishing or setting a champion role, optional. With the release of SAS Viya 2025.05, you can decide whether to create a new model version for these two actions. But, with this option, the use of model version locks is expanded to prevent editing published or champion model versions.
Up until this point, you could publish the latest version of a model and see that the model version went through a major version increase automatically. Or you could set a model as champion and see an automatic minor version increase. For example, you might publish version 2.0 of a model. This version would be published, and model version 3.0 would be created. Version 2.0 would be read-only, meaning that it could not be edited. This mechanism enforced an audit history for published models. Model version 2.0 in SAS Model Manager would exactly match what was published. So, if you ever wanted to see what was published in each destination, you would only need to check what was in SAS Model Manager.
Setting a model champion had a similar process. You might set a model version 1.2 as champion and see that model version 1.3 was created. Version 1.2 would be read-only, again to preserve a version history. But why is a version history of the champion important? Well, there are solutions that pull models from SAS Model Manager when they are set as champion.
All of that to say: we still need to prevent editing of any model version that is published or set as champion to preserve an audit history of model versions existing in our environments and tools. Hence, edit locking. Historically, previous (i.e., non-latest) model versions have been read-only and locked from editing. Now users can lock the latest version of a model from editing if they opt not to create a new model version when publishing or setting the champion role. When they are ready to edit the model, they can create a new major or minor version in a few clicks.
When publishing a model, users will now have a checkbox to create a new version after publishing or not. If they opt to not to create a new version, the latest version will be read-only. If users want to make edits, they need to manually create a new version. Similarly, when a user sets a model as champion, there will be a checkbox to create a new version or not. And again, if they choose not to create a new version, the latest version will be read-only, but they can create a new version when they are ready to make edits. Users who always want to create a new model version when publishing or setting the champion role can leave this box checked and can continue working as they are today. But this provides others teams the ability to control when a new model version is created. See the following demo to learn more:
What feature would you like to see next in SAS Model Manager? Let us know in the comments!
... View more

Labels:
2
1
Unanswered topics
These topics from the past 30 days have no replies. Can you help?
Subject | Likes | Author | Latest Post |
---|---|---|---|
1 | |||
0 | |||
0 | |||
0 | |||
1 | |||
0 | |||
0 | |||
0 | |||
0 | |||
0 |