Skip to content

Commit

Permalink
GITBOOK-11: No subject
Browse files Browse the repository at this point in the history
  • Loading branch information
UsenPang authored and gitbook-bot committed May 15, 2024
1 parent 4fe55d4 commit a8c97c7
Show file tree
Hide file tree
Showing 25 changed files with 581 additions and 49 deletions.
Binary file added .gitbook/assets/image (12).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 18 additions & 4 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,30 @@
* [clickhouse sink connect](zhun-bei-kai-shi/huan-jing-da-jian/clickhouse-sink-connect.md)
* [Supserset](zhun-bei-kai-shi/huan-jing-da-jian/supserset.md)
* [创建你的第一个仪表板​](zhun-bei-kai-shi/chuang-jian-ni-de-di-yi-ge-yi-biao-ban.md)
* [基础知识](ji-chu-zhi-shi.md)
* [基础知识](ji-chu-zhi-shi/README.md)
* [图表数据](ji-chu-zhi-shi/tu-biao-shu-ju/README.md)
* [高级分析](ji-chu-zhi-shi/tu-biao-shu-ju/gao-ji-fen-xi.md)
* [时间范围配置](ji-chu-zhi-shi/tu-biao-shu-ju/shi-jian-fan-wei-pei-zhi.md)
* [图表定制化配置](ji-chu-zhi-shi/tu-biao-ding-zhi-hua-pei-zhi.md)
* [编辑数据集](ji-chu-zhi-shi/bian-ji-shu-ju-ji.md)
* [用户与权限](ji-chu-zhi-shi/yong-hu-yu-quan-xian.md)
* [进阶用法](jin-jie-yong-fa/README.md)
* [使用WITH语句简化查询](jin-jie-yong-fa/shi-yong-with-yu-ju-jian-hua-cha-xun.md)
* [日期范围的配置](jin-jie-yong-fa/ri-qi-fan-wei-de-pei-zhi.md)
* [高级分析](jin-jie-yong-fa/gao-ji-fen-xi.md)
* [仪表板过滤器](jin-jie-yong-fa/yi-biao-ban-guo-lv-qi/README.md)
* [过滤器类型](jin-jie-yong-fa/yi-biao-ban-guo-lv-qi/guo-lv-qi-lei-xing.md)
* [预过滤数据](jin-jie-yong-fa/yi-biao-ban-guo-lv-qi/yu-guo-lv-shu-ju.md)
* [父子过滤器](jin-jie-yong-fa/yi-biao-ban-guo-lv-qi/fu-zi-guo-lv-qi.md)
* [过滤器配置](jin-jie-yong-fa/yi-biao-ban-guo-lv-qi/guo-lv-qi-pei-zhi.md)
* [过滤器应用范围](jin-jie-yong-fa/yi-biao-ban-guo-lv-qi/guo-lv-qi-ying-yong-fan-wei.md)
* [交叉过滤](jin-jie-yong-fa/yi-biao-ban-guo-lv-qi/jiao-cha-guo-lv.md)
* [数据钻取](jin-jie-yong-fa/shu-ju-zuan-qu/README.md)
* [钻取图表详细数据](jin-jie-yong-fa/shu-ju-zuan-qu/zuan-qu-tu-biao-xiang-xi-shu-ju.md)
* [维度的向下钻取](jin-jie-yong-fa/shu-ju-zuan-qu/wei-du-de-xiang-xia-zuan-qu.md)
* [使用 Jinja 参数化查询](jin-jie-yong-fa/shi-yong-jinja-can-shu-hua-cha-xun/README.md)
* [使用 Jinja 检索过滤器值](jin-jie-yong-fa/shi-yong-jinja-can-shu-hua-cha-xun/shi-yong-jinja-jian-suo-guo-lv-qi-zhi.md)
* [使用 Jinja 操作图表的自定义 SQL 筛选器](jin-jie-yong-fa/shi-yong-jinja-can-shu-hua-cha-xun/shi-yong-jinja-cao-zuo-tu-biao-de-zi-ding-yi-sql-shai-xuan-qi.md)
* [使用 Jinja 操作图表的聚合列](jin-jie-yong-fa/shi-yong-jinja-can-shu-hua-cha-xun/shi-yong-jinja-cao-zuo-tu-biao-de-ju-he-lie.md)
* [在 SQL Lab 中使用模板参数](jin-jie-yong-fa/shi-yong-jinja-can-shu-hua-cha-xun/zai-sql-lab-zhong-shi-yong-mo-ban-can-shu.md)
* [减少SQL嵌套查询](jin-jie-yong-fa/jian-shao-sql-qian-tao-cha-xun.md)
* [其他工具与文档](qi-ta-gong-ju-yu-wen-dang/README.md)
* [Ubuntu 22.0.4安装](qi-ta-gong-ju-yu-wen-dang/ubuntu-22.0.4-an-zhuang.md)
* [Ubuntu 22.0.4环境配置](qi-ta-gong-ju-yu-wen-dang/ubuntu-22.0.4-huan-jing-pei-zhi.md)
File renamed without changes.
2 changes: 2 additions & 0 deletions ji-chu-zhi-shi/bian-ji-shu-ju-ji.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# 编辑数据集

