Is there anyway to create a dashboard like this: http://support.sas.com/kb/26/112.html
where the html file is not dependent upon the gif file (ie you don't need a gif file in order to open the html file)?
The answer to your specific question, I believe, is "not really"...
The closest thing would be to use dev=javameta (rather than dev=gif), in which case all the commands to draw the graphics would be in the html file ... but you would also need the .zip or .jar files (depending on which version of SAS you're using) so java knows how to render the graphics commands that are in the html file. Also, device=javameta would probably have trouble getting all the text to look good, because of it's limited font support.
Device=activex or device=java could not be used, because they do not support "proc greplay", which was used to lay out the multiple graphs on 1 page.
You could create this dashboard using pdf, and it would look pretty good, and be in 1 single file ... but that file would not be an html file (and you specifically asked for a single html file). Also, with a pdf file you would not have the mouse charttips / rollover-text, showing the values of the bars, etc.
You could use dev=svg, but similar to pdf it would not be an html file (it would be an svg file). And the person viewing it would need to have an svg viewer (which doesn't come by default in Internet Explorer, for example).
Maybe tell us a little more about how/where you want to use the dashboard, and we can give you some alternate suggestions(?)
I think I'm going to go with device=pdf for now.
I want to send the results by email. Although I like the mouse charttips in html, I think too many people will be confused by how to open the html file (ie putting the gif file in the same folder).
Hopefully someone figures out how to put mouse charttips in pdf. That would be a great tool to have.
I'm not sure what you mean by "the html file is not dependent upon the gif file (ie you don't need a gif file in order to open the html file)?"
The dashboard is composed of separate images replayed into one GREPLAY template -- which essentially makes the dashboard look like a dashboard. How else do you envision the dashboard looking??? The GOPTION where it says device=gif can be changed to be a different device, but I'm not sure from your description whether the issue is the GIF as the device or whether the issue is the need to GREPLAY or whether the issue is that you want a different device or ??? ???
The description (in the full code section) says that:
/* This example uses SAS/GRAPH software to generate a version of the telesales
performance dashboard described on p. 199 of "Information Dashboard Design"
(Few, Stephen. 2006. Sebastopol, CA. O'Reilly Media, Inc.). */
I don't know how Stephen Few did the original dashboard or whether he used SAS or whether he used some other dashboarding tool, but perhaps there would be some idea on page 199 of the Information Dashboard Design book.
It sounds to me like what the OP may wish to have SAS generate the HTML tags which generate the various TABLE areas within the HTML document, rather than requiring HTML programming knowledge and a brute-force DATA step approach.
And possibly within each "pane" maybe an ODS HTML generated PROC PRINT output would be referenced and displayed, again using HTML tags.
You may be able to use the HTMLPANEL tagset. This tagset works with both image output, as well as client output (activex and java). The tagset can be used to create nested layouts to build up more complex panels.
Dan - In my experience, it would be very difficult to use ods htmlpanel to create a complex dashboard that looks similar to the Stephen Few one (I know this because I have tried!
Ods htmlpanel is fine for paneling several simple graphs on the same page, but when it comes to complex layouts, especially of differing sized & proportioned graphs, it gets very difficult to determine how to write your code to lay out the panels (not to mention, I often use overlapping panels in my dashboards!) Also, ods htmlpanel tends to put borders around each panel, and all those borders become very distracting & take up a lot of real estate on a densely-packed dashboard.
And, as the user has recently mentioned that he's interested in a single-file approach so he can easily email the dashboard, without having to provide special directions for viewing it ... the dev=activex or dev=java graphs in ods htmlpanel output are probably not a good solution (because the email recipient would have to install the activex control, or have the sas/graph java jars set up properly to match the codebase, to view the graphs).
I've never tried mailing sas/graph device=java output, but here's how I think it would go ...
The person receiving the email & wanting to view the dev=java sas/graph output file would need to have the sas/graph jar file(s), and those files would need to be saved in the exact location that the "codebase" in the html file is pointing to. (And there might be some caveats that the html file and jar file have to be on the same 'web server' ... which could maybe be the local machine 'web server' looking at the local c: filesystem). In the past, you only needed a single jar file (such as graphapp.jar, mapapp.jar, or treeview.jar) to view the corresponding graph in the html file ... but in more recent versions I believe these jar files were split up (so that they could all use shared code), and therefore now you must have several jar files rather than just one.
I haven't used the java graphs in this particular way (emailing them), and am not a java expert, so maybe one of the java-savvy folks can chime in and correct me if I'm wrong, and/or fill in any details I might have left out (or correct my terminology).
Typically, with the dev=java sas/graphs, I see people put the html files & jar files on a web server, and then email people a url/link to the html file (rather than trying to email everything).
I posted the html and gif file from this code on our Lotus Note Document Library http://support.sas.com/kb/26/112.html
If I open the html file before opening the gif file the html file does not work (there's an "x" where the image should be).
If I open the gif file first and then open the html file the html file works properly (I can close the gif file before opening the html file and the html file still works).
Do you know how to change the html file so the gif file does not need to be opened before the html file in order for the html file to work properly?