Linking interactions

You can add various linking interactions to a dashboard, such as adding a link to another dashboard for a deeper dive into data specifics. For example, a visualization showing sales revenue across a world map can link to a completely different dashboard that breaks down the specific data points of each major city in a regional area. Both visualizations and shapes can link to another dashboard, custom URL, report, or another tab in the same dashboard.

Link to a custom URL

Configure a custom URL with a token

Custom URL linking can also use the token syntax row.<fieldname>.value instead of a relative or local URL. For example, a table visualization might have multiple fields of URLs that connect to a token and can open on a new tab when a user selects the URL.

A table with two columns: Link and Resource. The links under the Link column use the token $row.Link.value$ as the custom URL.

Expand the window to see the full source code for the example of using a token as a custom URL. Notice the $row.Link.value$ token used as the url.



{
    "visualizations": {
        "viz_w5uvUoyO": {
            "type": "splunk.table",
            "options": {},
            "dataSources": {
                "primary": "ds_tZlX9WS9"
            },
            "title": "Using $row.Link.value$ as the custom URL link",
            "eventHandlers": [
                {
                    "type": "drilldown.customUrl",
                    "options": {
                        "url": "$row.Link.value$",
                        "newTab": true
                    }
                }
            ],
            "description": "Select a value from the Link column"
        }
    },
    "dataSources": {
        "ds_tZlX9WS9": {
            "type": "ds.search",
            "options": {
                "query": "| makeresults count=3 \n| streamstats count\n| eval Resource=case(count=1, \"Splunk.com\", count=2, \"Splunk Documentation\", count=3, \"Splunk Community\")\n| eval Link=case(count=1, \"https://www.splunk.com/\", count=2, \"https://docs.splunk.com/Documentation\", count=3, \"https://community.splunk.com/\")\n| fields - count _time"
            },
            "name": "Search_1"
        }
    },
    "defaults": {
        "dataSources": {
            "ds.search": {
                "options": {
                    "queryParameters": {
                        "latest": "$global_time.latest$",
                        "earliest": "$global_time.earliest$"
                    }
                }
            }
        }
    },
    "inputs": {
        "input_global_trp": {
            "type": "input.timerange",
            "options": {
                "token": "global_time",
                "defaultValue": "-24h@h,now"
            },
            "title": "Global Time Range"
        }
    },
    "layout": {
        "tabs": {
            "items": [
                {
                    "layoutId": "layout_1",
                    "label": "New tab"
                }
            ]
        },
        "layoutDefinitions": {
            "layout_1": {
                "type": "absolute",
                "options": {
                    "width": 1440,
                    "height": 960,
                    "display": "auto"
                },
                "structure": [
                    {
                        "item": "viz_w5uvUoyO",
                        "type": "block",
                        "position": {
                            "x": 50,
                            "y": 60,
                            "w": 590,
                            "h": 200
                        }
                    }
                ]
            }
        },
        "globalInputs": [
            "input_global_trp"
        ]
    },
    "description": "",
    "title": "Custom URL using a token"
}

Switch to another tab

Switch to another tab in the same dashboard if the dashboard has multiple tabs.

To set up the switch to tab interaction, complete the following steps:

  1. Select the visualization that you want to link to another tab. Selected visualizations highlight with a blue border.

  2. Navigate to the Interactions section of the Configuration panel.

  3. Select +Add interaction.

  4. Select Switch to tab from the On click dropdown list.

  5. Choose the tab you want to switch to from the Select a tab dropdown list.

  6. Select Apply.

Link to another dashboard

Source code for linked dashboard example

The source code example shows where you set a token's value and its name in the table. In this example, the token's value is row.splunkd.value, and the token's name is token_example.

