Recently in the SAS Community Library: SAS' @Sundaresh1 highlights a sometimes overlooked task when applying document embeddings for purposes of similarity-based search. Normalisation of vectors helps obtain relevant matches.
Hello SAS community! I have a dataset where each entry has a date and timestamp in "DATETIME20." format. Examples of data entry dates (there are tens of thousands in each month, going back many years): 16FEB2021:07:02:19 28MAR2023:11:52:22 06JAN2024:17:23.51 21APR2024:23:02:38 I am trying to run a proc freq where I get the count of the events by month and year. Ideally the output would look something like this: NOV23 37248 DEC23 41836 JAN24 39234 FEB24 52868 or even better NOV2023 37248 DEC2023 41836 JAN2024 39234 FEB2024 52868 My code is presently: PROC FREQ DATA=FLAGSDAT; TABLE ENTRY_DATE*FLAG_VALUE / NOPERCENT NOCUM NOROW NOCOL; RUN; The current code's output looks like this (using a dummy dataset for speed of testing where all the timestamps are at midnight): 31DEC2023:00:00:00 ‚ 9 01JAN2024:00:00:00 ‚ 11 22JAN2024:00:00:00 ‚ 13 13FEB024:00:00:00 ‚ 12 I tried using this code: PROC FREQ DATA=FLAGSDAT; TABLE ENTRY_DATE*FLAG_VALUE / NOPERCENT NOCUM NOROW NOCOL; FORMAT ENTRY_DATE MONYY.; RUN; But that did not work. Any advice for a simple fix to get the dates in the PROC FREQ output to just be MONYY or MONYYYY? For my dummy data, I would like the output to look like: DEC2023 9 JAN2024 24 FEB2024 12 Thank you in advance!
... View more
Hello,
I am struggling with controlling page breaks in proc report/ods PDF. I already did a post a few months ago (https://communities.sas.com/t5/ODS-and-Base-Reporting/How-to-suppress-table-splitting-in-ODS-PDF/m-p/907292#M26446), but I have not found a solution yet. First, I thought I will just use ods rtf with the keepn option, but that brings more problems than it solves. Now, I have just found a paper that kind of describes the problem from Stetz et al. "Controlling Page Breaks when using Proc Report" (https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://support.sas.com/resources/papers/proceedings-archive/SUGI95/Sugi-95-70%2520Stetz.pdf&ved=2ahUKEwjHib_10PuFAxUi_rsIHa0GA9oQFnoECBAQAw&usg=AOvVaw0Z1J0znhm8-SeB_Oxq4tBr). Unfortunately, the paper is quite short and I do not understand how the data in the example code is structured. My question is: Does anyone have further knowledge on using "line counting" to control page breaks with proc report? Or does anyone know other papers that talk about this issue?
@Cynthia_sas did you write the paper? And if so, have you got any tips for the page break control?
If anyone needs code examples I can provide code and data, but for now I thought it would be more useful if I try different approaches before just posting my code where I did not achieve much yet. I am grateful for any help.
Kind regards
... View more
Howdy!
If I specify a font size in SGPLOT, SAS does not seem to actually produce that font size in ODS PDF. It seems to produce some larger font size. Here's example code.
ods pdf file = "M:\test.pdf";
ods graphics on / reset;
title1 height = 12pt font = 'Arial' 'Title 1';
title2 height = 11pt font = 'Arial' 'Title 2';
title3 height = 10pt font = 'Arial' bold 'Title 3';
footnote1 height = 9pt font = 'Arial' 'Footnote 1';
footnote3 height = 8pt font = 'Arial' 'Footnote 2';
proc sgplot data = sasHelp.class; series x = name y = age; xAxis valueAttrs = (family = 'Arial' size = 9.5pt); run;
proc sgplot data = sasHelp.class; series x = name y = age; xAxis valueAttrs = (family = 'Arial' size = 10pt); run;
proc sgplot data = sasHelp.class; series x = name y = age; xAxis valueAttrs = (family = 'Arial' size = 10.5pt); run;
proc sgplot data = sasHelp.class; series x = name y = age; xAxis valueAttrs = (family = 'Arial' size = 11pt); run;
proc sgplot data = sasHelp.class; series x = name y = age; xAxis valueAttrs = (family = 'Arial' size = 11.5pt); run;
proc sgplot data = sasHelp.class; series x = name y = age; xAxis valueAttrs = (family = 'Arial' size = 12pt); run;
ods pdf close;
Title1 comes out as 13 pt. Title2 as 11.5 pt.
Title3 as 11 pt.
Footnote1 as 9.5 pt.
Footnote2 as 9 pt.
The x-axis tick values come out as 9.5, 11, 11, 11.5, 11.5, and 13 pt. respectively.
If I add noGTitle and noGFootnote to the ODS PDF statement, then the font sizes for the titles and footnotes are correct. It seems the problem is with the graphic procedure itself.
I checked the font sizes by copying the text from the PDF and pasting into Word. I am fairly certain the same happens with ODS RTF; I can't paste the text into Word, but eyeballing it, it looks the same. Attached are the PDF and RTF outputs each way, plus a screenshot of the side-by-side comparison of the two RTF files showing that the font without noGTitle definitely is bigger than the font with noGTitle.
Does anyone else also get this? I tested on a SAS session with no other options, custom configuations, etc. but maybe there's still something set on my machine that is messing it up.
Best regards,
Michael
... View more
Hi guys:
I have many ANOVAs to be run and each of them has its respective p value and R squares.
All ANOVAs have the same amount of observations, this means thar ERROR I and III could be taken to make part of the table i need to get
There we go, we have 3 ANOVA, everyone is a different answer on each environment:
data have;
input order environment country$ observation;
cards; 1 1 a 11.7062885827733 2 1 a 12.5326186073177 3 1 a 12.1121866473611 4 1 a 10.6770770786762 5 1 b 12.7272303160372 6 1 b 12.5069020572854 7 1 b 10.3801953337563 8 1 b 11.3699075949466 9 1 b 14.7913170706891 10 2 c 11.7957215280586 11 2 c 12.7967928055036 12 2 c 12.3156597291194 13 2 c 11.4903775240095 14 2 c 12.2868489869184 15 2 d 12.0244581514243 16 2 d 11.2738963155379 17 2 d 11.2017213686765 18 2 d 12.6084387827896 19 2 d 13.2818434423956 20 3 e 12.7756560519949 21 3 e 11.0392289428102 22 3 e 12.0000826320338 23 3 e 11.139270842614 24 3 e 13.5663343765743 25 3 f 11.7650627921355 26 3 f 12.6102709811389 27 3 f 11.5515913330262 28 3 f 14.0639297127507 29 3 f 12.3158309468017
proc glm data = have;
where environment = 1; class country order; model observation = country order; random order; means country / duncan tukey lines; run; quit;
proc glm data = have;
where environment = 2; class country order; model observation = country order; random order; means country / duncan tukey lines; run; quit;
proc glm data = have;
where environment = 3; class country order; model observation = country order; random order; means country / duncan tukey lines; run; quit;
now, we have to mount a new table containing:
Environment
rsquared
P value Model
P value Error I
p value ERROR III
1
2
3
IMPORTANT INFORMATION IN BIG CAPS
DATA PRESENTED HERE IS ENOUGH TO ACCOMPLISH THE PUZZLE, NO NEED TO GET MORE DETAILS.
Thanks for the help
Bets regards, always
... View more
Hi all - ¿How can I connect files from a web server to sas viya? I want to automatically capture the log files in .gz, and then process them (ex: domain.com-2024-04-11.gz).
... View more