SAS Visual Analytics report automating creation process - sas

Is there a way to automate the creation of a report in VA ?
I'm asking if it's possible to use a coding syntax to produce a report instead of doing it on the report builder page. I don't mind interacting with the metadata server on which resides Visual Analytics. I just need to create a report by coding instead of doing it visually.

This is very difficult, You will have to:
Reverse engineer the XML generated by an existing report object,
Write the XML of your own VA report,
Find a way to save the XML you generate to SAS Contents Server.

Related

Using a result (table from sas entrep guide) into sas miner

In SAS Miner, I would like to use a result/table from SAS entrep guide.
So far, I managed to save this result/table into sas studios.
In SAS Miner, when creating a data source, I have to select a SAS table or a metadata repository. I select Sas table then I am stuck as I can not access my source
It would be great if you know know how to solve this?
Save the data set into a location available to both the server used by Enterprise Guide and SAS Enterprise Miner. If they are the same server, great, put it into an easy to get to location.
After that, you will need to create a library reference to that location in Enterprise Miner. The specifics of that I am unsure of (I don't have a version to play with), but you administrator should be able to do that for you. If not, that's a good question for SAS Tech Support (which is free since you are a client).

Database Diagram in SAS

I want to create a diagram of SAS datasets in a SAS library, basically an equivalent of Database Diagram that can be created for database tables in SQL Server Management Studio. Can this be done using any of SAS applications?
Data Integration Studio is the SAS solution for visual management of ETL/data integration. The processes are build in flow chart diagrams. It also offers some options to visualize your data models.
I believe you are trying to build an entity relationship diagram to "visual" the schema for set of tables in your library. If you are looking just for documentation only, you can try Visio or MS-Access using OLEDB connection to read all table metadata from your library, however you need to build all the relationship including primary keys & etc.
If you are looking for building an ETL process, where maintaining entity relationship will be part of your ETL job, then Jetzler suggested ETL solution will be your tools, because once you build your process, the schema, e.g. star or snow-flake schema will be automatic generated for you.

Create a SharePoint workflow programmatically

I am working on a copy of a SharePoint 2007 site for a client.
I would like to be able to automate as much of the update process as I can with minimal disruption to the client's system when the updates are ready for production.
To that effect, I was wondering if anyone knows how to automate creating a SharePoint workflow (created using SPD 2007) in another SharePoint server/site.
Perhaps I haven't searched enough yet, but I have not discovered if there is a way to do this with web services, which I believe would be my preference.
I do not believe I have the ability to use STSadm on this, as the hosting for the SharePoint site is separate.
I think I can export the workflows in a personal web package and I'll admit, I haven't experimented with this yet on workflows, but my current experience with other exports, such as lists, is that guids seem to get messed up between sites. Even if this is not an issue, I'm not sure if there is a way of automating the import process (without STSadm).
I'm hoping not to have to work through a long list of manual procedures (that could accidentally get missed) when implementing these changes on the target production site.
My preference is to be able to create some sort of update batch or application that will make the changes quickly and that I can test before implementing on the production system.
This entails quite a few things, but for now, I'd like to focus on getting workflows into the target system.
Any suggestions on where to get started would be welcome.
SharePoint Designer workflows are not portable between sites. (Reference) 1
For your situation, I would recommend taking the Visual Studio workflow route. Take a look at this tutorial: How to Create Custom SharePoint Workflows in Visual Studio 2008. The key for you is how you will associate it to lists.
The other option is to create a custom Workflow Activity (2007 has less options that 2010). You will still have to create the workflow using SharePoint Designer and add your custom activity to it in each site.
1. Yes, there is the "hack way" of trying to do it by copying the XML and changing the GUIDs... but it is error prone and difficult.
SharePoint 2010 gives more flexibility for workflows and thus the first #Kit Menke statement isn't true for readers using SP2010 (i see that this is tagged as sharepoint2007, but i'm making it clear for readers using SP2010)
However, if you publish a workflow template to a SharePoint site
collection, you can download that template as a WSP file and then
deploy it to other site collections.
Read more about Workflow deployment process (SharePoint Foundation 2010)

Coldfusion Report Builder - How can you set different datasources externally between prod/staging/dev?

Coldfusion Report Builder is great.
One small issue. We use ANT+CFANT to deploy.
When we create the report, say in a datasource called MyApp_dev on a dev box.
Our other server is the production server. It also contains a staging build to ensure everything is going smoothly before we publish to live. (thanks to Al Everett for bringing this clarification to my attention.)
Everything works great when the report is created.
We deploy the report to our staging server, which has a datasource of MyApp_Staging. That server also, may or may not, have the live app working under MyApp_Live. Ant pushes the update to Staging just great.
Run the report, crashes and burns. Why?
It seems the report is looking for the MyApp_Dev data_source, even though the application is using the MyApp_Staging datasource.
In digging around I found a few approaches, I would like to do this one, final, ideal way from the beginning instead of having to go back to do dozens of reports differently when I have a new Aha! moment.
1) Obvious: Pass in the datasource in to the cfreport tag. Doesn't work for ColdFusion Builder Reports as of v8, or v9 as tested on Linux.
2) Most realistic option (but painful) so far: Pass in the query as an object into the ColdFusion Builder report. Let's think about this:
Create the Report with the report builder to my heart's content using the RDS, etc on my local box.
When I'm done, copy the query into a snippet of code, or into a database column to be dynamically be injected at runtime with correct datasource.
Modify my "run report" event to find the query from the database column, insert it into another dynamic cfquery and potentially... evaluate (!?!) it? Fun side is I can set the cfquery datasource to what I would need for each environment.
When I modify the report's columns in CF Report Builder, I always have to update the query in the database. Is there a snippet of code that can extract this for me? Hmm.
3) Less than ideal. Suck it up and let all the reports in staging run off the live server. Maybe copy the live data into staging (sans structural changes) to let it seem similar.
Are there any eloquent ways to accomplish the above?
Thanks in Advance!
If you have different dev/staging/production boxes, why not just use the same datasource name on each? That'll save you from having the code figure out where it is.
Because security concerns at my current assignment preclude me from using RDS, I use option 2 as a matter of course. I also like it as it makes it easier to debug.

