Celiq
v0.12Open app โ†—
Docs/Analytics/Cross filtering

Cross filtering

Click a value on one Mosaic tile and filter every other tile by it, with a clear chip, dimmed tiles, and a shareable URL.

TracerWeaverLuminaryUpdated June 2026 ยท 6 min read
โœฆ
In this section
Part of Celiq's semantic layer platform. Connect your warehouse, model your data once, query it everywhere.
๐Ÿ’ก
Tip
What it is โ€” A way to filter every tile on a Mosaic by a single value you clicked on one chart (for example, narrow the whole dashboard to Country: India).
When to use it โ€” When you spot something interesting on one tile and want every other tile to reflect just that slice.
Where to find it โ€” On any data Mosaic: click a chart point or bar, then choose Filter dashboard by this value from the interaction menu. The active cross-filter shows as a chip in the Filters toolbar.
Who can use it โ€” Tracer, Weaver, and Luminary. Anyone who can open the Mosaic can cross-filter it.

Cross filtering lets you take a value from one tile and use it to constrain the entire dashboard. Instead of editing filters by hand, you click the value you care about and apply it everywhere at once. The clicked tile stays highlighted, the rest dim to show they are now scoped to that value, and a chip in the toolbar tells you exactly what is being filtered.

The interaction is explicit. Clicking a chart value does not filter anything by itself โ€” it opens a small menu where cross-filtering is one of several choices, so you always know what an action will do before it happens.

Overview

When you click a value on a Mosaic tile, Celiq opens an interaction menu anchored at your click position. From that menu you can:

  • Filter dashboard by this value (cross-filter every tile)
  • Drill into a sub-dimension
  • View the underlying rows in Discover
  • Explain the value with Orion

Choosing Filter dashboard by this value sets a single structured cross-filter and applies it across the whole Mosaic. The cross-filter is one object with four fields:

json
{
  "tileId": "tile_abc123",
  "field": "country",
  "value": "India",
  "label": "Country: India"
}
  • tileId โ€” the tile you clicked (the source tile)
  • field โ€” the dimension being filtered (the cross-filter is on the dimension, not the metric of the clicked bar)
  • value โ€” the value to filter to
  • label โ€” the human-readable text shown on the chip, for example Country: India

When tiles re-run, this cross-filter is carried in each tile's run body as cross_filters, and the backend resolves whether it applies to a given tile. The active cross-filter is also written to the page URL so the filtered view can be shared or reloaded.

When to use it

  • You see a spike or outlier on one chart and want every tile to show only that segment.
  • You want to compare one slice across many tiles at once (one channel, one country, one product) without editing each chart.
  • You want to share a pre-scoped view of a dashboard โ€” the cross-filter travels in the URL, so a colleague opening your link sees the same filtered state.

If instead you want to keep the same chart but break a value down by a different dimension, use Drill down. If you want durable, configured filters that stay on the dashboard, use Filters.

Concepts

TermMeaning
Cross-filterA single structured filter { tileId, field, value, label } set by clicking a value and choosing Filter dashboard by this value.
Source tileThe tile you clicked to create the cross-filter. It is highlighted, not dimmed.
Interaction menuThe popup that opens on click, offering cross-filter, drill, view rows, and explain. Clicking a value never applies a filter on its own.
cross_filtersThe field in each tile's run request that carries the active cross-filter so the backend can apply it per tile.
Cross-filter chipThe pill in the Filters toolbar showing the active cross-filter's label, with a Reset button.
Reset interactionsThe action that clears the cross-filter plus any open drill menu or drill-through, returning the Mosaic to its unfiltered state.

Getting started

๐Ÿ“
Note

Cross filtering works on data tiles that render an interactive chart (for example bar, line, and similar charts). Presentational tiles such as text, dividers, and media have nothing to click, so they cannot start a cross-filter.

To use cross filtering you only need:

  • A Mosaic with at least one data tile.
  • A chart whose values you can click (a bar, a point, a segment).

Open the Mosaic you want to explore. No edit mode is required โ€” cross filtering works while you are simply viewing the dashboard.

Step-by-step

1

Open a Mosaic and find a value

