URL Actions are a great way to give your users additional interactivity inside a dashboard.
For example, one can use them to drive “nested content” like a web page or a Google Map inside a dashboard. Example here .
With the URL Action, you can make this nested content refresh itself with new information based on clicks in another sheet, too. Cool stuff.
However, from time to time that nested content won’t show up once you publish the dashboard to Tableau Server. Why?
Most likely, your’re running into the X-Frame-Options setting on the server hosting the thing you’re trying to embed. You can read more about “click-jacking” and X-Frame-Options here.
If the server (let’s say, “foo.com”) which hosts the content you want to embed uses this option, you’re pretty much hosed, because it’s essentially telling your browser “Don’t allow people to host this content in an iframe if the request for this stuff isn’t ALSO coming from foo.com”.
So the good news is…you did nothing wrong, nor did Tableau. The bad news is, you might not be able to embed after all. Here’s what google maps returns to me by default – not good!:
HTTP/1.1 302 Found
Location: https://maps.google.com/maps?f=q&hl=en&q=hotel&near=01450&
Cache-Control: private
Content-Type: text/html; charset=UTF-8
X-Content-Type-Options: nosniff
Date: Tue, 29 May 2012 12:30:32 GMT
Server: mfe
Content-Length: 366
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN //zoinks!