{
    "type": "splunk.table",
    "options": {
        "columnFormat": {
            "splunk_assist_internal_log": {
                "width": 66
            },
            "splunk_secure_gateway_modular_input.log": {
                "width": 85
            }
        }
    },
    "showProgressBar": false,
    "showLastUpdated": false,
    "dataSources": {
        "primary": "ds_rv9OQcNy"
    },
    "eventHandlers": [
        {
            "type": "drilldown.linkToDashboard",
            "options": {
                "app": "search",
                "dashboard": "classic__clone",
                "tokens": [
                    {
                        "token": "token_example",
                        "value": "row.splunkd.value"
                    }
                ],
                "newTab": true
            }
        }
    ],
    "context": {}
}

Set tokens with a linked dashboard

You can pass token values from one dashboard to another linked dashboard. You can use more than one token. For steps to pass token values, see Setting tokens in this topic and Setting tokens from search results or search job metadata.

Example of linking to a dashboard

The following example links a dashboard from a table visualization. The table has a token set on the value splunkd. When you interact with the table and select a value in the splunkd column, Dashboard Studio opens a new tab with the linked dashboard.

Screenshot of the two dashboards side by side. When you select a value in the splunkd column on the leftmost dashboard, the time chart on the rightmost dashboard opens in a new tab.

Link to a report

Investigate data deeper by linking to a search

Custom search tokens

You can enter any predefined token in a custom search. Dashboard Studio supports the following predefined tokens:

  • name
  • value
  • row.<fieldname>.value

For details about tokens, see Setting tokens on a visualization click.

Custom time range options

Custom link to search has the following time range options:

  • Auto matches the time range to the visualization's existing search time range. If no time ranges are available, the Auto option is inactive.
  • Static provides a selection of typical time ranges and ways to customize time ranges. You can select a time range from the Time range dropdown list.
  • Input sets the time range by interactive dashboard inputs. You can select an input from the Time range dropdown list. If no time range inputs are available, the Input option is inactive.

The results for an Auto linked search vary depending on the object associated with the search. For example, a search linked to a bubble map bases its results on the geographic boundaries of the circle selected. A search linked to an area chart bases its results on the selected data point and the timestamp associated with that data point. A search linked to a table bases its results on the selected table.

Source code

You can see the link to search in the eventHandlers section of the dashboard definition.

{
    "visualizations": {
        "viz_rwLX0WFU": {
            "type": "splunk.area",
            "options": {},
            "dataSources": {
                "primary": "ds_h3Q1Keuz"
            },
            "eventHandlers": [
                {
                    "type": "drilldown.linkToSearch",
                    "options": {
                        "type": "auto",
                        "newTab": true
                    }
                }
            ]
        }
    },
    "dataSources": {
        "ds_h3Q1Keuz": {
            "type": "ds.search",
            "options": {
                "query": "index=_internal  \n|  timechart count by sourcetype"
            },
            "name": "Search_1"
        }
    },
    "defaults": {
        "dataSources": {
            "ds.search": {
                "options": {
                    "queryParameters": {
                        "latest": "$global_time.latest$",
                        "earliest": "$global_time.earliest$"
                    }
                }
            }
        }
    },
    "inputs": {
        "input_global_trp": {
            "type": "input.timerange",
            "options": {
                "token": "global_time",
                "defaultValue": "-24h@h,now"
            },
            "title": "Global Time Range"
        }
    },
    "layout": {
        "tabs": {
            "items": [
                {
                    "layoutId": "layout_1",
                    "label": "New tab"
                }
            ]
        },
        "layoutDefinitions": {
            "layout_1": {
                "type": "absolute",
                "options": {
                    "width": 1440,
                    "height": 960,
                    "display": "auto"
                },
                "structure": [
                    {
                        "item": "viz_rwLX0WFU",
                        "type": "block",
                        "position": {
                            "x": 60,
                            "y": 50,
                            "w": 1340,
                            "h": 640
                        }
                    }
                ]
            }
        },
        "globalInputs": [
            "input_global_trp"
        ]
    },
    "description": "",
    "title": "Auto link to search example"
}