跳至正文

【server】使用tabcmd命令自动下载工作簿(案例)

参考官方文档:

使用 Tabcmd Export 或 Get 导出 CSV 汇总数据

问题

如何使用 tabcmd get 或 tabcmd export 命令将汇总数据导出到 CSV 文件。此示例中的视图已发布到 Tableau Server。

环境

Tableau Server

答案

  1. 以管理员身份打开命令提示符。
  2. 切换到 Tableau Server bin 目录,并运行以下任一命令:
  • Get URL
  • 使用 URL 字符串作为其参数之一,将 HTTP GET 请求发送到 Tableau Server。将以 .CSV 文件的形式返回结果。tabcmd get "[URL of your view].csv" -f "[FileName].csv"示例tabcmd get "/views/Finance/InvestmentGrowth.csv" -f "InvestmentGrowth.csv"

  • Export
  • 从 Tableau Server 上的视图中导出汇总数据,并将其保存到文件。tabcmd export "[URL after views/]" --csv -f "[FileName]"其中 [remainder of URL] 是在 views/ 之后开始的 URL 路径。示例用于使用以下完整 URL 导出视图的命令:
    http://server-name/views/Q1Sales/Sales_Reporttabcmd export "Q1Sales/Sales_Report" --csv -f "weekly-report"

借助于Linux的命令,可以把export命令写到一个文件中,然后执行定时运行,运行结果自动转发。

这里增加一个生产实例,这里是用了pdf选项,并增加了尺寸参数,截图如下:

借助于Linux的命令,还可以实现自动复制到指定路径,比如:

————

如下是官方的export命令说明

export

从 Tableau Server 导出视图或工作簿,并将其保存到文件。此命令还可导出恰好适用于视图的数据。视图数据在摘要级别导出。若要导出详细级别数据,您必须使用 Tableau Server UI。有关详细信息,请参见下载视图和工作簿(链接在新窗口中打开)

使用此命令时,请注意以下问题:

  • 权限:若要导出,您必须拥有“导出图像”权限。虽然可针对每个工作簿或视图设置权限,但默认情况下,所有角色均会获得或继承此权限。
  • 导出数据:若要导出恰好适用于视图的数据,请使用 --csv 选项。这会将视图中使用的摘要数据导出为 .csv 文件。
  • 指定要导出的视图、工作簿或数据:
    • 使用 URL 的一部分标识要导出的内容,特别是工作簿或视图的 URL 中显示的 "workbook/view" 字符串。不要使用“友好名称”,并且不要包括 URL 末尾的 :iid=<n> 会话 ID。例如,“Regional”(区域)工作簿中的 Tableau 示例视图“Global Temperatures”(全球温度)具有类似于如下的 URL:<server_name>/#/views/Regional/GlobalTemperatures?:iid=3若要导出“Global Temperatures”(全球温度)视图,请使用字符串 Regional/GlobalTemperatures不要使用 Regional/Global Temperatures 或 Regional/GlobalTemperatures?:iid=3
    • 如果服务器运行多个站点,并且视图或工作簿不在“默认”站点上,请使用 -t <site_id>
    • 若要导出工作簿,请通过在工作簿中打开视图来获取 URL 字符串,并在使用的字符串中包括视图。在上面的示例中,若要导出“Regional”(区域)工作簿,请使用字符串 Regional/GlobalTemperatures
    • 若要导出工作簿,必须已在“Tableau Desktop 发布”对话框中选中“将工作表显示为标签”的情况下发布该工作簿。注意:无法导出包含管理视图(链接在新窗口中打开)的 Tableau 工作簿。
    • 若要筛选下载的数据,请使用此格式添加参数筛选器:?<filter_name>=value或者,如果对参数进行筛选且该参数具有与度量或维度的名称匹配的显示名称:?Parameters.<filter_name>=value
  • 已保存文件的格式:格式选项取决于所导出的内容。只能使用 --fullpdf 参数将工作簿导出为 PDF。可将视图导出为 PDF (--pdf) 或 PNG (--png)。
  • 已保存文件的名称和位置(可选):如果您不提供名称,则将从视图或工作簿名称得到名称。如果您不提供位置,则会将该文件保存到当前工作目录。否则,您可以指定完整路径或当前工作目录的相对路径。注意:您必须包括文件扩展名,例如 .csv 或 .pdf。命令不会自动向您提供的文件名中添加扩展名。
  • PDF 导出中不包含仪表板网页对象:仪表板可以包含网页对象。如果要将包含网页对象的仪表板导出到 PDF,则 PDF 中将不包括该网页对象。
  • 非 ASCII 和非标准 ASCII 字符及 PDF 导出:如果您导出的视图或工作簿名称所包含的字符不在 ASCII 字符集内,或包括非标准 ASCII 字符集,则您需要对字符进行 URL 编码(或百分号编码)。举例来说,如果您的命令包括城市 Zürich,则需要将其 URL 编码为 Z%C3%BCrichtabcmd export "/Cities/Sheet1?locationCity=Z%C3%BCrich" -fullpdf
  • 清除缓存以使用实时数据
  • 您可以选择添加 URL 参数 ?:refresh=yes 强制刷新数据查询而不是从缓存中获取结果。如果将 tabcmd 与您自己的脚本结合使用,并且大量使用 refresh URL 参数,则可能会对性能造成负面影响。建议您仅当需要实时数据时才使用 refresh,例如,在单个仪表板上而不是整个工作簿上。

示例

视图

tabcmd export "Q1Sales/Sales_Report" --csv -f "Weekly-Report.csv"

tabcmd export -t Sales "Sales/Sales_Analysis" --pdf -f "C:\Tableau_Workbooks\Weekly-Reports.pdf"

tabcmd export "Finance/InvestmentGrowth" --png

tabcmd export "Finance/InvestmentGrowth?:refresh=yes" --png

工作簿

tabcmd export "Q1Sales/Sales_Report" --fullpdf

tabcmd export "Sales/Sales_Analysis" --fullpdf --pagesize tabloid -f "C:\Tableau_Workbooks\Weekly-Reports.pdf"

选项

-f--filename

使用给定文件名和扩展名保存文件。

--csv

仅视图。以 .csv 格式导出视图的数据(摘要数据)。

--pdf

仅视图。导出为 PDF。

--png

仅视图。导出为 .png 格式的图像。

--fullpdf

仅工作簿。导出为 PDF。必须已在“将工作表显示为标签”已启用的情况下发布该工作簿。

--pagelayout

设置所导出的 PDF 的页面方向(landscape 或 portrait)。如果不指定,则将使用其 Tableau Desktop 设置。

--pagesize

将导出的 PDF 的页面大小设置为以下各项之一:unspecifiedletterlegalnote foliotabloidledgerstatementexecutive、 a3a4a5b4b5 或 quarto。默认值为 letter

--width

以像素为单位设置宽度。默认值为 800 像素。

--height

以像素为单位设置高度。默认值为 600 像素。

全局选项

其他信息

上面的命令(tabcmd get 和 tabcmd export –csv)都相当于在浏览器中查看发布的工作簿时选择“导出”>“数据”。这意味着,将会导出汇总数据而不是交叉表本身,因此交叉表格式设置可能会丢失(例如列顺序、行和列的方向等)。

借助于命令自动清理日志