Using MS Access to return on-demand reports in a web server?

I have built a MS Access 2007 application that can create reports files in various formats (PDF, XLS, CSV, XML).
I would like to allow the creation of these reports to be accessible from a web page where users would just click on a link and get a download of the report produced by my Access application.
I would like to keep it simple and I'm not interested at this stage in rewriting the data processing in .Net. I'd just like to find a way to automate the creation of the user report to return a file that can be downloaded.
In essence, my Access application would act as a web service of some kind.
The web server is IIS on Windows 2003.
Any pointers or ideas would be welcome. I'm not well versed in IIS administration or ASP pages.
The first quick and dirty method i could think of would be to call Access from a shell and pass it a few parameters to open as read only and run a macro.
That macro would have to pull it's report parameters from somewhere (possibly env variables), run the report and save it as Excel, PDF or whatever to a unique name. To du this you'll need to pass the report name, a unique request id, and a param array to handle multiple (or none) parameters.
Last but not least your Access macro / VBA Sub will need to shut access down.
This isnt a good solution as starting one copy of Access per request isn't really advisable though.
Another option is to have start Access on the server with a VBA sub that starts on opening. This sub could poll a directory for requests that are written by your web server. Then on receiving a request run a report and write it to somewhere. Again you'd have to base this around a unique request ID.
I'm not really sure which "solution" would be better.... Access as a command line report generator or Access as a batch reporting service. Both would be nasty, but would get you over the hump until you can migrate to a reporting service.
This is kind of a round about way to achieve what you're asking. You can utilize the free version of sql server express 2005 or 2008 advance edition which includes the reporting services component. Using the report generation tools you can convert your access 2007 reports to sql server reports and have those reports feed off of the access database. You can also go to the extent of migrating the database to sql server as well if you wanted to go that route. Reporting services will generate pdf, xls, csv and xml formats as output for your reports and you can generate those reports just by passing the parameters in the url to the server which will return your report in the format requested.
Link to sql server 2008 express advanced edition:
http://www.microsoft.com/express/sql/download/
If you do not wish to rewrite in .Net, how about Classic ASP and VBScript? VBScript has a lot in common with VBA, so it should not take long create something usable, and there is a great deal of help available for ASP and VBScript on the internet. For example, a simple search returned this method of creating a PDF with Adobe from ASP:
Creating a PDF with ASP