Open the Mosaic and locate the tile and value you want to filter the dashboard by โ€” for example a single bar on a "Revenue by country" chart.

2

Click the value to open the interaction menu

Click the bar, point, or segment. A small menu opens at your click position, headed by the value you clicked (for example Country: India). Nothing is filtered yet โ€” the click only opens the menu.

3

Choose Filter dashboard by this value

Select Filter dashboard by this value (labeled cross-filter every tile, marked with the โŒ– icon). Celiq sets the cross-filter and re-runs the tiles.

4

Read the visual treatment

The tile you clicked stays highlighted with a purple ring; every other tile dims to show it is now scoped to your value. A chip appears in the Filters toolbar reading, for example, โŒ– Country: India.

5

Share the view (optional)

The active cross-filter is encoded in the page URL as ?crossFilter=. Copy the URL to share the exact filtered state, or reload to restore it.

6

Reset when done

Click Reset on the cross-filter chip to clear the cross-filter and return the dashboard to its full, undimmed state.

Examples

Suppose you have a Mosaic with three tiles: revenue by country, orders over time, and top products. You notice India is unusually high on the country tile and want every tile to reflect India only.

  1. Click the India bar on the revenue-by-country tile. The interaction menu opens with the heading Country: India.
  2. Choose Filter dashboard by this value.

Celiq sets this cross-filter:

json
{
  "tileId": "tile_revenue_by_country",
  "field": "country",
  "value": "India",
  "label": "Country: India"
}

When the tiles re-run, each one receives the cross-filter in its run body. The shape carried per tile is:

json
{
  "cross_filters": [
    { "field": "country", "operator": "=", "value": "India" }
  ]
}

The revenue-by-country tile (the source) stays highlighted; orders-over-time and top-products dim and re-run scoped to India. The toolbar shows the chip โŒ– Country: India, and the URL gains a ?crossFilter= parameter holding the base64-encoded cross-filter. Sending that link to a teammate opens the same India-scoped view.

Best practices

  • Treat the highlighted tile as your anchor โ€” it is the source of the current cross-filter, so you always know where the filter came from.
  • Use the chip label to confirm what is applied before you read the rest of the dashboard. The label always names the dimension and value (for example Country: India).
  • Share the URL, not a screenshot, when you want a colleague to land on the same filtered view โ€” the cross-filter is encoded in the link.
  • Reach for cross filtering for quick, exploratory slicing. For filters that should persist on the dashboard for everyone, configure proper Filters instead.

Tips

๐Ÿ’ก
Tip

The cross-filter is applied on the dimension, not the metric of the bar you clicked. Clicking the tallest revenue bar for India filters by country = India, not by the revenue number โ€” so the label reads Country: India, not the dollar value.

Common mistakes

โš ๏ธ
Warning
Expecting a click to filter immediately. Clicking a chart value only opens the interaction menu. You must choose Filter dashboard by this value for the cross-filter to apply. This is intentional, so the same click can also drill, view rows, or explain.

Forgetting a cross-filter is active. A dimmed dashboard with a chip in the toolbar means a cross-filter is in effect. If numbers look smaller than expected, check for a โŒ– chip and Reset it.

Stacking interactions. Only one cross-filter is active at a time. Choosing a new value replaces the current cross-filter rather than adding to it.

Troubleshooting

SymptomCauseFix
Clicking a value does nothingThe chart point did not resolve to a dimension field and value (for example a presentational tile, or a point with no identifiable dimension)Click a data tile with a clear dimension (bar, point, or segment); presentational tiles cannot start a cross-filter.
The menu opens but the dashboard is not filteredYou opened the interaction menu but did not choose an actionSelect Filter dashboard by this value to apply the cross-filter.
Other tiles are dim and numbers look lowA cross-filter is activeClick Reset on the โŒ– chip in the Filters toolbar to clear it.
A reopened link is already filteredThe shared URL carried a ?crossFilter= parameterThis is expected โ€” the cross-filter is restored from the URL. Click Reset to clear it.
A tile ignores the cross-filterThe cross-filter's field does not apply to that tileThis is expected: the cross-filter is resolved per tile, so tiles that do not contain the field stay unfiltered.