I am working on SAS VA (7.2 ) and SAS VA 8.1(cloud). Reports are developed and I need to maintain the version control for the reports. I need to do version control in GIT (Tree structure) . Can someone help me out in on how to save the SA VA reports and save them in GIT.
Nice question. SAS VA does not currently have any integrated way of interfacing with external version control tools. In my opinion this is a significant weakness that I hope will be addressed in a future release.
SAS VA reports are stored as metadata objects in a SAS metadata repository. To version control a report, the only way I can think of doing it now would be to export the report from the metadata repository as an SPK package, then version control the package. To export an SPK package you can either use SAS Management Console as described in this related article:
or you can use the batch export tool:
Neither approach looks that great to me. I'd be interested to hear if anyone has tried something like this and what they think.
One way might be to access SAS Content Server as regular WebDAV server. And copy xml files with report definitions from there to repository location. And then run git to keep record changes.
It will not track changes in report metadata, just in report content.
Also understanding changes might be a bit tricky - requiring knowledge of SAS Visual Analytics report xml format.
Thus going from xml change to action in web interface - what was clicked - might not be obvious.
On other hand, plain revert to some yesterday version should be simple. With just substitution of xml file.
Now, as always in git, for version control to be really useful, it would be nice if commit action would contain author's comment about changes.
Here it is rather a process in the background that periodically(daily?) commits changes without understanding them.
Thanks for the insights regarding the SAS Content Server. I may be inspired to look further. One of the main benefits of version control tools is the ability to automate deployments to remove the possibility of manual mistakes. I'm thinking the batch SPK tools might be the approach to take for this.
@SASKiwi, how did you get on with this?
We've done something similar in scripting (powershell) the export and import of an SPK of VA Reports rather than a content server approach. This was done as it was more inline with how our normal migration/promotion process worked (ie via the management console)
This works well for incremental report updates however it does not manage moderate/major updates where new datasources or other items that require mapping are introduced. We implemented a two folder approach to help mitigate this and initially import into a "staging" location then once tested we import the same SPK into a "published" location.
@hamishcarpenter, I've not explored this any further. I like your approach a lot as it sounds pretty straightforward. We also do something similar for report development. We take a copy of the Production report into a working folder and develop it there. When it is ready to roll out we take another copy of the Production report and copy it into an archive folder, then overwrite the Prod version with the new version. It is all a bit manual but it sort of works for now.
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.