--- title: "Advanced Topics" slug: "advanced-topics" updated: 2022-11-24T13:26:42Z published: 2022-11-24T13:26:42Z canonical: "docs.preset.io/advanced-topics" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.preset.io/llms.txt > Use this file to discover all available pages before exploring further. # Advanced Topics ## Overview Preset offers advanced functionality for power users, such as using Jinja templating when querying and using table joins in SQL Lab. This chapter features articles focused on these—and other advanced functionalities—as well as how to optimize your experience when using Preset. Please explore the articles below to learn more. --- ## Exploring Data [**Jinja Templating**](/v1/docs/parametrizing-queries-using-jinja) Preset's SQL Lab supports query templating via the Jinja Framework, which is a web template engine for the Python programing Language. [**Table Joins**](/v1/docs/table-joins) Examples of restrictions relating to writing query joins in SQL Lab. [**Annotations**](/v1/docs/annotations) Introduction to annotations and how they add more context to a chart by including a layer of content. [**Using Metrics and Caculated Columns**](/v1/docs/using-metrics-and-calculated-columns) Explanation of best practices for using metrics, how to efficiently use metrics (e.g., grouping, conditional percentages), using custom SQL in a metric, and real-world use cases for creating useful calculated columns. [**Rolling Window**](/v1/docs/rolling-window) In instances when there is a lot of data variability, a rolling window function will enable you to use a statistical value to represent the values. [**Time Comparison**](/v1/docs/time-comparison) Time Comparison advanced analytics are used to compare data points from a date on the x-axis with a specified Time Shift. [**Python Functions**](/v1/docs/python-functions) How to use Python functions when there is missing data for time periods. --- ## Maximizing Performance [**Maximizing Performance**](/v1/docs/maximizing-performance) Introduction to how to optimize your database for querying, enhance your dashboards for viewing, and improve access to your dashboard. [**Caching in Preset**](/v1/docs/caching-in-preset) How Preset uses caching to facilitate more efficient access to data.