Customizing a Workflow in SAS Solution for IFRS 17
Recent Library Articles
Recently in the SAS Community Library: SAS' @sunilbhardwaj details steps to add a customized Excel based workflow template to the SAS solution for IFRS 17. These steps enable you to try out and test several customized workflows based on your requirements.
I have sas 9.4 TS level 1M7 version. I am having a problem using sas. When I increase my display setting on the computer is more than 100%. Sas becomes slow and has a hard time opening the dataset and moving between the tabs, as well as lag and stickiness of the scroll bar for the editor window. With the 100% setting, the font is very small in all Icons like filenames, folder names in the system, and even the font in the dataset; my eyes get bad with this kind of setting. What to do?
PS: I posted the same in the Administration group, I thought I would get a quick response from this group, so I am posting it here again.
... View more
The latest release of SAS® 360 Match includes:
The user interface for connectors and privacy shields have been updated to improve the user experience.
The Eliminate Duplicate Categories option for a tier. When the option is selected, it prevents a flight or creative from serving if the flight or creative contains any categories that have already been served to the same view ID, regardless of advertiser.
The new user interface includes a separate History tab that enables you to view more information about the activity history for connectors and privacy shields. The additional details include information about changes to the item, including a link to the details of the change that lists the field that was changed, the original value, and the new value, as well as a window with overflow information.
... View more
I used proc import to read my data and one of the date field(4/13/24) imported as sas number date. How do I convert that date to date9. (12APR2024). Also in this field I have some character values like "No date" and some date values. How do I handle them.
data pm;
input exp $ Name $ ;
datalines;
45301 John
44986 Jane
45412 Bob
No_date Emily
10/5/24 Don
;
run;
data temp_test;
set pm;
expiry=input(exp,date9.);
run;
Thank you
... View more
Greetings,
I am running parametric survival models and Cox regression models, and I get counterintuitive results; what might be the reason, please? And in my data set I have just 8 events out of 630 individuals
... View more
Hi there. 🤔
I have an issue with decimals in numeric fields. I read somewhere SAS can be pretty accurate up to 15 - 16 decimals. Say let's say I have a z19:16 formatted numeric field (I need to format it (I think!) to get more than 10 decimals which I think is the standard if the variable is just defined as numeric) that contains: 12.775. I need to send this to a mainframe to which we only can send integers. So to make the mainframe understand it is 12.775, I need to send 12775 and the no. of decimal positions as a separate number, i.e. 3. Another example would be 12.6802 where I have to send 126802 and 4 to "tell" the mainframe to divide by 10.000. So my problem is this: I am not so much into HEX codes and what is going on regarding the internal form SAS operates with with huge number - either before or after the decimal point. The solutions I found on the net use SUBST and SCAN function that normally would do good for text variables but ALSO it seems for numbers up to 10 digits before or after the decimal point (I guess that relates to the entire HEX issue). Yes, I do sound like somebody who need to train to understand this but I have a deadline and need to solve this quick.
So in short .. the code I'll send after this text works for values up to 10 digits. If I have more the result is unpredictable. I need to code this different than what I did below. I need some code that can give me 12 for 77,123456789012, 3 for 66,378, 14 for 95,12345678901234. How do code that people?
What I did to get the right the answer ... (that only works up to 10 decimals). I build a table with some values and then use two methods I found on the internet to determine the number of decimals:
Run the code if you want and then read what I wrote after it.
/* Create a little test data. */
data decimal_play;
format pi_1 pi_2 pi_3 pi_4 pi_5 Z20.17 ;
pi_1 = 3.141592650000000;
pi_2 = 3.141592653000000;
pi_3 = 3.141592653500000;
pi_4 = 3.141592653580000;
pi_5 = 3.141592653589793;
run;
/* Method 1 */
data Method_1 (keep = dec_pi_1 dec_pi_2 dec_pi_3 dec_pi_4 dec_pi_5);;
set decimal_play;
dec_pi_1 = lengthn(scan(cat(pi_1),2,'.'));
dec_pi_2 = lengthn(scan(cat(pi_2),2,'.'));
dec_pi_3 = lengthn(scan(cat(pi_3),2,'.'));
dec_pi_4 = lengthn(scan(cat(pi_4),2,'.'));
dec_pi_5 = lengthn(scan(cat(pi_5),2,'.'));
output;
run;
/* Method 2 */
data Method_2 (keep = dec_pi_1 dec_pi_2 dec_pi_3 dec_pi_4 dec_pi_5);
set decimal_play;
first = substr(pi_1, 1, index(pi_1, '.') - 1); second = left(substr(pi_1, index(pi_1, '.') + 1)); dec_pi_1 = LENGTH(second);
first = substr(pi_2, 1, index(pi_2, '.') - 1); second = left(substr(pi_2, index(pi_2, '.') + 1)); dec_pi_2 = LENGTH(second);
first = substr(pi_3, 1, index(pi_3, '.') - 1); second = left(substr(pi_3, index(pi_3, '.') + 1)); dec_pi_3 = LENGTH(second);
first = substr(pi_4, 1, index(pi_4, '.') - 1); second = left(substr(pi_4, index(pi_4, '.') + 1)); dec_pi_4 = LENGTH(second);
first = substr(pi_5, 1, index(pi_5, '.') - 1); second = left(substr(pi_5, index(pi_5, '.') + 1)); dec_pi_5 = LENGTH(second);
run;
So how should I code this nicely? Code that reads a number, gives me the number as an integer (max 18 long, i.e.: 2 before the decimal point and 16 after) and the number of decimals is a separate variable.
3.141592650000000 as 314159265 & 8
3.141592653000000 as 3141592653 & 9
3.141592653500000 as 31415926535 & 10
3.141592653580000 as 314159265358 & 11
3.141592653589793 as 3141592653589793 & 15
Best regards,
Menno 🙈
... View more