Hi,
I am looking for a Visual Analytics or Web Reprt Studio solution using publishing framework or other to be able to create dashboard reports that have to be displayed on a screen and automatically page through reports, live, no user interaction.
I tried to use Web report studio to create reports and publish to a channel or directory but with issues like the package that is published, the dynamic naming of folders/files, webdav folder is recreated (tried IF_EXIST), and a number of other errors gave me headache. I ended up writing base coding using data steps to create HTML (some embedded java for redirecting pages &refresh), proc gchart for graphs. The I used package insert and package publish to publish to sas web server (sasdav). I use a brower to logon onto SAS Content server and open a page which then refreshes and auto rotates to the next page using the embedded redirects.
Is there an easier way of doing this. I would have liked to use VA or Web Report to build the graphs and tables and then publish these or use VA to build all the dashboards, then have VA automatically flip thriugh reports and refresh at intervals. Please help.
We are running SAS 9.4 and VA 7.1
I forgot to mention that this wrapper can be easily modified to display multiple reports, instead of multiple sections of the same report. Just add the entire report URL in the array. This is a modifyed example:
<html> <head> <script> var report = [ "http://<host>/SASVisualAnalyticsViewer/VisualAnalyticsViewer_guest.jsp?appSwitcherDisabled=true&reportName=Your+Report+Name1&reportPath=/your/metadata/full+path1", "http://<host>/SASVisualAnalyticsViewer/VisualAnalyticsViewer_guest.jsp?appSwitcherDisabled=true&reportName=Your+Report+Name2&reportPath=/your/metadata/full+path2&_vaSectionName=vi1234", "http://<host>/SASVisualAnalyticsViewer/VisualAnalyticsViewer_guest.jsp?appSwitcherDisabled=true&reportName=Your+Report+Name3&reportPath=/your/metadata/full+path3" ]; var index = 0; var dummy = setInterval(loadVAReportSection, 60000); // time in milliseconds function loadVAReportSection() { document.getElementById("VAreport").src=report[index]; index = (index+1) % report.length; } </script> </head> <body onload="loadVAReportSection();"> <iframe id="VAreport" style="width:100%; height:100%"></iframe> </body> </html>
This functionality is present in VA 7.3
sadly no alternative for this as far as i know.
greetings Peter
Hi,
Thanks Peter, will investigate.
Brendan
Hi, Found 7.3 installed in lab. Tried visualisation with automatic chart, with interaction, not working. Hope I am looking at the right feature. Would appreciate it if you could give me some pointers here. User guide is vague on this feature. Exported the visualisation to a report and it just sits there staring at me...and I stare back:)...waiting for it to go to the next chart:):):). Much appreciated.
Hi Brendan,
the functionality seems to be rather simple. (I did not use it before)
you can refresh a single page with a certain refresh rate on an active screen
if data has been updated, the report will refresh the data, but thats all.
sadly the viewer will not jump to the next report tab......would be nice if this would be the case.
i expected it to be a little more...
Greetings Peter
Hi Peter, thanks a stack. Thought I was missing something, hoped I was not barking uo the wrong tree. Looks like I will have to live with my base coding solution for now. Works okay.
Thanks for the help. Appreciated.
I believe the workaround below may help you. It's just a wrapper (HTML and Javascript) that you can customize for your own report. Instead of opening the report in VA, you should open this HTML file instead.
<html> <head> <script> var report = "http://<host>/SASVisualAnalyticsViewer/VisualAnalyticsViewer_guest.jsp?appSwitcherDisabled=true&reportName=Your+Report+Name&reportPath=/your/metadata/full+path&_vaSectionName="; // The section IDs below can be obtained from the URL that is generated when emailing the report. // Open your report in Report Designer, select the section you are interested and click File-->E-mail var sectionID = ["vi1514", "vi2301", "vi3813", "vi5427", "vi12410", "vi14893"]; var index = 0; var dummy = setInterval(loadVAReportSection, 60000); // time in milliseconds function loadVAReportSection() { document.getElementById("VAreport").src=report + sectionID[index]; index = (index+1) % sectionID.length; } </script> </head> <body onload="loadVAReportSection();"> <iframe id="VAreport" style="width:100%; height:100%"></iframe> </body> </html>
This wrapper cyclically reloads the report at a specific section on every 60 seconds. because the report is reloaded, you will see the splash screen and the "Loading..." message when transitioning from one section to another.
If you don't want to use guest mode, then simply replace VisualAnalyticsViewer_guest.jsp with VisualAnalyticsViewer.jsp in the URL.
I forgot to mention that this wrapper can be easily modified to display multiple reports, instead of multiple sections of the same report. Just add the entire report URL in the array. This is a modifyed example:
<html> <head> <script> var report = [ "http://<host>/SASVisualAnalyticsViewer/VisualAnalyticsViewer_guest.jsp?appSwitcherDisabled=true&reportName=Your+Report+Name1&reportPath=/your/metadata/full+path1", "http://<host>/SASVisualAnalyticsViewer/VisualAnalyticsViewer_guest.jsp?appSwitcherDisabled=true&reportName=Your+Report+Name2&reportPath=/your/metadata/full+path2&_vaSectionName=vi1234", "http://<host>/SASVisualAnalyticsViewer/VisualAnalyticsViewer_guest.jsp?appSwitcherDisabled=true&reportName=Your+Report+Name3&reportPath=/your/metadata/full+path3" ]; var index = 0; var dummy = setInterval(loadVAReportSection, 60000); // time in milliseconds function loadVAReportSection() { document.getElementById("VAreport").src=report[index]; index = (index+1) % report.length; } </script> </head> <body onload="loadVAReportSection();"> <iframe id="VAreport" style="width:100%; height:100%"></iframe> </body> </html>
Hi Renato,
thankx for your work around. Sadly every tab needs a full page load.....but still.
can I add a user and password to the URL because we do not use guest account.
PS Anyway development should concider to finalize the functionality as expected.
Greetings Peter
Hi Peter,
For security reasons, passing credentials in the VA report URL is something that is not alowed. If you can't use guest mode, then just use the other URL that I've shared. You will be redirected to the login screen when you access the report viewer application for the first time. Just log in as you would normally do, and after that the "slide show" will start. You will not be prompted for credentials again after this point, even when new reports get loaded.
Thank you,
Renato
Sorry for a newbie question, how can I locate my specific equivalence of the following path?
http://<host>/SASVisualAnalyticsViewer/VisualAnalyticsViewer_guest.jsp?appSwitcherDisabled=true&reportName=Your+Report+Name1&reportPath=/your/metadata/full+path1
Hi, The viewer runs as a app/applet. Can be found under
config/Lev1/Web/WebAppServer/SASServer12_1/sas_webapps/sas.visualanalyticsviewer.war
from there on I think it picks up the report and it;s properties from the metadata which should be accessible via sas management console (SASMC), but I don't thin you are going to see the actual report definition in SASMC. Not sure where that is stored, perhaps in metadata but not visible???
Hope this helps
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
See how to use one filter for multiple data sources by mapping your data from SAS’ Alexandria McCall.
Find more tutorials on the SAS Users YouTube channel.