Skip to main content
Basic Usage
{% calendar_heatmap
    data="demo_daily_orders"
    date="date"
    value="sum(total_sales)"
/%}

Examples

Calendar Heatmap with Custom Colors

Calendar Heatmap with Custom Colors
{% calendar_heatmap
    data="demo_daily_orders"
    date="date"
    value="sum(total_sales)"
    title="Daily Sales Heatmap"
    chart_options={
        color_palette = ["#0d0887", "#6300a7", "#a62098", "#d5546e", "#f68d45", "#fcd225", "#f0f921"]
    }
/%}

Calendar Heatmap with Conditional Colors

{% calendar_heatmap
    data="demo_daily_orders"
    date="date"
    value="sum(total_sales)"
    title="Sales Performance Heatmap"
    chart_options={
        conditional_colors = "case when sum(total_sales) > 1000 then '#22c55e' when sum(total_sales) > 500 then '#f59e0b' else '#ef4444' end"
    }
/%}

Calendar Heatmap with Conditional Colors and Legend

{% calendar_heatmap
    data="demo_daily_orders"
    date="date"
    value="sum(total_sales)"
    title="Sales Performance Heatmap"
    chart_options={
        conditional_colors="case when sum(total_sales) > 1000 then '#22c55e' when sum(total_sales) > 500 then '#f59e0b' else '#ef4444' end"
        color_map={
            "#22c55e"="High Sales"
            "#f59e0b"="Medium Sales"
            "#ef4444"="Low Sales"
        }
    }
/%}

Attributes

data
String
required
Name of the table to query
filters
Array
default:"[]"
Array of column names to use as filters
date_range
Use date_range to filter data for specific time periods. Accepts predefined ranges (e.g., “last 12 months”), dynamic ranges (e.g., “Last 90 days”), custom date ranges (e.g., “2020-01-01 to 2023-03-01”), or partial ranges (e.g., “from 2020-01-01”, “until 2023-03-01”)Example:
date_range={
  range = value
  date = "string"
}
Attributes:
  • range: enum
  • date: string
date
String
required
Column name for dates
value
String
required
Column name for cell values
title
String
Title to display above the chart
subtitle
String
Subtitle to display below the title
info
String
Information tooltip text (can only be used with title)
URL to link the info text to (can only be used with info)
Create a custom link title for the info link, placed after the info text (can only be used with info_link)
value_fmt
String
default:"num"
Format for values
legend
Boolean
default:"true"
Show color scale legend
borders
Boolean
default:"true"
Show borders between calendar cells
chart_options
default:"{}"
Chart configuration optionsExample:
chart_options={
  color_palette = []
  conditional_colors = "string"
  color_map = value
}
Attributes:
  • color_palette: array
  • conditional_colors: string
  • color_map: record
where
String
Custom SQL WHERE condition to apply to the query. For date filters, use date_range instead.
having
String
Custom SQL HAVING condition to apply to the query after GROUP BY
limit
Number
Maximum number of rows to return from the query
order
String
Column name(s) with optional direction (e.g. “column_name”, “column_name desc”)
qualify
String
Custom SQL QUALIFY condition to filter windowed results
width
Number
Set the width of this component (in percent) relative to the page width