I'm trying to place some SAS-genreated sparklines in a multiple-sheet workbook. But the macro fails when inserting graphs in multiple sheets. Here's a small example.
The code works when all the sheets are set to tom, but fails when trying to put graphs in dick and harry.
data graphs;
input File :$30. Sheet :$8. Cell :$4.;
length String $60;
*sheet='Tom';
string='c:\users\agriffin\g\' !! trim(file) !! '#' !! trim(sheet) !! '!' !! cell;
cards;
g8EPM2.5010.png Tom b3
g8EPM2.5020.png Tom b4
g8EPM2.5030.png Dick d7
g8EPM2.5099.png Dick d8
run;
proc sql noprint;
select string into :placement separated by ', ' from graphs;
quit;
%put &placement;
%excel_enhance(open_workbook=c:\users\agriffin\desktop\test_book.xlsx, insert_image=%quote(&placement), file_format=xlsx);
In your macro call you're not specifying the cell, is that intentional? Otherwise how do you specify the multiple destinations?
Since the macro is demo'd with multiple sheets this should be possible.
@AdrianGriffin wrote:
The cell is specified in the insert_image argument. If you run the code and do a %put &placement, you'll see how the cell and sheet is specified.
We don't have your data.
Many users here don't want to download Excel files because of virus potential, others have such things blocked by security software. Also if you give us Excel we have to create a SAS data set and due to the non-existent constraints on Excel data cells the result we end up with may not have variables of the same type (numeric or character) and even values.
Instructions here: https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-dat... will show how to turn an existing SAS data set into data step code that can be pasted into a forum code box using the {i} icon or attached as text to show exactly what you have and that we can test code against.
You can run the macro with the options MPRINT and SYMBOLGEN to see details of the code generated.
You could post the log in a code box opened with the forum {i} icon.
Ok, different question - did the demo from the paper work as expected for you?
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.