How to add an ‘All’ parameter option in Tableau

Ever wanted to include an ‘All’ option in your Tableau parameters? Simple! Here’s how:

  1. Create your parameter with the options available. In this example I’m creating one for [Region]. Make sure to manually add the ‘ALL’ option.
  2. Drag the corresponding field you will be filtering on to the filters shelf
  3. Right click on the field and choose ‘Filter’ then the ‘Condition’ tab
  4. In the ‘By Formula’ radio option on the bottom enter the formula below, replacing my [Region] fields with your own
  5. Revel in your accomplishment


IFNULL([Region],'Null') = IF [Region Parameter] != 'ALL' THEN [Region Parameter] ELSE IFNULL([Region], 'Null') END

Customizing Tableau Server Logos and Icons

When deploying Tableau Server for a client, I often find that clients wish to customize their Tableau Server environment with their own branding. The Tableau Server Administration Guide offers some options for customizing Tableau Server however it is limited in what it allows.

Here are the default options that you can customize using tabadmin commands found in the Tableau Server Administration Guide.

Changing the Name

You can customize Tableau Server’s look and feel by customizing the name that
appears in screen tips and messages. To change the name:

  1. Open a command prompt as an administrator and type the following:

  2. 32-bit: cd "C:\Program Files\Tableau\Tableau Server\7.0\bin"
    64-bit: cd "C:\Program Files (x86)\Tableau\Tableau Server\7.0\bin"

  3. Change the name by typing the following:

  4. tabadmin customize name "new_name"

    In the above line, replace “new_name” with the text that you want to appear as
    the name on the server. Example: tabadmin customize “Company
    Server”

  5. Restart the server for the change to take effect by typing:
  6. tabadmin restart

Changing the Logo

You can customize Tableau Server’s look and feel by customizing the logo that appears
on the Tableau Server login page and in the left column of most pages. To change the
logo:

Note: This does not include the site favicon or Tableau Server Icon displayed when viewing a dashboard. More on that below.

  1. Open a command prompt as an administrator and type the following:

  2. 32-bit: cd "C:\Program Files\Tableau\Tableau Server\7.0\bin"
    64-bit: cd "C:\Program Files (x86)\Tableau\Tableau Server\7.0\bin"

  3. Change the logo by typing the following:
  4. tabadmin customize logo "C:\My Pictures\logo.png"

    In the above line, replace “C:\My Pictures\logo.png” with the path and file
    name of the image that you want to appear as the logo on the server. For best
    results, use an image that is 125 pixels x 35 pixels in size. The image can be a
    .png, jpg, or .gif file.

  5. Restart the server for the change to take effect by typing:
  6. tabadmin restart

 

Customizing the Tableau Server icons

(Not officially supported by Tableau)
In this example E is the root of where I installed Tableau. I do this so that I can have a faster disk with more storage capacity than the C drive. I recommend this practice for all instances where you can afford it.

E:\Tableau\Tableau Server\7.0\server.ico
E:\Tableau\Tableau Server\7.0\wgserver\public\favicon.ico
E:\Tableau\Tableau Server\7.0\wgserver\public\v_70001201131054\favicon.ico
E:\Tableau\Tableau Server\7.0\wgserver\public\v_70001201131054\images\server-logo.gif
E:\Tableau\Tableau Server\7.0\wgserver\public\v_70001201131054\images\tableau-icon.gif

If you try this solution and find additional images that need to be replace, or if anyone wants to make a script for this please reply in the comments with what you found!

Amazon EC2 Hosting and Tableau

Recently I started working with the Amazon EC2 (more) and have been pleasantly surprised. In about 20 minutes I was able to create my own Windows 2008 R2 Data Center Edition Server in the cloud with enough space to run Tableau Server.

Choosing one of the basic configurations from Amazon makes life easy to provision enough horsepower to run a product like Tableau Server but of course there are many more ways you can customize your instance to meet you or your customers needs. Full disclosure, I plan on offering cloud based Tableau Server hosting to my consulting clients so my idea that cloud services like hosted Tableau becoming the new standard for niche BI vendors is a clear alignment of interests.

That said, from start to finish I had a fully functional Tableau Server environment within an hour and was able to access it externally as well. One downside I see here is the lack of Active Directory integration for clients however, Tableau fully supports this, there would just be some networking voodoo needed to make it work.

Without Active Directory integration Tableau Server uses forms based authentication. This means you have to setup each user individually or by script. All in all the trade offs between trying to deploy an on-premise Tableau Server implementation and a cloud based one, the cloud one is definitely attractive.

I haven’t fully explored what all the EC2 has to offer however I can assure you that as I start offering it to clients I’ll post updates about the ins and outs of using Tableau Server on the Amazon EC2 cloud environment.

Full Device Encryption on Android 4.0

