Home > BI, Power BI, SSRS, Tableau > Embedded SQL Reporting Services Reports into Tableau Dashboard

Embedded SQL Reporting Services Reports into Tableau Dashboard

I blogged about Add Microsoft SQL Server Reporting Services charting capability to Tableau a few days ago. And I also blogged how to use SSRS data driven subscription to mass generate hundreds of images to be used as Tableau custom shape. However, Tableau does not support high resolution images in custom shape. Hence, I’ll show you another approach and probably an extremely powerful way: Directly Calling and Displaying a SQL Server Reporting Service Reports inside Tableau Dashboard

Look at the below two screenshot:

1 – Embeded SSRS Reports in Tableau Dashboard – with command toolbarEmbeded SSRS Reports in Tableau Dashboard - with command toolbar

2 – Embeded SSRS Reports in Tableau Dashboard – no command toolbarEmbeded SSRS Reports in Tableau Dashboard - no command toolbar

For experienced SSRS developer, I’m sure you already guess the trick: use SSRS URL access inside a Tableau Web Page control. Basically, in the first one, the URL is:

http://<SSRS Server>/ReportServer?%2fGaugeSamples%2fThermometerChart&rs:Command=Render&Value=102

and the second one is:

http://<SSRS Server>/ReportServer?%2fGaugeSamples%2fThermometerChart&rs:Command=None&Value=102

The first parameter (rs:Command) tells SSRS server whether to render the command toolbar and the other parameter (Value) tells what the Thermometer Indicator’s value should be.

Personally, I’m very excited about this integration. It opens a door of endless possibility. For example, you can:

  • Leverage existing Microsoft BI assess and integrate into Tableau dashboard
  • SSRS is able to handle pixel perfect chart rendering and can be used as a dynamic charting library inside Tableau dashboard. As you can see in the first screenshot, there is a property called “Size of the bulb at the bottom of the thermometer”. You can expose lots of properties through parameters and let Tableau to invoke them on the fly. Imagine you have drop downs in the Tableau dashboard to passing parameters to SSRS reports to precisely control the chart rendering. This is probably what Tableau is lacking of at the moment.
  • Powerful operational reports. SSRS far better superior operational reports capability than Tableau. Now you can use Tableau to give the user a high level glance and dive into super detailed details.
  • SSRS has auto refresh feature that you can let the chart to refresh every X seconds. Great for operational BI. (I have tested whether the auto refresh is working inside Tableau web page control myself. I’ll test it out later.)
  • SSRS has actions (Similar to Tableau dashboard action) that can chain various SSRS reports together to provide “guided navigation” as well as “execute some operational tasks” together with each SSRS report execution. Imagine the scenario that you deep dive into the details and then click the report action inside the SSRS report which invoke a SQL Server Integration Services Package (SSIS, Microsoft’s ETL platform) on the fly and execute a Python script to generate another Tableau Data Extract. I don’t want to dive into details. But when you bring the entire Microsoft BI stack together, you are talking about something beyond the imagination.

The Power View should work as well using this URL integration approach but at this stage, Tableau offers much better interactivity. As the Power BI platform gets more mature, maybe it is another great story. Stay tuned…

Categories: BI, Power BI, SSRS, Tableau Tags: , , ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: