# Create Hyperlinks or "Tabs" to Connect Sets of Reports

It's often helpful to link multiple reports together to create a unified experience for the end user. By linking multiple reports together, the end user can experience a set of reports as if they were a single report, making it easier for users to use and find/discover the reports.

The most popular way to accomplish this is to create pseudo "tabs" or "buttons" that link back and forth to other reports. Here's an example:

![](/files/-M4GM--xH3ckiV9SXVFS)

The "tabs" and "buttons" in the screenshot above are nothing more than text fields with hyperlinks to entirely separate but related reports.

The key to creating a unified experience for the user is to ensure that any filters that the user has selected are carried over to the other reports when they click on the hyperlink. Follow the steps below to create a hyperlink that carries over all the filters to the target report.

## Step 1: Create and Install the Reports

The first step is to create *and install* your separate reports, *without the hyperlinks*. The reports need to be installed without the hyperlinks first because you must have a **report id** in order to create a hyperlink to the report. A report ID is assigned only when a report is installed. So the process requires first installing the reports and then updating the reports with the hyperlinks.

## Step 2: Add the Hyperlinks

First, Add a simple text field to your report where the user will click to switch to another report. You can add a rectangle with a radius (i.e. rounded corners) underneath the text field to make it look like a tab.

Next, select your textfield and: 1. Go to the **Properties** tab 2. Select **Hyperlink** 3. Click the **+** next to “Hyperlink”. 4. Set the “Link Target” to **Parent** 5. Set the “Link Type” to **Reference** 6. **Copy and paste the long expression below** into the “Hyperlink Reference Expression” field.

![](/files/-M4GM--zbglD84a8LFB1)

Finally, you need to customize the “Hyperlink Reference Expression”:

1. Change "DEMO" to **your Illuminate domain**.
2. Change "prebuilt\_id=123" to the **report id** of the report you are linking to.
3. You *may* need to change the **"/live/"** after the "illuminateed.com" to **"/dna/"** depending on your Illuminate site.  Just look at the url when you are logged in to your Illuminate to see if your Illuminate site uses "/live/" or "/dna/".

```
"https://DEMO.illuminateed.com/live/?page=PrebuiltReport_JasperCustomReportController&debug="
+"&jasper_prebuilt_id=123"
+"&fw_form_form_test=1"
+"&site_id="+$P{site_value}
+"&date="+($P{date_value}==null? "" : ($P{date_value}.contains("Control Panel") ? "logged_in_date" : $P{date_value}.contains("Current Year") ? "current_year" : "custom"))
+"&date_other_start="+($P{date_other_start}==null ? "" : URLEncoder.encode($P{date_other_start},"UTF-8"))
+"&date_other_end="+($P{date_other_end}==null ? "" : URLEncoder.encode($P{date_other_end},"UTF-8"))
+"&group_id="+$P{group_value}
+"&course_id%5B%5D="+($P{course_value}==null ? "" : ($P{course_value}.replaceAll(", ","&course_id%5B%5D=")))
+"&race_slash_ethnicity="+$P{english_proficiency_value}
+"&gender="+$P{gender_value}
+"&is_special_ed="+$P{is_special_ed_value}
+"&is_sed="+$P{is_sed_value}
+"&user_id%5B%5D="+($P{user_value}==null ? "" : ($P{user_value}.replaceAll(", ","&user_id%5B%5D=")))
+"&section_id%5B%5D="+($P{section_value}==null ? "" : URLEncoder.encode($P{section_value},"UTF-8"))
+"&student_id%5B%5D="+($P{student_value}==null ? "" : URLEncoder.encode($P{student_value},"UTF-8"))
+"&non_visibility_group_id="+$P{non_visibility_group_value}
+"&english_proficiency%5B%5D="+$P{english_proficiency_value}
+"&department_id%5B%5D="+$P{department_value}
+"&grade_level_id%5B%5D="+($P{grade_level_value}==null ? "" : ($P{grade_level_value}.replaceAll(", ","&grade_level_id%5B%5D=")))
+"#report"
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://colah.gitbook.io/illuminate-bi-tool-guide/jaspersoft_studio_tips_and_tricks/create-hyperlinks-or-tabs-to-connect-sets-of-reports.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
