KNOWLEDGE BASE

URL Action Not Available When Aggregating a Dimension by Attribute Function


Published: 20 Jun 2014
Last Modified Date: 31 Aug 2016

Issue

When using a URL Action that passes the value of a dimension aggregated by the Attribute Function, the URL Action is unavailable. For example, marks that have a common, single dimension value for the dimension aggregated by ATTR() will display the URL Action. Marks that contain multiple dimension members for the dimension aggregated by ATTR() will not display a URL Action.

Environment

  • Tableau Desktop
  • URL Action that passes a value for a dimension aggregated by the Attribute Function

Resolution

Step 1: Create a Calculated Field Using that displays 'All' in place of '*'
  1. Select Analysis > Create Calculated Field
  2. Name the field. Consider including the name of the dimension in it. For example, AtrRegion.
  3. In the Formula field, type the following and click OK.
IF MIN([Dimension]) = MAX([Dimension]) THEN MIN([Dimension]) ELSE 'All' END
 
Step 2: Create a Calculated Field that Conditionally Returns either a blank value or the dimension value
  1. Select Analysis > Create Calculated Field
  2. Name the field. Consider including the name of the dimension in it. For example, AtrRegion.
  3. In the Formula field, type the following and click OK.
IF MIN([Dimension]) = MAX([Dimension]) THEN 'Dimension' ELSE '' END
 
Step 3: Modify the URL Action to Reference Both Calculated Fields
  1. Select Worksheet > Actions for Worksheet Actions, or Dashboard > Actions for Dashboard Actions
  2. Select the URL Action and click Edit
  3. In the URL field, type the following.
<Worksheet or Dashboard URL>?&<Calculated Field from Step 2>=<Calculated Field from Step 1>

Cause

The ATTR() function returns an Asterisk (*) when the minimum value of a dimension is not equal to the maximum value of a dimension for a given mark. URL Actions require that a valid value be present for any fields specified in the URL, and ignore any asterisk values returned by the Attribute function.
Did this article resolve the issue?