After upgrading my mobile device to the Nexus S from Google, I was poking around in the security settings when I found something new. Android 4.0 now has full-device encryption capabilities. This means that while enterprises wishing to gain the usefulness and beauty of information design presented by mobile BI vendors like Roambi but have been skeptical of data security now can rest at ease.

The full-device encryption and Android 4.0 isn’t easy however. Device owners must secure their device with a password or pin, so no fun face-unlock capabilities but for many used to dealing with corporate BlackBerrie’s I’m sure this is a minimal sacrifice.

After going to Settings > Security to enable encryption, you must provide a password or pin. The next step is for your device to reboot and encrypt all of its contents. During this time you’ll see the following screen:

This process will take about an hour. Once this process finishes you’ll now be required to enter your password to decrypt the device anytime you reboot it. Here is what that screen looks like:

That’s all I’ve got so far, I’ll update this post with more details as I get them. The main thing here, and reason I posted this is to draw attention to Android 4.0 device security for mobile BI vendors. Anyone serious about mobile BI and Data Security should start adopting this platform.

Hacking Excel Web Queries

If you are unfamiliar with web quries its ok, their easy, and I’m gonna explain how they work and how to manipulate them beyond their intended use to increase their flexability.

Breifly, a web query is a great way to automate the mundane task of going to a web page and copying the data into an excel sheet. Basically you tell excel where to look (web page) and what to copy (tables of data) and Excel will automatically import the data into a worksheet for you.

Lets get started by creating a simple web query. I decided to use some basketball stats from espn.com. So to create my basic web query I open up a new workbook, find the ‘Data’ item from the menu then go to ‘Import external data’ and ‘New web query’.

In the URL portion of the web query window enter the URL of the web site you want to pull data from and click Go. I used ‘http://sports.espn.go.com/nba/teams/stats?team=pho’.

Next you may want to setup some options as far as how the import is gonna look. To do this click on the ‘options’ button in the top left corner of the query window.

Excel Web Query Import Options Dialogue

In the options window I chose to return the data using full html formatting.

After clicking ok you should be returned to the query window. Now we need to select the tables of data on the page to return.

Note: If the page layout changes frequently you may want to just return the entire page. In that case skip this step.

To select the table of data simply click on the yellow arrow next to the data and it should turn green.

The last thing before we actually import the data that were going to want to do is to save the web query somewhere.

To save the web query simply click on the save icon next to the options button of the query window.

After clicking import you may see a dialogue box asking you where to put it and to select any additional properties. Some that you may want to play with here would be the ‘overwrite existing cells’ and ‘fill down formulas’.

Ok, so now that we have our basic web query setup, lets have some fun with it.

I have compiled a list of nba teams and their associated 3 character abbreviation used in the URL on espn.com. I’m going to load these into a visual basic combo/edit box and get the web query to update automatically when I select a new team. If you are unfamiliar with how to setup a visual basic combo/edit box please read my tutorial on this found here.

With our teams loaded into a combo box I’m going to open up the saved web query and make some changes that will allow it to accept the three character team abbreviation as a parameter when executing.

To edit he web query file simply right click on it and select ‘edit with notepad’.

WEB
1

http://sports.espn.go.com/nba/teams/stats?team=pho

Selection=2
Formatting=All
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=False

To make this web query accept parameters for our selected team we need to replace the ‘pho’ of the URL with ‘[“team”,””]’. The new web query will look like this…

WEB
1

http://sports.espn.go.com/nba/teams/stats?team=[“team”,””]

Selection=2
Formatting=All
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=False

Note: You can setup multiple parameters here for any part of the URL

After making the adjustments to your URL save the web query.

Now that we have a dynamic web query ready to be used, we need to first delete our old web query cached in the workbook and use the new one we just created. Once you have deleted the original web query in the workbook, go to Data>>Import External Data>>Import Data. A dialogue box will open asking you to select a data source, browse to the web query you just saved and select it.

If everything worked as planned the ‘Import Data’ box should have the ‘Parameters’ button avialbale.

After setting any properties from the properties box, click on Parameters.

Hacking Excel Web Queries Parameters Select Window

As you can see our ‘team’ parameter is avialble to us now. On the ‘teams’ tab setup we are going to want to have a field that looks up the three character code for the selected team. Then choose the third option on the ‘parameters’ box and browse to that cell.

Hacking Excel Web Queries Parameter Selected Options

You may also wish to check the ‘refresh automatically’ check box so that when you change your selected team, the information returned updates as well.

If everything went well you should be done besides any formatting changes you may need to make…

One thing that I did have to mess with to get to work was in the cell that had the three character code used in the URL. I had to use the TEXT() formula to convert make sure it was in the correct format when being passed to the web query. I’ve found that no matter what you’re passing, (dates, numbers, text, etc…) its always good to use the TEXT() function to make sure the value is being read in the correct format.

Downloads:

Hacking Excel Web Queries Sample File