2 changes: 2 additions & 0 deletions ji-chu-zhi-shi/tu-biao-ding-zhi-hua-pei-zhi.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# 图表定制化配置

2 changes: 2 additions & 0 deletions ji-chu-zhi-shi/tu-biao-shu-ju/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# 图表数据

Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

我们可以看到在“高级分析”这一栏中,有滚动窗口、时间比较、重新采样这三个可选选项。

<figure><img src="../.gitbook/assets/image (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (1) (1).png" alt=""><figcaption></figcaption></figure>

在这一部分将详细讲解这三个选项有什么作用,以及应用这三个选项之后的变化是怎样的。所有的讲解都是基于下面的指标来讲解。

<figure><img src="../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption></figcaption></figure>

上面这个指标筛选了2023-01-01\~2023-12-31之间的数据,并以月为时间粒度来计算“每月产生单据的数量”这个指标。

Expand All @@ -26,21 +26,21 @@

在下图中时间偏移为 1 year ago(一年之前)即为2022年,计算类型为Actual value(实际值),生成了一条虚线折线图来表示。

<figure><img src="../.gitbook/assets/image (8) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (8) (1).png" alt=""><figcaption></figcaption></figure>

在下面这个图中计算类型为“差异”,即2023年与2022年指标的差值。

<figure><img src="../.gitbook/assets/image (4) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (4) (1).png" alt=""><figcaption></figcaption></figure>



下图中计算类型为比率,即2023年与2022年指标的比值。

<figure><img src="../.gitbook/assets/image (6) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (6) (1).png" alt=""><figcaption></figcaption></figure>

下图中计算类型为Percentage change(百分比变化),即(2023年指标-2022年指标的比值)/2022年指标,可以通过这个计算类型来计算这年相对上一年的增长比例。

<figure><img src="../.gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>



Expand Down
File renamed without changes.
2 changes: 2 additions & 0 deletions ji-chu-zhi-shi/yong-hu-yu-quan-xian.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# 用户与权限

Original file line number Diff line number Diff line change
@@ -1,2 +1,113 @@
# 使用 Jinja 操作图表的聚合列

### 概述 <a href="#overview" id="overview"></a>

本文介绍如何使用 Jinja 模板动态更改图表的聚合列:

<figure><img src="https://cdn.document360.io/4749ddf8-aa05-4f3f-80e1-07a5d2d0f137/Images/Documentation/Jinja%20aggregation%20column%20gif.gif" alt=""><figcaption></figcaption></figure>

您可以下载 ZIP 文件以将此示例仪表板导入您的工作区 - 根据您的工作区位置选择选项:

