如何构建视图 URL

Tableau Server 2022.3 及更高版本以及 Tableau Cloud 的嵌入代码已更改为使用嵌入 API v3。使用嵌入 API v3,您不再需要添加参数来查看 URL,以便在嵌入时进行筛选。相反,您可以通过向筛选器 Web 组件添加属性来进行筛选。有关详细信息,请参见嵌入 API 帮助中的筛选视图。本主题中的信息适用于嵌入的早期版本(使用 Tableau JavaScript API v1 和 v2)。

为了了解 Tableau 构造视图 URL 的方式,让我们仔细查看一下浏览器地址栏中的示例。

基本 URL 的结构

  • 在 Tableau Server 或 Tableau Cloud 中,Tableau 视图的基本 URL 格式为:
    http://<servername>/#/views/<workbook>/<sheet>
  • 在多站点环境中,对于保存到非默认站点的视图,站点 ID 也包含在 URL 中:
    http://<servername>/#/site/<sitename>/views/<workbook>/<sheet>
通过早期版本的嵌入使用 URL 参数进行筛选

将参数添加到基本 URL

附加查询字符串

要创建筛选 URL,请将查询字符串附加到基本 URL。在查询字符串中,视图筛选器为参数。若要构建查询字符串,请执行以下操作:

  • 使用问号 (?) 作为查询字符串的开头。
  • 使用与符号 (&) 分隔参数。
  • 使用逗号 (,) 分隔每个参数的多个值。

例如:
http://<servername>/#/views/<workbook>/sheet?param1=value1,value2&param2=value

此外,字段或工作表名称中不能出现在 URL 中的字符将进行 URL 编码。例如,空格转换为 %20

注意: 在添加 URL 参数之前,请移除 URL 末尾的 :iid=[#]。这是当前浏览器会话的临时视图计数器。

反映字段名称的大写

URL 参数区分大小写。附加查询字符串时,请确保精确反映源数据中字段名称的大写。

查询字符串如何影响仪表板

与仪表板中的可见筛选器(有时只影响一个工作表)不同,URL 参数适用于所有工作表。在附加 URL 参数之前,请熟悉每个工作表中显示的字段,以避免意外筛选出要保留的数据。

选择要使用的示例视图

本文中的示例使用 Tableau Server 附带的 Superstore 示例数据中的“Performance”(性能)视图。

示例 URL 反映以下属性:

  • 工作表名称为“Performance”(性能)
  • 工作簿名称为“Superstore”
  • 系统使用占位符 IP 地址来表示服务器名称,其中将会出现您的本地服务器名称或 online.tableau.com

若要按照示例进行操作,您可以查看 Superstore 中的类似视图,或者可以调整示例 URL,以使用您自己环境中的字段、工作表和其他名称。如果您要使用自己的视图,请确保先将其发布到服务器上。

筛选视图

对于本文中使用的视图示例,基本 URL 是:
http:<servername>/#/views/Superstore/Performance

Furniture only(仅限家具)

若要仅显示家具的销售额,请在 URL 末尾添加以下查询字符串:
?Category=Furniture

例如:
http:<servername>/#/views/Superstore/Performance?Category=Furniture

Consumer only(仅限消费者)

若要限制视图仅显示消费者销售额,请将 URL 更改为:
http:<servername>/#/views/Superstore/Performance?Segment=Consumer

Home Office and Consumer(家庭办公和消费者)

若要显示家庭办公和消费者销售额,请将 URL 更改为:
http:<servername>/#/views/Superstore/Performance?Segment=Home%20Office,Consumer

注意在字段名称“Home Office”(家庭办公)中,%20 表示 URL 编码的空格字符,如将参数添加到基本 URL中所述。

此处,每个参数的多个值之间使用逗号进行分隔,而不是空格。

Furniture in the Central(中心中的家具)

若要显示多个字段/值对,请使用与符号进行分隔:
http:<servername>/#/views/Superstore/Performance?Region=Central&Category=Furniture

排他筛选

到目前为止,本文中的示例均显示生成视图中字段的所有值。要更加灵活,您可以为具体的筛选器指定多个值,并包括仅显示这些值的特定交集的额外参数。

下面的 URL 描述本示例中使用的基本未筛选视图,该视图按区域显示部门销售额:
http://<servername>/#/views/Superstore/Performance

接下来,要仅显示中部和西部区域家具和技术部门的销售额,您需要将以下查询字符串添加到基本 URL:
?Region=Central,West&Category=Furniture,Technology

若要仅显示中部区域的家具销售额和西部区域的技术销售额,请将 ~s0 参数添加到查询字符串中。
?Region~s0=Central,West&Category~s0=Furniture,Technology

最终的 URL 如下:
http://<servername>/#/views/Superstore/Performance?Region~s0=Central,West&Category~s0=Furniture,Technology

日期筛选的特别注意事项

如果您希望筛选日期字段,请考虑日期在数据库环境中的格式和行为方式。

  • 通过 URL 参数传递的日期(和时间)值需要与下面的 Tableau 默认格式匹配:
    yyyy-mm-dd hh:mm:ss
  • 许多数据库将日期存储为日期时间值,因此您可能需要在您在参数中提供的值中包含时间部分。时间部分基于 24 小时制,因此下午 10:18 应指定为 22:18:00。

日期参数示例

下面的查询字符串示例使用名为“Order Date”(订单日期)的日期字段。与本文中前面的示例一样,您需要将这些参数添加到您视图的基本 URL。

  • 如果“Order Date”(订单日期)字段类型仅包含日期(而不包含时间),并且您希望仅显示 2018 年 7 月 8 日的数据,则查询字符串类似于:
    ?Order%20Date=2018-07-08
  • 如果“Order Date”(订单日期)包含时间部分,要筛选 2018 年 7 月 8 日下午 10:18 的数据,则查询字符串可能类似于:
    ?Order%20Date=2018-07-08%2022:18:00
  • 如果“Order Date”(订单日期)只是日期,并且您希望筛选多个日期的数据,您需要使用逗号,如本文前面部分所描述。例如:
    ?Order%20Date=2018-07-08,2018-07-09,2018-07-10,2018-07-11

参数作为 DATEPART 筛选器

要按日期部分筛选,请使用与默认 Tableau Desktop 日期分层结构中相同的命名法。有关详细信息,请参阅 Tableau 帮助中的日期函数(链接在新窗口中打开)

year(Order%20Date)整数
quarter(Order%20Date)1 和 4 之间的整数
month(Order%20Date)1 和 12 之间的整数
day(Order%20Date)1 和 31 之间的整数
hour(Order%20Date)整数 0-23
minute(Order%20Date)整数 0-59
second(Order%20Date)整数 0-59
week(Order%20Date)整数 1-53
my(Order%20Date)六位整数:YYYYMM
mdy(Order%20Date)八位整数:YYYYMMDD
感谢您的反馈!您的反馈已成功提交。谢谢!