[Jinja 示例 - 动态维度](https://cdn.document360.io/4749ddf8-aa05-4f3f-80e1-07a5d2d0f137/Images/Documentation/Jinja%20example%20-%20dynamic%20dimension.zip)

***

### 过程 <a href="#the-process" id="the-process"></a>

这个过程包括 3 个步骤:

1. 在数据集上创建计算列,该列将用于获取仪表板过滤器值
2. 创建带有选项的数据集来填充我们的仪表板过滤器
3. 配置仪表板

让我们仔细看看每一步。

***

### 步骤 1:在数据集上创建计算列 <a href="#step-1-create-a-calculated-column-on-the-dataset" id="step-1-create-a-calculated-column-on-the-dataset"></a>

在此示例中,我们将使用聚合表格图表(连接到示例数据库中的车辆销售数据集)来计算价格值的总和,并根据通过仪表板过滤器控制的动态维度进行聚合。

在图表生成器视图中,使用 `SUM(price_each)` 作为指标创建聚合表格图表。让我们使用 Jinja 创建一个计算列用作动态维度。为此:

1. 单击数据集名称旁边的三个省略号 (...) > 编辑数据集。
2. 导航到“计算列”选项卡。
3. 使用以下语法创建计算列:

```sql
{% raw %}
{% if filter_values('aggregation')|length %}
{{ filter_values('aggregation')[0] }}
{% else %}
month
{% endif %}
{% endraw %}
```

该语法有一个 if 语句,检查是否有任何值应用于由聚合列支持的仪表板过滤器:

* 如果是这样,过滤器值将被添加到 SQL 语法中,作为要使用的实际列。
* 如果没有,月份将用作默认列。

这是最终结果:

![](https://cdn.document360.io/4749ddf8-aa05-4f3f-80e1-07a5d2d0f137/Images/Documentation/image-1670615527569.png)

保存更改,维度列现在应该可以在图表生成器中使用。将其作为维度添加到图表中:

![](https://cdn.document360.io/4749ddf8-aa05-4f3f-80e1-07a5d2d0f137/Images/Documentation/image-1702066205157.png)

保存图表并将其添加到仪表板。

***

### 步骤 2:创建数据集以填充仪表板筛选器 <a href="#step-2-create-a-dataset-to-populate-the-dashboard-filter" id="step-2-create-a-dataset-to-populate-the-dashboard-filter"></a>

有不同的方法可以实现这一目标:

* 在数据库级别创建表/视图:可能很有用,以便您可以直接在数据库上操作表值;
* 使用 Google Sheets 文件:当您不想在数据库级别处理此问题时很有用。有关将 Google Sheets 作为数据库连接到 Preset 的更多详细信息,请参阅本文。
* 使用临时 SQL 查询:快速方法在仅创建几个选项时非常有用。

我们将在本示例中使用最后一种方法,使用以下查询创建虚拟数据集:

```sql
select 'product_line' as aggregation
union all
select 'country' as aggregation
```

要创建由此 SQL 查询支持的虚拟数据集:

1. 访问您的工作区。
2. 导航到 SQL > SQL Lab。
3. 确保选择了示例连接。
4. 粘贴查询并单击“运行”。
5. 要将其另存为数据集,请单击“保存”下拉列表并选择“保存数据集”。
6. 为您的数据集提供名称,然后单击“保存并浏览”。

**请注意**: 列名(在本例中定义为聚合)由 `filter_values()` 宏在 Jinja 语法上使用。如果使用不同的列名称,请确保更新您的 Jinja 语法。

根据您的数据库引擎,您还可以查询信息架构以列出所有列值 - 例如,此查询可以在 Postgres 数据库上使用:

```plsql
SELECT column_name
FROM information_schema.columns
WHERE table_schema = '{{SchemaName}}'
AND table_name = '{{TableName}}';
```

***

### 第 3 步:配置仪表板 <a href="#step-3-configure-the-dashboard" id="step-3-configure-the-dashboard"></a>

访问使用图表创建的仪表板并创建新的过滤器 - 使用在上一步中创建的数据集/列:

![](https://cdn.document360.io/4749ddf8-aa05-4f3f-80e1-07a5d2d0f137/Images/Documentation/image-1670615985172.png)

重要细节:

* 由于图表使用另一个数据集,因此此过滤器不会自动映射到它。访问 SCOPING 选项卡,并将过滤器映射到图表。
* 禁用 可以选择多个值,因为我们不会在本示例中使用多个值。

您现在应该能够使用仪表板过滤器与图表的自定义 SQL 过滤器进行交互。
Original file line number Diff line number Diff line change
@@ -1,2 +1,111 @@
# 使用 Jinja 操作图表的自定义 SQL 筛选器

### 概述 <a href="#overview" id="overview"></a>

在本文中,您将学习如何使用 Jinja 模板来动态更改应用于图表的自定义 SQL 过滤器:

<figure><img src="https://cdn.document360.io/4749ddf8-aa05-4f3f-80e1-07a5d2d0f137/Images/Documentation/Jinja%20example.gif" alt=""><figcaption></figcaption></figure>

您可以下载 ZIP 文件以将此示例仪表板导入您的工作区:

[Jinja 示例 - 使用 Jinja 的阈值过滤器](https://cdn.document360.io/4749ddf8-aa05-4f3f-80e1-07a5d2d0f137/Images/Documentation/Jinja%20example%20-%20threshold%20filter%20using%20Jinja.zip)

***

### 过程 <a href="#the-process" id="the-process"></a>

这个过程包括 3 个步骤:

1. 将 Jinja 语法添加到图表的自定义 SQL 过滤器,以使用仪表板过滤器对其进行修改。
2. 创建一个包含选项的数据集来填充我们的仪表板过滤器。
3. 配置仪表板。

让我们仔细看看每一步。

***

### 第 1 步:将 Jinja 语法添加到图表的自定义 SQL 过滤器中 <a href="#step-1-add-jinja-syntax-to-the-charts-custom-sql-filter" id="step-1-add-jinja-syntax-to-the-charts-custom-sql-filter"></a>

在下面的图表中,我们使用折线图(连接到示例数据库中的车辆销售数据集)来计算 2003 年每个产品系列的价格总和:

![](https://cdn.document360.io/4749ddf8-aa05-4f3f-80e1-07a5d2d0f137/Images/Documentation/image\(245\).png)

让我们使用 Jinja 来控制聚合结果的阈值。使用以下语法添加自定义 SQL 过滤器 。

请注意,由于我们要过滤指标,因此应该使用 HAVING 选项:

```sql
sum(price_each) >
{% raw %}
{% if filter_values('threshold')|length %}
{{ filter_values('threshold')[0] }}
{% else %}
0
{% endif %}
{% endraw %}
```

该语法有一个 if 语句,检查是否有任何值应用于由阈值列支持的仪表板过滤器:

* 如果是这样,过滤器值将添加到 SQL 语法中。
* 如果不是,则将使用 0 作为默认值。

这是最终结果:

![](https://cdn.document360.io/4749ddf8-aa05-4f3f-80e1-07a5d2d0f137/Images/Documentation/image\(246\).png)

保存图表并将其添加到仪表板。

***

### 步骤 2:创建数据集以填充仪表板过滤器 <a href="#step-2-create-a-dataset-to-populate-the-dashboard-filter" id="step-2-create-a-dataset-to-populate-the-dashboard-filter"></a>

有一些不同的方法可以实现这一目标:

* 在数据库级别创建表/视图:可能很有用,以便您可以直接在数据库上操作表值;
* 使用 Google Sheets 文件:当您不想在数据库级别处理此问题时很有用。有关将 Google Sheets 作为数据库连接到 Preset 的更多详细信息,请参阅本文。
* 使用临时 SQL 查询:快速方法在仅创建几个选项时非常有用。

我们将在本示例中使用最后一种方法,使用以下查询创建虚拟数据集:

```sql
select 500 as threshold
union all
select 750 as threshold
union all
select 1000 as threshold
union all
select 1500 as threshold
union all
select 2000 as threshold
```

要创建由此 SQL 查询支持的虚拟数据集:

1. 访问您的工作区。
2. 导航到 SQL > SQL Lab。
3. 确保选择了示例连接。
4. 粘贴查询并单击“运行”。
5. 要将其另存为数据集,请单击“保存”下拉列表并选择“保存数据集”。
6. 为您的数据集提供名称,然后单击“保存并浏览”。

请注意,列名称(在本例中定义为阈值)由 `filter_values()` 宏用于 Jinja 语法。如果使用不同的列名称,请确保更新您的 Jinja 语法。

***

### 步骤 3:配置仪表板 <a href="#step-3-configure-the-dashboard" id="step-3-configure-the-dashboard"></a>

访问使用图表创建的仪表板并创建新的过滤器 - 使用在上一步中创建的数据集/列:

<div data-full-width="false">

<img src="https://cdn.document360.io/4749ddf8-aa05-4f3f-80e1-07a5d2d0f137/Images/Documentation/image(251).png" alt="" height="372" width="960">

</div>

重要细节:

* 由于图表使用另一个数据集,因此该过滤器不会自动映射到它。访问 SCOPING 选项卡,并将过滤器映射到图表。
* 禁用 可以选择多个值,因为我们不会在本示例中使用多个值。

您现在应该能够使用仪表板过滤器与图表的自定义 SQL 过滤器进行交互。
Loading

0 comments on commit a8c97c7

Please sign in to comment.