Tableau Server Version 8.0.x Last updated: July 19, 2013

advertisement
Tableau Server 管理员指南
Version 8.0.x
Last updated: July 19, 2013
安装之前...
确保要安装 Tableau Server 的计算机满足以下要求:
l
l
l
l
l
支持的操作系统 - 可以在 Windows Server 2003( SP1 或更高版本) 、Windows
Server 2008、Windows Server 2008 R2、Windows Server 2012、Windows
Vista、Windows 7 或 Windows 8 上安装 Tableau Server。虽然 Tableau Server 可以
在 32 位操作系统上良好运行,但建议使用 64 位操作系统。您可以在虚拟或物理
平台上安装 Tableau Server。
内存、内核和磁盘空间 - Tableau Server 的系统要求会因多种因素而发生变化。以
下是根据服务器上用户数量提出的建议:
部署类型
服务器用户数
CPU
RAM
评估
1-2
2 内核
4 GB
小型
<25
4 内核
8 GB
中型
<100
8 内核
32 GB
企业
>100
16 内核
32 GB 或更多
管理帐户 — 要安装 Tableau Server 的帐户必须拥有安装软件和服务的权限。
可选:运行身份帐户 — 如果您将 NT 身份验证用于数据源或计划进行 SQL Server
模拟,则用于运行 Tableau Server 服务的用户运行身份帐户会十分有用。有关更
多信息,请参见用户运行身份和 SQL Server 模拟。
IIS 和 端口 80 - Tableau Server 的网关侦听端口 80,且 Internet Information Services
(IIS) 默认情况下也使用此端口。如果您在同样运行 IIS 的计算机上安装 Tableau
Server,则应修改 Tableau 的网关端口号以避免与 IIS 发生冲突。有关详细信息,
请参见 TCP/IP 端口 和修改默认端口。
配置信息
安装和配置 Tableau Server 时,您可能需要提供以下信息:
选项
说明
您的信
息
服务器帐 服务器必须有一个该服务可以使用的用户帐户。默认 用户名:
户
设置为内置的 Windows 网络服务帐户。如果使用特定 密码:
用户帐户,则需要提供域名、用户名和密码。
域:
Active
您可以通过 Active Directory 进行身份验证,而不使用 Active
Directory Tableau 的内置用户管理系统。如果是这样,您需要 Directory
使用完全限定域名。
域:
打开
选中此选项后,Tableau Server 将打开 Windows 防火 __ — 是
Windows 墙软件中用于 http 请求的端口,以允许网络中的其他 __ — 否
防火墙中 计算机访问该服务器。
的端口
端口
默认情况下,Tableau Server 要求多个 TCP/IP 端口可供服务器使用。请参见主题
TCP/IP 端口 以获得完整列表,包括哪些端口必须可用于所有安装和分布式安装或故
障转移就绪安装。如果发生冲突,则可以更改默认端口。若要了解如何操作,请参见修
改默认端口。
驱动程序
您可能需要安装其他数据库驱动程序。可从 www.tableausoftware.com/support/drivers 下
载驱动程序。
安装和配置
下面是安装和配置 Tableau Server 时需要执行的主要步骤:
运行服务器安装程序
下载 Tableau Server 安装文件后,请按照下面的步骤安装服务器。
1. 双击安装文件。
2. 按照屏幕指示完成安装并安装应用程序。
3. 安装完成后,单击“下一步”打开“产品密钥管理器”窗口。
如果需要支持非“Latin-1”字符集,请通过“控制面板”>“区域和语言选项”来安装
Windows 语言包。主服务器以及任何工作计算机上都需要安装语言包。
激 活 Tableau
Tableau Server 要求至少使用一个产品密钥来同时激活服务器和指定可为用户分配的
许可级别数。您可以在 Tableau 客户帐户中心访问自己的产品密钥。安装和配置服务
器后,产品密钥管理器会自动打开,您可以输入自己的产品密钥并注册产品。如果需
要在脱机计算机中激活产品,请参见脱机激活 Tableau。
1. 选择“激活”,然后输入产品密钥:
2. 关于分步说明,请参见该网站上的下载帮助页面。
脱 机 激 活 Tableau
如果需要脱机工作,可按照以下步骤完成脱机激活。
1. 产品密钥管理器打开后,单击“激活产品”。
将服务器产品密钥粘贴到相应的文本框中,然后单击“激活”。您可以在 Tableau
网站中的客户帐户中心获取自己的产品密钥。
2. 如果处于脱机状态,激活将失败,系统会提供一个选项用于保存脱机激活文件。
单击“保存”。
3. 为文件选择一个位置,然后单击“保存”。文件保存为 offline.tlq。
4. 返回 Tableau,单击“退出”关闭“激活”对话框。
5. 将该文件移到处于联机状态的计算机中,然后打开电子邮件编辑器。新建一封电
子邮件并发送至 activation@tableausoftware.com。将该文件附加到电子邮件,然
后单击“发送”。
6. Tableau 将通过电子邮件发给您一个名为 activation.tlf 的文件。将该文件移到安装
Tableau Server 的计算机中。如果计算机中安装了 Tableau Desktop,可以双击这
个新文件完成激活。如果没有安装 Tableau Desktop,请继续执行步骤 7 和 8。
7. 在安装 Tableau Server 的计算机中,以管理员身份打开命令提示符,运行以下命
令:
cd "C:\Program Files (x86)\Tableau\Tableau Server\8.0\bin"
8. 接下来键入 tabadmin activate --tlf <path>\activation.tlf,其中
<path> 是 Tableau 通过电子邮件发送给您的响应文件的位置。例如:
tabadmin activate --tlf \Desktop\activation.tlf
如果需要其他帮助,请通过 activation@tableausoftware.com 与 Tableau 联系。
配置服务器
安装期间会显示“配置”对话框。通过在 Windows“开始”菜单上选择“所有程
序”>“Tableau Server 8.0”>“配置 Tableau Server”,可以在安装后打开此对话框。在进
行任何配置更改之前,需要停止服务器。有关步骤,请参见重新配置服务器。
关于您在“配置”对话框中指定的设置,有两点需要注意:
l
l
设置是系统范围的:您输入的设置会应用于整个服务器。如果服务器正在运行多
个站点,则这些设置会影响每个站点。
用户身份验证是“永久的”:通过停止服务器并重新配置,可以在安装后更改所有
设置。例外就是“用户身份验证”设置( 位于“常规”选项卡) 。它是“永久的”,从这种
意义讲,从“使用本地身份验证”更改为“使用 Active Directory”需要您卸载然后
重新安装服务器。
有关不同“配置”选项卡的详细信息,请参见以下主题:
常规
通过下面的步骤可以在“常规”选项卡上配置选项:
1. 默认情况下,Tableau Server 在“网络服务”帐户下运行。若要使用将为数据源提供
NT 身份验证功能的帐户,请指定用户名和密码。用户名中应包含域名。要详细
了解如何使用特定用户帐户,请访问 用户运行身份。
2. 选择是否使用 Active Directory 对服务器上的用户进行身份验证。选择“使用本
地身份验证”以使用 Tableau Server 的内置用户管理系统来创建用户并分配密
码。您随后无法在 Active Directory 和本地身份认证之间进行切换。
3. 如果使用 Active Directory:
l
l
您可以“启用自动登录”,这会使用 Microsoft SSPI 基于用户的 Windows 用
户名和密码来自动登录您的用户。如果您选择此设置,则随后也无法选择
启用来宾。另外,如果计划将 Tableau Server 配置为使用受信任的身份验
证,则请勿选择“启用自动登录”。
请确保键入完全限定域名 (FQDN) 和昵称。
确定 FQDN:选择“开始”>“运行”,然后在“运行”文本框中键入
sysdm.cpl。在“系统属性”对话框中,选择“计算机名”选项卡。FQDN 显示
在对话框的中心附近位置。您的用户首次登录时,需要使用完全限定域名
( 例如 myco.lan\jsmith) 。以后进行登录时,他们可以使用昵称
(myco\jsmith)。
4. 通过 Web 访问 Tableau Server( 通过 HTTP) 时的默认端口为端口 80。如果其他服
务器正在端口 80 上运行或者有其他联网需要,则可能需要更改端口号。例如,
如果 Tableau Server 主机前面有硬件防火墙或代理,则后端系统可能不适合在端
口 80 上运行。
5. 选择是否打开 Windows 防火墙中的端口。如果不打开此端口,则其他计算机上
的用户可能无法访问该服务器。
6. 选择是否包含示例数据和用户。示例数据可帮助您熟悉 Tableau Server,尤其在
安装该产品的试用版时。最初,示例用户使用一个交互者许可证。为了收回该许
可级别,您可将此用户更改为未许可。若要了解如何操作,请参见许可和用户权
限。如果选择包括该示例用户,则将安装一个单个用户。用户名和密码如下所
示:
用户名
密码
Tableau 软件 test
7. 可选择继续打开下一个页面以配置“缓存”和“初始 SQL”选项。如果不想配置这些
选项,请单击“确定”。
关于“启用来宾 ”和“启用自动 登录 ”
本主题提供有关“启用自动登录”和“启用来宾”设置的一些背景信息以及它们不能一起
使用的原因。
“启用自动登录”是可以在安装过程中选择的一个选项。它使用 Active Directory 和 NTLM
对 Tableau Server 用户进行身份验证,并在他们单击视图链接时自动将他们登录到服
务器。
“启用来宾”是“维护”页面上的一项设置,如果您拥有基于内核的服务器许可证,就可以
选择此设置。它的结果与“启用自动登录”相同( 即用户单击链接时,就会直接转到相应
视图而无需登录) ,但与“启用自动登录”不同,它不执行身份验证。Tableau Server“来宾
用户”帐户用于访问服务器,但只要选中了“启用来宾”,任何人都可使用该帐户。管理
员经常会限制“来宾用户”帐户的功能。例如,他们可能会编辑特定视图的权限以拒绝
来宾用户的访问。
不支持也不建议将“启用自动登录”和“启用来宾”结合使用。在安装过程中选择第一个
选项会导致第二个选项变为灰色。不过,在极少情况下,可以同时使用这两个设置。例
如,如果在安装过程中不选择“启用自动登录”,则稍后就可以选择“启用来宾”,然后返
回到配置实用工具并选择“启用自动登录”。
发生上述情况时,您可能会发现一个现象,即服务器用户可能拥有视图的完全访问权
限,当他们的会话超时后,其访问将被拒绝。发生这种情况的原因是第一次自动登录
和访问级别基于各服务器用户的 Active Directory 凭据,但第二次( 超时后) 是基于“来宾
用户”的凭据,该帐户的访问级别较低。
有关此主题的更多信息( 包括上述情况的解决方法) ,请参见 Tableau 知识库。
域
在针对服务器使用 Active Directory 身份验证时,您可以查看所使用的域的列表,并编
辑这些域的域名和昵称。例如,为了确保 Tableau Server 在 SSPI 身份验证时使用正确
的昵称或使用正确的域名,您可能需要执行此操作。
修改域名
修改域名:
1. 在页面左侧的“管理”区域中选择“用户”链接。
2. 单击用户列表底部的“域”链接。域列表显示了从每个域添加到服务器的用户和组
的数量。
3. 若要显示作为域的一部分的用户的列表,请单击域名。
4. 若要修改域名或昵称,请单击“编辑”链接,键入新的完全限定域名或昵称,然后
单击“修改”。
5.
您可以修改服务器正在使用的任何域的昵称。通常,除了您用来登录的域
外,您可以修改任何域的完整域名。但是,如果您当前用来登录的用户名
同时存在于当前域以及新域中,则只能修改当前域的完整域名。
数据连接
使用“数据连接”选项卡上的选项可以配置缓存并指定要如何从数据源处理初始 SQL 语
句。
正在缓 存
发布到 Tableau Server 的视图是交互式的,有时具有与数据库的实时连接。当用户在
Web 浏览器中与这些视图交互时,查询的数据将存储在缓存中。随后的访问将从此缓
存中取出数据( 如果有数据) 。您可通过“数据连接”选项卡来配置将应用于所有数据连
接的缓存设置:
若要配置缓存,请选择以下选项之一::
l
l
刷新频率低于 — 每当有数据时就对数据进行缓存并重复使用,而不管该数据是
何时添加到缓存的。此选项可将发送到数据库的查询数量降到最低。当数据变化
不频繁时,可选择此选项。“刷新频率低于”可以提高性能。
平衡 — 在指定的分钟数之后将缓存中的数据删除。如果在指定时间内已将数据
添加到缓存,则将使用缓存的数据,否则,将在数据库中查询新数据。
l
刷新频率高于 — 每次加载页面时都查询数据库。仍将对数据进行缓存,并在用
户重新加载页面之前重新使用该数据。此选项可确保用户看到最新的数据,但可
能会降低性能。
无论缓存是如何配置的,用户都可以单击工具栏中上“刷新数据”按钮,以
强制服务器发送查询并检索新数据。
初始 SQL
对于连接到 Teradata 数据源的视图,工作簿创建者可指定在浏览器中加载工作簿时只
运行一次的 SQL 命令。该命令称为初始 SQL 语句。出于性能或安全原因,某些管理员
可能想要禁用此功能。可以在数据连接选项卡上执行此操作:
若要禁用初始 SQL 功能,请选中“对所有数据源忽略初始 SQL”复选框。使用初始 SQL
语句创建的工作簿仍会打开,但不会发送初始 SQL 命令。
电 子 邮 件 通 知 /订 阅
Tableau Server 可以在系统出现故障时通过电子邮件向您发送通知,也可以通过电子
邮件向 Tableau Server 用户发送订阅( 即所收藏视图的快照) 。在“电子邮件通知/订阅”
选项卡上,您可以指定 Tableau Server 用于发送电子邮件的 SMTP 服务器。
对于通知和订阅,不支持加密的 SMTP 连接。
配置电 子邮 件通知
如果您配置了通知,一旦数据引擎或存储库进程停止或重新启动,Tableau Server 就会
在将电子邮件发送至下向收件人发送邮件。如果您运行的是单服务器安装( 所有进程
在同一台计算机上运行) ,则 DOWN 通知表示整个服务器停止运行,而随后出现的 UP
电子邮件通知表示服务器又重新运行。如果您运行的是专为故障转移配置的分布式安
装( 参见配置故障转移) ,则 DOWN 通知表示活动存储库或数据引擎实例出现故障,而
随后出现的 UP alert 通知表示该进程的备用实例已被接管或现处于活动状态。
要配置电子邮件通知,请执行以下操作:
1. 选择“针对服务器运行状况问题发送电子邮件通知”。
2. 在“SMTP 服务器”下,输入您的 SMTP 服务器的名称。输入 SMTP 服务器帐户
的“用户名”和“密码”( 仅当需要时输入;有些需要,有些则不需要) 。默认 SMTP
端口号为 25。在“电子邮件的发送地址”下输入一个电子邮件地址,当系统发生
故障时,将向此地址发送通知。尽管您输入的电子邮件地址必须具有有效的语法
( 例如 ITalerts@bigco.com or noreply@myco) ,但也不一定必须是 Tableau Server
上的实际电子邮件帐户。
3. 在“将电子邮件发送至”中至少输入一个用于接收通知的电子邮件地址。如果输
入多个电子邮件地址,请用逗号( 而不是分号) 将各地址隔开。
4. 单击“确定”。当您启动服务器时,它将触发电子邮件通知,这将确认您已正确设
置通知。
配置电 子邮 件订 阅
若要设置 SMTP 服务器用于发送订阅,请执行以下操作:
1. 选择“启用电子邮件订阅”。
2. 在“SMTP 服务器”下,输入您的 SMTP 服务器的名称。输入 SMTP 服务器帐户
的“用户名”和“密码”( 仅当需要时输入;有些需要,有些则不需要) 。默认 SMTP
端口号为 25。在“电子邮件的发送地址”下输入将用于向 Tableau Server 用户发送
订阅的电子邮件地址。
尽管您输入的电子邮件地址必须具有有效的语法( 如 <text>@<text> 中的
salesteam@bigco.com 或 noreply@myco) ,但是 Tableau Server 不需要它是
实际电子邮件帐户( 然而,某些 SMTP 服务器可能需要它是实际电子邮件帐户) 。
您还可以逐个站点地覆盖用于订阅的系统范围的“电子邮件的发送地址”。有关
详细信息,请参见添加或编辑站点。
3. 在“Tableau Server URL”下,输入 http:// 或 https://,后跟 Tableau Server
的名称。此名称将用于订阅电子邮件的页脚。
4. 单击“确定”。
SSL
可以将 Tableau Server 配置为对所有 HTTP 流量使用安全套接字层 (SSL) 加密的通信。
设置 SSL 可确保对 Web 应用程序的访问是安全的,并且在 Web 浏览器与服务器之间
或 Tableau Desktop 与服务器之间传递的敏感信息将受到保护。下面的主题介绍了针对
SSL 配置服务器的步骤;不过,您必须先从受信任的颁发机构获取证书,然后将证书文
件导入到 Tableau Server 中。
要将 Tableau Server 配置为使用 SSL,请执行以下操作:
1. 从受信任的颁发机构( 例如 Verisign、Thawte、Comodo、GoDaddy 等) 获取 Apache
SSL 证书。您也可以使用您的公司颁发的内部证书。还支持允许您将 SSL 用于
同一个域中多个主机名的通配符证书。
某些浏览器还需要其他配置才能接受来自特定提供者的证书。请参见由您的证
书颁发机构提供的文档。
2. 将证书文件放在与 Tableau Server 8.0 文件夹同级的名为 SSL 的文件夹中。例如:
C:\Program Files (x86)\Tableau\Tableau Server\SSL
此位置为运行 Tableau Server 的帐户提供这些文件的必要权限。
3. 通过在“开始”菜单上选择“开始”>“所有程序”>“Tableau Server 8.0”>“配置
Tableau Server”打开 Tableau Server 配置实用工具。
4. 在“配置 Tableau Server”对话框中,选择“SSL”选项卡。
5. 选择“将 SSL 用于服务器通信”并提供以下每个证书文件的位置:
SSL 证书文件 — 必须是有效的 PEM 编码 x509 证书,扩展名为 .crt
SSL 证书密钥文件 — 必须是不受密码保护的有效 RSA 或 DSA 密钥,文件扩展
名为 .key
SSL 证书链文件( 可选) — 某些证书提供者会针对 Apache 颁发两个证书。第二个
证书是链文件,连接构成服务器证书的证书链的所有证书。文件中的所有证书必
须为 x509 PEM 编码,文件扩展名必须为 .crt( 而不是 .pem) 。
6. 单击“确定”。更改将在下次重新启动服务器时生效。
针对 SSL 配置服务器后,该服务器会将请求接受到非 SSL 端口( 默认为端口 80)
并自动重定向至 SSL 端口 443。SSL 错误记录在以下位置处的安装目录中。使用
此日志可解决验证和加密问题。
C:\ProgramData\Tableau\Tableau
Server\data\tabsvc\logs\httpd\error.log
Tableau Server 仅支持端口 443 作为安全端口。它不能在任何其他应用程序
使用端口 443 的计算机上运行。
添加管理员帐户
激活 Tableau Server 的最后一步是添加管理员帐户。管理员将具有服务器的完全访问
权限,包括管理用户、组和项目的权限。添加管理员帐户的步骤将根据是使用 Active
Directory 还是使用本地身份验证而有所不同。
Active Directory
如果使用 Active Directory,请键入将成为管理员的现有 Active Directory 用户的用户名和
密码。然后单击“添加用户”。
注意:
如果该管理员帐户与服务器在同一个域中,则只需键入用户名,无需键入域。否则,应
包括进完全限定域名。例如,test.lan\username。
本地身份验证
如果使用本地身份验证,请通过键入所选的用户名、显示名称和密码( 两次) 来创建管
理帐户。然后单击“添加用户”。
重新配置服务器
输入 Tableau Server 配置设置是安装过程的一部分,但您可在安装后打开“配置”对话框
进行更改。有关详细信息,请参见以下步骤。也可以使用 tabadmin 命令行工具进行配
置更改。无论如何进行更改,新设置都会写入配置文件 tabsvc.yml,此文件位于 config
目录中。
注意:您不能在 Active Directory 和本地身份验证之间进行切换。只能在安装期间配置这
些选项。
若要在“Tableau Server 配置”对话框中更改设置,请执行以下操作:
1. 通过在 Windows“开始”菜单上选择“所有程序”>“Tableau Server 8.0”>“停止
Tableau Server”停止服务。
2. 然后在 Windows“开始”菜单中选择“配置 Tableau Server”。
3. 如果使用 Active Directory 帐户作为服务器的“用户运行身份”帐户,请在“常规”选
项卡上输入其密码。
4. 进行配置更改。
5. 单击“确定”。
6. 通过在 Windows“开始”菜单上选择“所有程序”>“Tableau Server 8.0”>“启动
Tableau Server”启动服务器。
重新配置进程
若要更改针对单服务器安装配置进程的方式,请按以下步骤操作。如果您要更改针对
工作服务器配置进程的方式,请参见安装和配置工作服务器。
1. 在“开始”菜单中,通过导航到“所有程序”>“Tableau Server 8.0”>“配置 Tableau
Server”打开“Tableau Server 配置”对话框。
2. 如果需要在“常规”选项卡上输入您的“密码”,然后单击“服务器”选项卡:
3. 突出显示 This Machine,然后单击“编辑”:
4. “编辑 Tableau Server”对话框是您更改进程数的位置:
5. 您可以最多运行 VizQL 进程、应用程序服务器进程、Data Server 进程或后台进程
的 8 个实例( 尽管如果需要可以更改此限制) 。有关更多信息,请参见关于服务器
进程限制。另外,为使 Tableau Server 正常运行,数据引擎和存储库必须始终有
一个活动实例。有关如何将它们移动到其他计算机的步骤,请参见移动数据引擎
进程和存储库进程。有关如何配置它们的备用实例的步骤,请参见高可用性。
在进行更改后,单击“确定”,然后再次单击“确定”退出“配置”对话框。
Tableau Server 进 程
存在六个 Tableau Server 进程,可以更改其默认配置以获得不同的结果。主题提高服务
器性能和高可用性介绍了您可以采用的某些方法。每个进程的高级别状态显示在服务
器的“维护”页面,与某些进程( 例如后台进程) 有关的详细信息位于管理视图中。
进程
文件名
是否
为多
用途
线
程?
处理 Web 应用 是
程序,支持浏览
和搜索
体系结构
应用程序
服务器
wgserver.exe
后台
backgrounder.exe 执行服务器任 否
务( 包括数据提
取刷新) 、“立即
运行”任务以及
通过 tabcmd 启
动的任务
32 位
数据引擎
tdeserver64.exe 存储数据提取
和回答查询
tdeserver.exe
64 位
是
32 位
32 位
性能特征
在不经常操作的过程
( 例如使用数据提取
发布工作簿,或者为
视图生成静态图像)
中仅占用明显的资
源。可通过基于浏览
器的交互和 tabcmd
创建该进程的负载。
可在群集内的任何或
所有计算机上运行多
个进程以扩展容量的
单线程进程。后台程
序通常不会占用很多
进程内存,但后台程
序可能会根据面向它
的工作负载的性质占
用 CPU 资源、I/O 资
源或网络资源。例
如,执行大量数据提
取刷新时,可能会使
用网络带宽来检索数
据。数据检索或复杂
的 tabcmd 任务可能
会占用 CPU 资源。
数据引擎的工作负载
是来自 VizQL Server
进程的请求产生的。
该进程是将数据提取
加载到内存并针对数
据提取执行查询的组
件。内存占用主要基
于所加载的数据提取
的大小。在 64 位操作
系统上,默认采用 64
位二进制。数据引擎
进程
文件名
用途
是否
为多
线
程?
体系结构
Data Server dataserver.exe
处理至 Tableau 是
Server 数据源的
连接
32 位
存储库
postgres.exe
Tableau Server 的数据库,用于
存储工作簿和
用户元数据
-
VizQL
Server
vizqlserver.exe
加载和呈现视 是
图,计算和执行
查询
32 位
性能特征
是多线程的进程,可
以一次处理多个请
求。在高负载的情况
下,该进程可能会占
用 CPU 资源、I/O 资
源和网络资源,所有
这些资源都可能是高
负载的性能瓶颈。高
负载时,数据引擎的
单个实例可能会占用
所有 CPU 资源,以便
处理请求。
由于该进程是一个代
理,因此它通常仅受
限制于网络,但在有
很多同时存在的用户
会话时,可能会受限
制于 CPU。该进程的
负载是以下内容产生
的:基于浏览器的交
互,基于 Tableau
Desktop 的交互,以及
针对 Tableau Server
数据源的数据提取刷
新作业。
通常仅占用很少的资
源。执行诸如用户查
看所有工作簿或更改
权限等操作时,在极
少情况下,对于超大
型部署( 存在数千位
用户) ,该进程可能会
成为瓶颈。
在从 Web 浏览器加
载视图和交互使用的
过程中,占用明显的
资源。可能受限制于
CPU、I/O 或网络。进
程负载只能由浏览器
的交互创建。进程内
存可能不足。
关于服务 器进 程限制
wgserver、vizqlserver 和 backgrounder 服务器进程设计为多线程和多进程。单个进程实
例可以运行 16 个以上的线程。默认情况下,Tableau Server 安装时,每个服务器进程最
多两个实例。如果默认设置不够,则可以在安装过程中( 仅限升级) 或安装后使用“配
置”对话框更改为最多 8 个实例。每个进程 8 个实例是默认上限。如果您的计算机有足
够的 RAM 和 CPU 内核,则可以使用 service.max_procs tabadmin 设置来更改上
限。对于每个进程实例,Tableau 建议运行进程的计算机至少具有 1 GB RAM 和 1 个逻
辑 CPU 内核。
更改允许的最大进程数:
1. 安装后,停止服务器。
2. 还是在 Tableau Server 的 bin 目录中,输入以下命令,其中 number 是要允许的进
程实例的最大数目:
tabadmin set service.max_procs number
例如:
tabadmin set service.max_procs 16
3. 启动服务器以使更改生效。
升级到8.0
请参考以下主题将 Tableau Server 软件升级到版本 8.0。如果要从 7.0 以前的版本进行
升级,请参见 Tableau 知识库。
升级前检查表
下面是在将 Tableau Server 升级到版本 8.0.x 之前应该找到的各个项以及应该执行的步
骤。
凭 据 、安 装 文 件 和 自 定 义 项
在升级前,请确保您有以下几项:
l
l
l
用户帐户凭据:对于您要升级的每台计算机,都需要拥有本地管理员权限的用户
帐户的凭据。
以帐户凭据身份运行:确认您拥有 Tableau Server 的 运行身份帐户的用户名和密
码。如果您在使用 NT AUTHORITY\NetworkService( 默认设置) ,则无需密码。
安装文件:除了有要执行的升级所需的 .exe 文件外,还应找到或重新下载生产环
境中当前所用服务器版本的安装 .exe 文件( 请参见下载 Tableau 产品) 。如果在升
级过程中发生意外情况,这可帮助您更快恢复。
当 Tableau 在升级过程中保留配置设置时,最佳做法是记录您所做的所有自定义操
作,以便以后进行验证。这些操作包括配置 SSL、更改 Tableau 的默认端口和超时值以
及使用自定义徽标。此外,如果您向 Windows PATH 环境变量中添加了当前 Tableau
Server 版本,升级后还需要更新该条目,以便它引用较新版本的 Tableau Server。
检查产品维护状态
如果尝试从维护已过期的 Tableau Server 进行升级,您会得到一个未许可的 Tableau
Server 实例。
若要查看您的服务器维护是否过期,请执行以下操作 :
l
选择“开始”>“所有程序”>“Tableau Server”>“管理产品密钥”,并在“维护过期”列
下查看。
如果维护已过期,请联系 Tableau 客户支持。安装过程中将重新激活产品密钥。有关详
细信息,请参见激活 Tableau。如果服务器无法访问 Internet,请参见脱机激活 Tableau。
创 建 “清 洁 ”备 份
除了定期 Tableau Server 备份之外,最好在升级前也创建一个备份。在创建备份之前,
应运行 tabadmin cleanup 命令从备份中移除不重要的文件。有关步骤,请参见运行清理
和备份 Tableau 数据。
仅限分布式安装:是否在创建备份之前删除工作服务器
Tableau 备份文件 (.tsbak) 包含配置信息以及数据。因此,Tableau Server 分布式安装的
备份将包含有关工作服务器的配置信息( 包括其 IP 地址) 。如果您不希望将此信息包
含在备份中( 例如,因为您要在升级期间将工作服务器迁移到新硬件) ,则可以执行以
下两项操作之一:在创建备份之前从 Tableau Server 配置中删除工作服务器,或者在将
备份文件还原到新安装时计划使用 --no-config 选项。请注意使用后一选项时,不
会还原任何配置信息,包括主 Tableau Server 的配置信息。
如果正在运行 Tableau Server 的分布式安装,并且具有运行 Windows XP 的工作服务
器,则必须在升级之前将该工作服务器从该配置中删除。8.0 版不支持 Windows XP 平
台。
从 Tableau Server 配置中删除工作服务器:
1. 在主 Tableau Server 上停止服务器。
2. 在主服务器上,在“开始”菜单中依次选择 Tableau Server <version> > 配置
Tableau Server。
3. 在“配置”对话框中,选择“服务器”选项卡。
4. 如果工作服务器正在承载数据提取和/或存储库,请将这些服务移到其他计算机
上。有关步骤,请参见移动数据引擎进程和存储库进程。
5. 接下来,突出显示工作服务器,然后单击“删除”。
6. 单击“确定”。
7. 启动服务器。
运行清理
运行 tabadmin cleanup 命令可从 Tableau Server 系统中移除备份文件中不需要的文件。
应在服务器运行时运行一次清理,以便对 Tableau 数据库执行清理;还应在服务器停止
后运行一次清理,以便删除日志文件。
若要运行 tabadmin cleanup 命令,请执行以下操作:
1. 以管理员身份打开命令提示符:
2. 导航到 Tableau Server 的 bin 目录。例如:
cd “C:\Program Files (x86)\Tableau\Tableau Server\7.0\bin”
3. 确认服务器正在运行:
tabadmin status
4. 通过键入以下命令运行清理:
tabadmin cleanup
5. 停止服务器:
tabadmin stop
6. 再次运行清理:
tabadmin cleanup
不启动服务器以便创建备份( 下一步) 。
创建备份文件
tabadmin backup 命令可创建包含存储库、数据提取和服务器配置中的数据的 .tsbak 文
件。创建该文件后,将其存储于其他计算机上。有关步骤,请参见备份 Tableau 数据。
仅限分布式安装 :如果您在创建备份之前从服务器配置中删除了工作服务器,并
且要从 8.0.x 升级至 8.0.x,则现在可以将这些工作服务器重新添加到配置中。升
级主 Tableau Server 时会将更新推送到工作服务器。否则,如果要从版本 7.0 升
级到 8.0.x,则不在配置中重新添加工作服务器。有关详细信息,请参见升级
到8.0。
升 级 到 8.0
完成 升级前检查表 之后,请按以下步骤操作将现有 Tableau Server 升级到版本 8.0。如
果要在升级过程中迁移到新硬件,请参见迁移到新硬件。
1. 使用 Tableau Server( 在具有分布式安装时,则为主 Tableau Server) 上的“添加/删
除程序”卸载早期版本。
卸载时将删除服务器软件,但数据和配置设置将保留不动。
2. 安装 Tableau Server。如果您使用的是分布式安装,则此步骤应在主 Tableau
Server 上执行。
Tableau Server 安装程序将从之前的版本导入数据和配置设置。
移动数据引擎进程和存储库进程
如果您需要从 Tableau Server 配置中删除某一工作服务器,而该工作服务器承载了存
储库或数据引擎( 承载数据提取) 的唯一实例,则您必须先将该进程移到其他计算机
上。这是因为必须始终有一个活动的存储库和数据引擎进程实例。
要移动数据引擎或存储库进程,请执行以下操作:
1. 如果您尚未这么做,请停止主 Tableau Server,然后在主 Tableau Server 上打
开“Tableau Server 配置”对话框( “开始”>“Tableau Server 8.0”>“配置 Tableau
Server”) 。
2. 在服务器选项卡上,突出显示要将进程移到其上的计算机的 IP 地址。该计算机
可以是其他工作服务器,也可以是主服务器 (This Machine)。
3. 单击“编辑”。
4. 在“编辑 Tableau Server”对话框中,选中要移动的进程所对应的复选框:数据引
擎、存储库或同时选中,然后单击“确定”。
5. 在“Tableau Server 配置”对话框中单击“确定”。
6. 启动主 Tableau Server 以使更改生效。
7. 停止该服务器并打开“Tableau Server 配置”对话框。
8. 在服务器选项卡上,突出显示要从中删除进程的工作服务器的 IP 地址,然后单
击编辑。
9. 清除已移动的进程所对应的复选框,然后单击“确定”。
10. 再次单击“确定”并启动主服务器以使更改生效。
如果您在从 Tableau Server 配置中删除某个工作服务器期间执行此过程( 如升级前检
查表中所述) ,请重新停止该服务器,然后继续。
关于服务器进程限制
wgserver、vizqlserver 和 backgrounder 服务器进程设计为多线程和多进程。单个进程实
例可以运行 16 个以上的线程。默认情况下,Tableau Server 安装时,每个服务器进程最
多两个实例。如果默认设置不够,则可以在安装过程中( 仅限升级) 或安装后使用“配
置”对话框更改为最多 8 个实例。每个进程 8 个实例是默认上限。如果您的计算机有足
够的 RAM 和 CPU 内核,则可以使用 service.max_procs tabadmin 设置来更改上
限。对于每个进程实例,Tableau 建议运行进程的计算机至少具有 1 GB RAM 和 1 个逻
辑 CPU 内核。
更改允许的最大进程数:
1. 安装后,停止服务器。
2. 还是在 Tableau Server 的 bin 目录中,输入以下命令,其中 number 是要允许的进
程实例的最大数目:
tabadmin set service.max_procs number
例如:
tabadmin set service.max_procs 16
3. 启动服务器以使更改生效。
迁移到新硬件
执行以下步骤将 Tableau Server 从一台计算机迁移到另一台计算机。这些步骤具体描
述了如何将 Tableau Server 的数据和配置设置从生产计算机迁移到已安装 Tableau
Server 版本 8.0 的新计算机。在开始之前,请确保已执行了 升级前检查表 中的步骤,
包括创建 .tsbak 文件。
1. 在新计算机上安装 Tableau Server。
2. 将 .tsbak 文件复制到新 Tableau Server 上的 bin 文件夹( 例如 C:\Program Files
(x86)\Tableau\Tableau Server\8.0\bin) 。
3. 然后,停止 Tableau Server。
4. 键入 tabadmin restore <filename>( 其中 <filename> 是 .tsbak 文件的名
称) ,将生产数据和配置信息还原到新安装的 Tableau Server。例如:
tabadmin restore mybackup.tsbak
或者,若要仅还原生产 Tableau Server 的数据而不还原配置信息,请键入以下命
令:
tabadmin restore --no-config mybackup.tsbak
5. 启动服务器。
6. 仅限分布式安装:在要添加到 Tableau Server 集群的其他所有计算机上运行
Tableau 工作软件安装程序。有关步骤,请参见安装和配置工作服务器。
7. 测试完新安装后,您必须先停用早期版本的 Tableau Server,然后再卸载。要停用
早期版本的 Tableau Server,请执行以下操作:
- 依次选择开始 > 所有程序 > Tableau Server > 管理产品密钥。
- 选中所有产品密钥,然后单击停用。
如果您未连接到网络,系统将提示您创建离线返回文件以完成停用过程。
有关步骤,请参见脱机激活 Tableau。创建离线返回文件后,请通过电子邮
件将其发送至 activation@tableausoftware.com。处理完离线返回文件后,系
统会向您发送要在您计算机上运行的另一文件,以移除服务器产品密钥并
完成停用过程。
分布式环境
使用下面的主题可了解有关运行 Tableau Server 分布式安装的更多信息:
安装和配置工作服务器
完成初始配置后,可以将 Tableau Server 设置为在多台计算机上运行。这称为分布式安
装。运行分布式安装时将使用主 Tableau Server 上的附加端口,且要求在安装过程中
Tableau 工作服务器上的某些端口可用于绑定。有关更多信息,请参见TCP/IP 端口。
分布式环境中的所有计算机都必须是同一域的成员。此外,在主 Tableau Server
上指定的服务器的用户运行身份帐户也必须是同一域中的域帐户。
1. 确保已在主计算机上安装 Tableau Server。
2. 停止主计算机上的服务器( 若要了解如何操作,请参见Tableau Server Monitor) 。
3. 在 Tableau 客户帐户中心下载 Tableau Server 工作软件。
4. 在要添加到 Tableau Server 集群的所有其他计算机上运行 Tableau Server 工作软
件安装程序。安装过程中,您需要提供主服务器的 IP 地址。
如果您有一个运行 Windows 7 的工作服务器,且启用了 Windows 防火墙,请先参
见 Tableau 知识库,然后再继续。
5. 如果在工作计算机上安装了工作软件,并且主 Tableau Server 仍然停止,请返回
主服务器,然后通过在“开始”菜单上选择“Tableau Server 8.0”>“配置 Tableau
Server”打开配置实用工具。
6. 在“配置实用工具”中,在“常规”选项卡上输入您的密码,选择“服务器”选项卡,
然后单击“添加”。
7. 在下一个对话框中,键入其中一台工作计算机的“IP 地址”,然后指定要分配给该
计算机的“VizQL”、“应用程序服务器”、“Data Server”和“后台”进程的数目。最多
可以向一个工作服务器( 或主服务器) 分配一个进程的 8 个实例。
默认情况下,存储库和数据引擎都托管在主服务器上,但您可以选中数据引擎和
存储库复选框,从而将此服务器用于提取存储( 数据引擎) 和存储库或作为备份
服务器。有关更多信息,请参见高可用性。
8. 单击“确定”。可能需要等几分钟时间才能完成此更新。
9. 针对每台要添加到分布式环境中的计算机,重复这些步骤。添加完工作计算机
后,再次单击“确定”以保存更改,然后启动主计算机上的服务器。
数据库驱动程序
Tableau Server 和 Tableau Server Workers 的安装程序会自动安装 Oracle 和 Oracle
Essbase 数据库的驱动程序。如果您计划发布与其他数据库连接的工作簿和数据源,
则需要确保您的主计算机和工作计算机上有相应驱动程序。
运行 VizQL 的工作计算机、应用程序服务器、数据服务器或后台程序进程需要这些数
据库驱动程序。例如,如果您有一台专门用作 VizQL 服务器的工作计算机和另一台专
用于数据提取存储的计算机,则只需在 VizQL 服务器计算机中安装驱动程序。
服务器进程
VizQL
应用程序服务器
数据服务器
后台程序
数据引擎( 提取存储)
存储库
是否需要数据库
驱动程序?
是
是
是
是
否
否
维护分布式环境
在设置用于分布式安装的主计算机以及一台或多台工作计算机后,您可以使用主服务
器计算机上的命令行工具和配置实用工具,从主服务器执行所有随后的配置和更新。
更新将被自动推送到工作计算机上。
如果主服务器的 IP 地址发生更改,则您需要重新安装所有工作计算机。
您可以在服务器的“维护”页面上监视分布式计算机的状态。若要了解关于维护服务器
的更多信息,请参见服务器维护。
高可用性
使用下面的链接可了解有关 Tableau Server 高可用性支持的更多信息:
了解高可用性
配置高可用性 Tableau Server 系统所执行的步骤就是构建冗余配置,这样就可以缩短
潜在停机时间。需要冗余的三个方面是数据引擎进程、存储库进程和主 Tableau Server
( 网关) 。由于每个方面必须始终有一个活动实例,因此配置群集是一个多阶段过程,
需要将主 Tableau Server 停止并在特定的点重新启动以使设置生效。有关具体步骤,请
参见配置故障转移和配置高可用性网关。另请参见高可用性要求。
下面的主题总结了服务器系统拓扑结构在您配置高可用性时的变化。最低高可用性配
置是一个三节点系统。这包括一个用来路由请求的轻型网关和两个承载主进程的工作
服务器。您可以通过添加第四台计算机作为备份网关来提高系统的可靠性。
单 服务 器系统
安装主 Tableau Server 后,它至少运行所有服务器进程的一个实例。这是最基本的
Tableau Server 配置。该配置没有冗余。
单服务器系统的“维护”页面上的“状态”表通常与下面的表相似:
若要构建冗余,您需要添加另外的服务器以承载活动和备用数据引擎及存储库进程。
此外,为了减少系统漏洞,网关应在其自身节点上进行隔离,理想情况是运行尽可能
少的服务器进程。
三节 点系统
配置故障备援支持和高可用性的下一步是在两个工作服务器上安装 Tableau Server,
并将它们分别添加到主服务器的配置中。分配数据引擎和存储库进程需要两个步骤,
原因是:1) 每个进程必须始终有一个活动实例,并且 2) 总共不能超过两个进程。还需
要从主 Tableau Server 上删除进程。
有关添加工作服务器和从主服务器删除进程的具体步骤,请参见配置故障转移。完成
这些步骤后,您就拥有了一个三节点系统:
“维护”页面上的“状态”表应与下面的表类似:
您会发现,运行主计算机的节点上只有 Web 服务器。其作用是将请求路由到两个工作
服务器。在此配置中,如果活动工作服务器出现故障,备用工作服务器会自动成为活
动服务器并处理来自网关的所有请求。
不过,在三节点系统中,仍然有一个故障点:网关。可以通过创建备份网关来降低这方
面的风险。如果主网关出现故障,则只需少数几个步骤便可以激活备份网关。
添加备 份网关
添加备份网关可为系统提供一种安全保护。备份网关是添加到系统中的一个附加服务
器,可在主网关出现故障时随时接替工作。该服务器不是活动服务器,但在您完成配
置高可用性网关中的第一组步骤后,可以随时将其激活。
带有备份网关的系统与下面类似:
以上配置的“状态”表与三节点系统的“状态”表看上去相同。如果主网关出现故障,并且
您执行备份网关的接替步骤,则系统就会使用新网关继续运行:
高可用性要求
在开始配置故障备援和高可用性群集前,请确保满足以下要求。
硬件
除网关外,用于故障备援和高可用性的系统必须满足安装之前...中所述的要求,但无
需完全相同:
l
l
l
故障备援 — 三台计算机:要配置一个群集来为数据引擎和存储库进程提供故障
备援支持,您需要使用三台计算机或虚拟机:一台计算机用作主 Tableau Server,
另两台计算机用作 Tableau 工作服务器。
高可用性 — 四台计算机:若要配置高可用性,您需要上面所述的三台计算机或
虚拟机,另外还需要一台计算机作为主 Tableau Server 网关的备份网关。
网关计算机:如果您配置高可用性,则主 Tableau Server 网关和备份网关可以运
行很少的 Tableau Server 进程,或不运行任何 Tableau Server 进程。因此,运行网
关的计算机无需具有与运行工作服务器的计算机一样多的内核。不过,您将需要
提供足够的磁盘空间以用于备份。在数据库备份和还原过程中,将会临时用到网
关。
联 网与端口
与任何分布式系统一样,您所使用的计算机或虚拟机需要能够互相通信。有关网关和
工作服务器上必须具有的端口的列表,请参见TCP/IP 端口。
最佳做法
下面是开始安装和配置之前需要注意的问题:
l
l
l
l
IP 地址:记下将要使用的各计算机或虚拟机的 IP 地址。在 Tableau 工作服务器安
装和配置期间,需要提供这些地址。
CNAME 记录:如果您配置高可用性,则应确保主 Tableau Server( 网关) 和备份网
关具有相同的 CNAME 记录,以便在一个网关出现故障并且您已配置由另一个
网关进行接替时,Tableau Server 用户具有平稳过渡的体验。
用户帐户凭据:对于您要升级的每台计算机,都需要拥有本地管理员权限的用户
帐户的凭据。如果您配置高可用性,则用于主 Tableau Server 网关的“运行身份”
帐户必须与用于备份 Tableau Server 网关的“运行身份”帐户相同。
备份:最好在进行重要的系统更改之前创建备份。有关步骤,请参见备份 Tableau
数据。
配置故障转移
执行以下步骤可配置一个提供故障转移支持的三计算机群集:
1. 在主计算机上安装 Tableau Server。
2. 安装完成后,检查“维护”页面上的“状态”表。所有进程都应处于绿色的“等待请求”
状态:
3. 在主计算机上停止服务器。
4. 接下来,在将会提供故障转移支持的另外两台计算机或虚拟机上运行 Tableau 工
作软件安装程序。在工作软件安装过程中,您需要提供主 Tableau Server 的 IPv4
地址:
5. 在主服务器仍停止的情况下,打开其“配置”对话框:开始 > 所有程序 > Tableau
Server > 配置 Tableau Server。在“常规”选项卡上,键入“运行身份”帐户密码。
6. 在“服务器”选项卡上,单击添加以添加工作服务器。
7. 输入工作服务器的 IPv4 地址,为数据引擎输入 1,然后选中存储库复选框:
如果希望此工作服务器运行其他服务器进程,则输入要运行的实例数,如 1 或
2。每个服务器的最大实例数为 8。
8. 单击“确定”关闭“添加工作服务器”对话框,然后再次单击“确定”关闭“配置”对话
框。
9. 在主计算机上启动服务器。将数据复制到新存储库和/或数据引擎时,存储库和
数据引擎进程最初将显示红色的“服务关闭”图标。复制数据所需的时间因数据大
小不同而异:
复制数据后,“维护”页面上的“状态”表应与下面的表类似:
刚添加的工作服务器将运行存储库和数据引擎进程的备用实例。
接下来,从主计算机移除进程并添加第二个工作服务器来运行这些进程。
10. 在主计算机上停止服务器并再次打开其“配置”对话框。在“常规”选项卡上,键入
您的密码。
11. 选择“服务器”选项卡,突出显示此计算机( 此处为主 Tableau Server) ,然后单
击“编辑”。
12. 在“编辑 Tableau Serve”对话框中,将数据引擎设置为 0 并取消选中存储库复选
框。如果希望主 Tableau Server 只运行 Apache( 即不运行任何 Tableau Server 进
程) ,则可通过在各文本框中输入 0 来从中移除剩余进程:
13. 单击“确定”。
14. 在“Tableau Server 配置”对话框中,单击“添加”添加第二个工作服务器。
15. 在“添加 Tableau Server”对话框中,输入第二个工作服务器的 IP 地址,将数据引
擎设置为 1,选中存储库复选框,并输入要运行的实例数( 如 1 或 2) 。每个服务
器的最大实例数为 8。
无需为数据引擎和存储库指定哪些工作服务器分别处于活动和备用状态。
16. 单击“确定”。“Tableau Server 配置”对话框现在应与下面的对话框类似:
17. 您还可以设置电子邮件通知,以便在服务器出现故障或者数据引擎和存储库进
程的状态发生变化时收到通知。为此,请在“配置”对话框中单击“电子邮件通知/
订阅”选项卡,然后按配置电子邮件通知中的步骤操作。
18. 单击“确定”。
19. 在主计算机上启动服务器( 可能需要几分钟时间更改才会生效) 。您的系统现在
已配置为针对数据引擎和存储库进程提供故障转移支持。“维护”页面上的“状态”
表应与下面的表类似:
浅绿色的选中标记表示某一进程为备用进程,可在活动进程( 深绿色选中标记)
出现故障时接替工作。
配置高可用性网关
按照此主题中的过程进行操作前,请先执行配置故障转移中的步骤。完成这些步骤
后,您将拥有两个提供故障转移支持的工作服务器和一个网关( 主 Tableau Server) 。网
关可以只运行 Apache( 不运行任何服务器进程) ,或者可以运行除数据引擎和存储库
进程之外的任何服务器进程。这些进程必须由工作服务器运行。
下面的第一个过程介绍如何创建网关备份。第二个过程演示当前网关出现故障时应执
行的操作。
创 建备 份网关
执行以下操作以创建备份网关:
1. 在主 Tableau Server( 后面称为网关) 上停止服务器。
2. 在网关计算机上,以管理员身份打开命令提示符,导航至 Tableau Server 的 bin
目录:
32 位:C:\Program Files\Tableau\Tableau Server\8.0\bin
64 位:C:\Program Files (x86)\Tableau\Tableau Server\8.0\bin
3. 输入以下命令,其中 IP_address1 是当前网关的 IP 地址,IP_address2 是备
份网关的 IP 地址:
tabadmin failovergateway --primary IP_address1 --secondary
IP_address2
4. 接下来,创建该网关的 tabsvc.yml 文件( 位于 ProgramData\Tableau\Tableau
Server\config 中) 的副本,并将该副本放在备份网关计算机上的一个临时位置。
tabsvc.yml 文件包含服务器配置设置。在“Tableau Server 配置”对话框中或通过
tabadmin 更改配置设置时会向该文件写入。如果 tabsvc.yml 发生改变,您就需要
更新备份网关上 tabsvc.yml 的副本。
5. 在备份网关计算机上,打开 tabsvc.yml 文件,并将 worker.hosts 行中的网关 IP
地址替换为备份网关( 当前所在的计算机) 的 IP 地址:
6. 在备份网关计算机上安装 Tableau Server。使用在网关上运行 Tableau Server 安
装程序时所使用的“运行身份”帐户和配置设置。
7. 安装完成后,在备份网关计算机上停止服务器。
8. 还是在备份网关计算机上,输入以下命令以禁用其 Tableau Server 服务:
sc config tabsvc start= disabled
此时即完成备份网关的创建。查看下一组步骤以了解当前网关出现故障时应执
行的操作。如果您在测试环境中工作,这会是关闭当前网关,模拟系统故障以测
试配置的好时机。
配置备 份网关
当网关出现故障时,请按照这第二组步骤操作。所有步骤都应在备份网关计算机上执
行。
1. 在备份网关计算机上,使用在上一过程的步骤 5 中编辑的 tabsvc.yml 文件来覆盖
在 ProgramData\Tableau\Tableau Server\config 中本地安装的同名文件。
2. 以管理员身份打开命令提示符,然后转到 Tableau Server 的 bin 目录:
32 位:C:\Program Files\Tableau\Tableau Server\8.0\bin
64 位:C:\Program Files (x86)\Tableau\Tableau Server\8.0\bin
3. 输入以下命令,其中 IP_address2 是备份网关( 很快就会成为新网关) 的 IP 地
址,IP_address1 是先前网关( 很快将成为备份网关) 的 IP 地址:
tabadmin failovergateway --primary IP_address2 --secondary
IP_address1
4. 输入以下命令:
sc config tabsvc start= auto
5. 启动服务器。备份网关现在已成为主网关。在查看“维护”页面上的“状态”表时,可
注意到该网关的 IP 地址已发生改变:
6. 若要使先前的主网关现在充当备份网关,需要执行以下操作:
l
l
l
使用“添加/删除程序”从先前的主网关删除 Tableau Server。在卸载程序结束
时,会收到一个备份错误,您可以将其忽略。
删除先前的主网关上 Program Files (x86) 和 ProgramData 下的 Tableau 文件
夹。
重复此主题中从“创建备份网关”下的步骤 4 开始的步骤。
使用权限
可以对 Tableau Server 上的视图、工作簿、项目和数据源执行的操作由许可级别( 由管
理员指定) 以及视图或数据源作者设置的权限来控制。
如果您拥有交互者许可级别,并且至少满足以下一个条件,就可以更改某一项的权限:
l
您是工作簿或数据源的所有者( 是您将工作簿或数据源发布到服务器上) 。
l
您分配有“设置权限”的权限。
l
您分配有包含相关项的项目的“项目主管”权限。
l
您拥有“管理”权限。
有关更多信息,请参见以下主题:
如何设置权限
下图说明了如何评估权限。
如果工作簿配置为了以选项卡的形式显示工作表,那么所有视图都会继承工作
簿权限,即使在单个视图上指定了不同权限也是如此。
设置工作簿与视图的权限
请按照以下步骤设置工作簿或视图的权限。
1. 在显示一个或多个工作簿( 视图) 的页面上,单击选中一个或多个工作簿或视图,
然后单击权限:
2. 在“权限: 工作簿”或“权限: 视图”页面上单击“添加/修改权限”:
分配对内容的权限选项会针对工作簿显示,但不会对视图显示。
3. 在“添加/修改权限”窗口中,从左侧列表选择用户或组:
您可以对列表进行配置,以显示用户、组或同时显示两者。
4. 从角色下拉菜单中选择预定义角色,或在以下区域中指定单个权限。权限列表和
预定义角色稍有不同,具体取决于您是为工作簿还是视图设置权限。要查看定义
各种权限和权限应用项的表格,请参见权限。
以下是可用的工作簿和视图角色:
角色
查看者
交互者
编辑器
数据源连接器
数据源编辑器
应用对象 说明
工作簿
视图
工作簿
视图
工作簿
视图
允许用户或组查看服务器上的工作簿或视图。
允许用户或组查看服务器上的工作簿或视图、
编辑工作簿视图、应用筛选器、查看基础数
据、导出图像和数据。其他所有权限都是从用
户或组的项目权限继承而来的。
向用户或组授予所有权限
视图
允许用户或组连接到服务器上的数据源。在访
问与数据源连接的某个视图时,该权限与视图
相关。
视图
允许用户或组连接到服务器上的数据源。同样
允许发布、修改、下载、删除和设置数据源的
权限并为您发布的数据源安排刷新。在访问与
数据源连接的某个视图时,该权限与视图相
关。
5. 您可以为一个或多个用户和组配置权限,数量不限。完成后,单击提交。
设置数据源的权限
请按照以下步骤设置数据源的权限。
1. 在“数据源”页面上,单击选择一个或多个数据源,然后单击权限。
2. 在“权限: 数据源”页面上单击“添加/编辑权限”:
3. 在“添加/修改权限”窗口中,从左侧列表选择用户或组:
4. 从角色下拉菜单中选择预定义角色或在以下区域中指定单个权限。要查看定义
各种权限和权限应用项的表格,请参见权限。
以下是可用的数据源角色:
角色
说明
数据源连接器
允许用户或组连接到服务器上的数据源。
数据源编辑器
允许用户或组连接到服务器上的数据源。同样允许发
布、修改、下载、删除和设置数据源的权限并为您发布的
数据源安排刷新。
5. 您可以为一个或多个用户和组配置权限,数量不限。完成后,单击提交。
设置项目权限
管理员和项目主管可以指定项目权限。创建新项目时,具有与默认项目相同的权限。
您可以设置项目权限,以允许或拒绝授予单个用户或组访问该项目的权限。指定项目
权限:
1. 单击“管理”>“项目”。
2. 单击选中一个或多个项目,然后单击权限:
3. 在“权限: 项目”页面上单击“添加/修改权限”:
4. 在“添加/修改权限”窗口中,从左侧列表选择用户或组:
您可以对列表进行配置,以显示用户、组或同时显示两者。
5. 从角色下拉菜单中选择预定义角色,或在以下区域中指定单个权限。要查看定义
各种权限和权限应用项的表格,请参见权限。
以下是可用的项目角色:
角色
说明
查看者
允许用户或组查看项目中的工作簿和视图。
交互者
允许用户或组查看项目中的工作簿和视图、编辑工作簿
视图、应用筛选器、查看基础数据、导出图像和数据。
编辑器
向用户或组授予所有权限
数据源连接器
允许用户或组连接到项目中的数据源。
数据源编辑器
允许用户或组连接到项目中的数据源。同样允许发布、
修改、下载、删除和设置数据源的权限并为您发布的数
据源安排刷新。在访问与数据源连接的某个视图时,该
权限与视图相关。
项目主管
允许用户或组设置一个项目中所有项的权限。
发布者
向用户或组授予将工作簿发布到服务器所需的所有权
限。
指定的权限应用于该项目本身。对项目中包含的工作簿、视图和数据源设置的任何明
确权限都不受影响。不过,您可以选择将项目权限分配给该项目中包含的所有工作
簿、视图和数据源。在这种情况下,这些权限会覆盖工作簿和视图上的现有权限。例
如,假设有多个工作簿,每个工作簿都已使用自定义权限进行发布,并且您将这些工
作簿分组到一个具有新权限集的新项目中。您可通过单击“权限”页面上的分配对内容
的权限,将新权限应用到每个工作簿中。
检查当前权限
可以随时查看用户对特定视图、工作簿、项目或数据源的权限。在您可设置权限的任
何页面上,从检查用户权限 下拉列表中选择一个用户。
显示的权限专用于您选中的视图、工作簿、数据源或项目。
权限
管理员和其他授权用户可以允许或拒绝用户获得在 Tableau Server 上执行某些动作的
权限。在向 Tableau Server 发布工作簿或数据源时也可在 Tableau Desktop 中设置权
限。
管理员始终拥有对 Tableau Server 上所有资产的完全控制权限,而站点管理员拥有对
站点上所有资产的完全控制权限。如果您向 Tableau Server 发布了工作簿或数据源,您
就是这项资产的发布者且保留对该资产的完全控制权限。
下表显示了哪些权限应用于 Tableau Server 中的哪些项,并介绍了用户可利用每项权
限执行的操作。
权限
影响...
允许时,用户可以...
工作簿
视图
数据源
视图
查看 Tableau Server 中的项。访问某个与数据源连接的
视图的用户必须同时具有工作簿的“查看”权限和数据源
的“连接”权限。
项目
编辑工作簿中的视图。请参见哪些人可以编辑和创建视
图。
工作簿
Web 编辑
视图
项目
工作簿
写入/另存 数据源
到 Web
视图
项目
当您发布 Tableau Desktop 中的工作簿时,工作簿中的
工作表( 视图) 权限是从工作簿权限复制( 覆盖) 而来的。
当您单击“权限: 工作簿”页面上的“分配对内容的权限”
时,这些权限同样会被复制。在保存工作簿时,如果您
选择将工作表显示为选项卡,则工作簿权限会覆盖其中
所有的工作表( 视图) 权限,直到选项卡禁用为止。
“所有用户”组的特殊注意事项:为了保护发布者的内容
不被其他用户覆盖( 通过从 Tableau Desktop 发布或者在
Tableau Server 上保存通过 Web 编辑的工作簿) ,默认
情况下,每当用户发布到“所有用户”组在其中拥有权限
的项目时,“所有用户”组的“写入/另存到 Web”权限都
会从“允许”更改为“继承”。您可以按照设置工作簿与视
图的权限中的步骤将其从“继承”更改为“允许”来手动修
改此权限。
覆盖服务器上的项。得到允许后,用户可以重新发布
Tableau Desktop 中的工作簿或数据源,从而成为发布者
并获得所有权限。随后,原始发布者对工作簿的访问将
由该用户的组权限以及新发布者决定设置的任何进一
步权限来确定。
此权限还确定了用户或组在服务器上编辑工作簿之后
可对其进行覆盖。请参见哪些人可以编辑和创建视图。
权限
影响...
工作簿
下载/另存
数据源
到 Web
项目
允许时,用户可以...
得到允许后,用户可以从服务器下载项,还可以将编辑
过的工作簿另存为服务器上的新工作簿。请参见下载工
作簿和哪些人可以编辑和创建视图。
工作簿
删除
数据源
视图
删除项。
项目
工作簿
筛选器
视图
修改快速筛选器、只保留筛选器并排除数据。请参见向
视图添加注释。
项目
工作簿
添加注释
视图
向工作簿中的视图添加注释。
项目
工作簿
查看注释
视图
查看与工作簿中的视图相关的注释。
项目
工作簿
查看摘要
数据
视图
查看视图中或视图内用户选定内容中的聚合数据,并将
这些数据下载为文本文件。
项目
工作簿
查看基础
数据
视图
查看视图中每一行背后的原始数据( 受用户所选标记限
制) ,以及将这些数据下载为文本文件。
项目
工作簿
导出图像
视图
以图像形式导出每个视图。请参见导出视图。
项目
工作簿
共享自定
义
视图
项目
使保存的视图自定义项可供他人查看。用户可以使用
Tableau Server 中的“记住我的更改”选项来创建自定义
视图。请参见自定义视图。
工作簿
移动
视图
项目
在项目之间移动工作簿。
权限
影响...
允许时,用户可以...
工作簿
设置权限
数据源
视图
指定对项操作的权限。对于工作簿,此权限会扩展至工
作簿中的视图。
项目
数据源
连接
视图
连接到数据源。访问某个与数据源连接的视图的用户必
须同时具有视图的“查看”权限和数据源的“连接”权限。
项目
项目主管
项目
设置项目中所有项的权限。
使用服务器
请参见以下主题以了解如何使用 Tableau Server 用户界面来管理安装:
用户与许可证
需要访问 Tableau Server 的任何人( 无论是要进行发布、浏览还是管理) 都必须作为用
户来添加。此外,还必须为用户分配许可级别。
用户
需要访问 Tableau Server 的任何人( 无论是进行发布、浏览还是管理) 都必须作为用户
添加。如果 Tableau Server 运行多个站点,则系统管理员可以在“所有用户”页面上执行
此操作。否则,如果 Tableau Server 以单站点模式运行,则系统和站点管理员可以
在“用户”页面上添加用户。
添加用户后,您可以编辑和删除用户,向站点添加用户或从站点删除用户,并为用户
分配许可级别和用户权限。有关更多信息,请参见以下主题。
添加用户
具有正确权限的系统管理员和站点管理员都可以从“用户”页面添加用户:
可通过两种方法从“用户”页面添加用户:交互方式( 如下所述) 或使用“导入”命令成批
添加,这依赖于 CSV 文件( 如从 CSV 文件导入用户中所述) 。
若 要 添 加 用 户 ,请 执 行 以 下 操 作 :
在“用户”页面上,单击用户列表之上的“添加”链接:
1.
2. 输入“用户名”。
l
l
本地身份验证:如果将服务器配置为进行本地身份验证,则使用电子邮件
地址作为“用户名”是避免用户名冲突的最佳方法( 例如,使用
jsmith@myemail.com 而不是 jsmith) 。输入“用户名”后,单击“添加用户”。
Active Directory:如果要添加的用户所属的 Active Directory 域与运行服务
器的域相同,则可以键入不带域的“用户名”。此时将使用服务器所在的
域。
如果服务器所在的域和另一个域之间设置了双向信任,则可以从这两个域
添加用户。首次从“非服务器域”添加用户时,请对用户名使用完全限定域
名。可以使用该域的昵称添加后续用户。例如,假定“非服务器域”为
mybiz.lan,则对于该域的第一个用户,请输入 user1@mybiz.lan 或
mybiz.lan\user1。可以使用该域的呢称输入下一个用户,例如 user2@mybiz
或 mybiz\user2。
注意:切勿在此字段中输入用户的“全名”,因为这会导致在导入过程中出
现错误。
3. 仅限本地身份验证 提供了以下信息:
l
全名 — 为用户键入显示名称( 例如 John Smith) 。
l
密码 — 为用户键入密码。
l
确认 — 重新键入密码。
4. 许可级别:选择许可级别。若要了解更多信息,请参见许可和用户权限以及权
限。
5. 用户权限:选择用户是否可以发布工作簿和分配管理员权限。若要了解更多信
息,请参见允许或拒绝用户权限。
6. 单击“添加”。
多站点服务器说明:
只要现有用户仅是站点管理员也可控制的站点的成员,站点管理员就可以编辑该用户
的帐户。例如,如果用户 Joe 是站点 A 和站点 B 的成员,并且站点管理员仅是站点 B 的
管理员,则站点管理员不能编辑 Joe 的全名或重置其密码。
向站点添加用户
将站点添加到 Tableau Server 之后,它将变为多站点系统,并且以前的“用户”页面将变
为两个页面:“所有用户”和“站点用户”。作为系统管理员,只有您可以访问“所有用户”
页面,该页面应用于整个服务器系统。只有在此页面上,才可以同时向多个站点中添
加用户,移除用户,并且( 如果服务器使用的是本地身份验证) 重置用户密码。
“站点用户”页面是一种快速查看哪些用户在您当前登录的站点上的简便方式。您可以
从此处添加用户,但这些用户将只添加到该站点。
以下过程介绍如何从“所有用户”添加用户。您可以采用的方法有两种:一次添加一个
( 如下所述) 或使用“导入”命令成批添加,这依赖于 CSV 文件( 如 从 CSV 文件导入用户
中所述) 。
若要添加用户,请执行以下操作:
1. 从“所有用户”页面中,单击用户列表顶部的“添加”链接。
2. 输入“用户名”:
l
l
本地身份验证 — 如果服务器使用的是本地身份验证,则使用电子邮件地
址作为用户名是避免用户名冲突的最佳方法( 例如,使用 jsmith@myco.com
而不是 jsmith) 。
Active Directory — 如果要添加的用户所属的 Active Directory 域与运行服
务器的域相同,则可以键入不带域的“用户名”。此时将使用服务器所在的
域。
如果服务器所在的域和另一个域之间设置了双向信任,则可以从这两个域
添加用户。首次从“非服务器域”添加用户时,请对用户名使用完全限定域
名。可以使用该域的昵称添加后续用户。例如,假定“非服务器域”为
mybiz.lan,则对于该域的第一个用户,请输入 user1@mybiz.lan 或
mybiz.lan\user1。可以使用该域的呢称输入下一个用户,例如 user2@mybiz
或 mybiz\user2。
注意:切勿在此字段中输入用户的“全名”,因为这会导致在导入过程中出
现错误。
3. 如果服务器使用本地身份验证,请提供以下信息:
l
全名 — 为用户键入显示名称( 例如 John Smith) 。
l
密码 — 为用户键入密码。
l
确认 — 重新键入密码。
4. 站点成员身份 — 选择用户应是哪个站点的成员。默认情况下会选择您所登录的
站点。
5. 许可级别和用户权限 — 选择许可级别、管理员角色以及用户是否可以发布工作
簿和数据源。属于多个站点的用户可在每个站点上具有不同的许可级别和用户
权限。若要了解更多信息,请参见关于许可级别、权限和关于用户权限。
6. 单击“添加用户”。
从 CSV 文件导 入用户
可以使用 CSV 文件自动完成添加用户的过程。
要求
l
l
l
l
必须以 UTF-8 格式保存 CSV 文件。
必须对 UTF-8 以外的字符编码( 例如 BIG-5) 进行转换。可通过“另存为”完成转
换。
不使用列标题。如果使用列标题( Username、Password 等) ,则 Tableau Server
将尝试作为文件中第一个用户的文本凭据导入它们。
以下两列始终是必需的:
l
l
l
l
Username
Password:如果将 Tableau Server 配置为使用 Active Directory 用户身份验
证,则必须具有一个 Password 列,但该列本身应该是空的。如果服务器
使用本地身份验证,则必须为新用户提供密码。有关其他信息,另请参
见“多站点模式和导入位置”。
CSV 文件还可具有按以下顺序显示的下列附加列( 在 Username 和 Password 列
之后) :
l
Full Name
l
License Level( “Interactor”、“Viewer”或“未许可”)
l
Administrator( “系统”、“站点” 或“无”)
l
Publisher( yes/true/1 或 no/false/0)
列的顺序非常重要。将第一列视为 Username,将第二列视为 Password,将第
三列视为 Full Name 等等,而不考虑列内容。
多站点模式和导入位置
如果服务器正在运行多个站点,并且您是系统管理员,则您可在两个页面上执行 CSV
用户导入。每个页面具有不同的功能,这些功能与现有服务器用户帐户相关。
l
“所有用户”页面:此页面显示服务器是否运行多个站点,只有系统管理员才可访
问此页面。
如果从这里进行 CSV 导入,您除了可添加新用户帐户外,还可更新现有服务器
用户帐户。例如,如果您针对每个现有用户执行具有新密码的 CSV 导入,则将重
置该用户的密码。
“站点用户”页面:
l
当系统管理员在此处工作时,他们能使用的功能与站点管理员相同。这意味着他
们可通过 CSV 导入来添加新用户帐户,如果导入中含有现有用户,则“密码”
和“全名”字段必须匹配或保留为空白。如果使用新的密码或全名,则导入会失
败。
如果您是具有多个站点的服务器上的站点管理员,则您可从“用户”页面执行 CSV 用户
导入。
用户可以属于同一个服务器系统上的多个站点,但该用户必须针对每个站点使用相同
的凭据。如果您要向站点添加新用户( 但可能不是服务器的新用户,也就是说,这些用
户是服务器上其他站点的成员) ,这十分重要。如果您认为可能是这种情况,请尝试将
Password 列保留为空白( 但保留所需的 Password 列标题) 。如果将服务器配置为进
行本地身份验证,并且新的站点用户也是服务器系统的新用户,则 CSV 导入窗口中会
显示一条消息,提示您为该用户提供密码。
从 CSV 文 件 添 加 用 户
从 CSV 文件添加用户:
1. 从“用户”或“所有用户”页面中,单击“导入”链接:
2. 单击“浏览”,导航到文件,然后单击“检查文件”:
3. 显示初步结果。若要查看帐户特定信息,请选择“查看详细信息”:
4. 若要继续,请单击“导入用户”,然后在最后的对话框中单击“退出”。
向组 添加用户
更方便地管理用户的一种方法是将用户分配到组中。这样,您就可以为整个组分配权
限,而不是为每个用户分配权限。若要向组中添加用户,该组必须已存在。有关更多信
息,请参见创建组。
向组中添加用户:
1. 在“管理”选项卡上,选择“用户”页面:
如果您是多站点服务器的系统管理员,则需要使用“站点用户”页面逐个站点地执
行此操作:
2. 选择一个或多个用户。
3. 单击用户列表上方的“添加组”链接,然后选择要将用户添加到的组:
查 看、编 辑 和删 除用户
通过本主题可了解如何查看、编辑和删除 Tableau Server 用户。
查看用户
如果 Tableau Server 运行多个站点,则“所有用户”列出服务器系统上的所有用户,
而“站点用户”显示当前已登录的站点的所有用户:
注意:
默认情况下,此用户列表是专用列表,只有管理员才可查看。通过启用“维护”页面
上“设置”区域的“公开用户列表”,可以将用户列表公开。如果服务器运行多个站点,则
启用此设置将仅为用户显示其站点上用户的名称。
用户可以跨多个页面列出。选择列表中的用户时,这些用户将添加到左上角的快速列
表中。通过快速列表,可以查看已添加多少用户并有助于方便地从中删除用户。单击
快速列表中用户名旁边的“x”按钮可删除所选用户。
也可以使用左侧“筛选器”下的“搜索”框在列表中快速查找特定用户。
键入完整用户名或用户名的一部分,然后按 Enter。可以在搜索中使用星号 (*) 字符作
为通配符。例如,搜索 John* 将会返回所有以 John 开头的名称。
编辑用户
如果将服务器配置为使用内部用户管理系统( 本地身份验证) ,则可以在添加用户之后
编辑用户的“显示名称”和“密码”。如果要进行许多更改,则更方便的方法是从 CSV 文
件导入更改。有关详细信息,请参见添加用户。
编辑用户信息:
1. 在用户列表中选择一个用户。
2. 单击列表顶部的“编辑”链接。
3. 在相应文本框中键入新的“显示名称”和“密码”。
4. 单击“提交”。
多站点服务器说明:
只要现有用户仅是站点管理员也可控制的站点的成员,站点管理员就可以编辑该用户
的帐户。例如,如果用户 Joe 是站点 A 和站点 B 的成员,并且站点管理员仅是站点 B 的
管理员,则站点管理员不能编辑 Joe 的全名或重置其密码。
删除用户
您只能从 Tableau Server 中移除不拥有任何内容( 工作簿、数据源等) 的用户。如果使用
以下步骤删除拥有内容的用户,该用户将被设置为“未许可”而不是被移除。若要删除
用户,请执行以下操作:
1. 选择一个或多个要删除的用户。
2. 单击列表顶部的“删除”。
3. 在确认对话框中单击“是”。
“用户 首选 项 ”页 面
“用户首选项”页面上的选项会影响您的各个 Tableau Server Web 会话。使用这些选项可
以管理订阅设置,指定开始页面,更改您在 Tableau Server 中看到的语言和区域设置,
清除数据连接密码的 Cookie,或者更改 Tableau Server 密码。您还可以使用此页面快速
浏览已发布的各项。若要访问“用户首选项”页面,请单击页面顶部的用户名,然后从下
拉菜单中选择“用户首选项”:
更改电子邮件地址
如果您订阅了 Tableau Server 视图或工作簿,则用于接收订阅的电子邮件帐户将在“用
户首选项”页面上列出:
若要输入或更改 Tableau Server 将订阅发送到的电子邮件地址,请在“电子邮件”文本
框中输入新电子邮件地址,在“确认电子邮件”文本框中再次输入,然后选择“设置”:
管理订阅设置
使用订阅选项可以更改您正在接收的所有订阅的计划。这也是您可以取消订阅视图的
位置。有关步骤,请参见取消订阅视图和更改订阅设置。
自定义开始页面
Tableau Serverr 安装时将“视图”作为所有用户的默认开始页面,但管理员可以指定不
同的页面。若要确定您的开始页面是什么,请单击“转到开始页面”:
通过导航到所需的服务器页面( 例如“工作簿”) 并从右上角的下拉菜单中选择“使此页
面成为我的开始页面”命令,您可以为自己指定不同的开始页面:
若要返回以使用管理员指定的开始页面,请在“用户首选项”页面上,单击“重置为默认
值”:
语言和区域设置
“语言”设置可控制 Tableau Server 所显示用户界面的语言,而 “区域设置”会影响视图
中的内容,如数字的格式设置方式或所使用的货币。管理员可以为所有服务器用户配
置这些设置,但您可以在这里仅为自己更改设置。如果更改这些设置,请注意仅当它
们是支持的语言时才会生效。若要了解更多信息,请参见语言和区域设置。
进行“语言”和“区域设置”选择后,请单击“设置”。
下次您登录时,这些设置将用于您的服务器会话。
更 改 Tableau Server 密 码
如果将服务器配置为使用内部用户管理系统( 本地身份验证) 而不是使用 Active
Directory,则可通过单击“更改密码”更改 Tableau Server 密码。单击此链接时,系统会
要求您输入“当前密码”和“新密码”( 两次) 。键入所需信息后,请单击“更改”以保存更
改。
清除保存的数据连接密码
如果您访问的视图或工作簿具有实时数据库连接,并且需要您进行身份验证,则
Tableau 会提出为您保存密码。如果您接受,系统将在 Cookie 中存储您的凭据。单
击“保存的数据连接密码”下的“全部清除”将从 Tableau Server 中移除 Cookie:
浏览已发布项
您的用户帐户页面列出了您发布的所有工作簿、标记和注释。可使用此页面在服务器
上快速浏览您的活动。
许可和用户权限
分配给用户的许可级别和用户权限决定他们能够在 Tableau Server 中执行的操作。
关于许 可级 别
若要打开“许可证”页面,请单击“管理”选项卡上的“许可证”链接:
必须为 Tableau Server 上的所有用户分配同一个许可级别,即使该级别是未许可级别
也是如此。Tableau Server 许可级别不与您从 Tableau 购买的 Tableau Server 命名用户
许可证相对应( 如果您正在使用基于用户而非基于内核的服务器许可) 。这些许可证允
许您在服务器上拥有一定数量的用户。借助许可级别,管理员可以控制用户对服务器
的访问程度。
下面是您可以分配的许可级别:
许可级别
说明
未许可
用户无法登录到服务
器。默认情况下,所有用
户都以未许可级别添
加。
查看者
用户可以登录和查看服
务器上的已发布视图,
但无法与这些视图交
互。此级别的用户只有
查看、添加注释和查看
许可级别
说明
注释的权限。他们不能
与快速筛选器交互,也
不能对视图中的数据进
行排序。
交互者
用户可以登录、浏览服
务器,可以与已发布的
视图交互。请务必注意,
可能已使用限制用户功
能的权限添加特定的视
图、工作簿和项目。可由
工作簿作者或管理员编
辑权限设置。
来宾
来宾许可级别用于允许
在服务器上没有帐户的
用户查看嵌入式视图并
与其交互。如果启用此
级别,用户不登录就可
以加载包含嵌入式视图
的网页。只有基于内核
的服务器提供此选项。
在“许可证”页面上可以查看这些级别的分配情况:
更改许 可级 别
通常在创建用户时分配许可级别。若要更改一个或多个现有用户的许可级别,请按照
以下步骤操作:
1. 在“管理”选项卡上单击“用户”。
2. 选择一个或多个用户。
3. 单击列表顶部的许可证用户。
4. 为选定用户选择“未许可”、“查看者”或“交互者”。
用户列表中的许可级别会进行更新以反映所做的更改。
关于用户 权 限
除许可级别外,用户在 Tableau Server 上的特权还受其用户权限的影响:
用户权限
发布
说明
允许用户从 Tableau Professional 连
接到 Tableau Server 以便发布和下
载工作簿和数据源。
用户权限
管理
说明
将用户设置为管理员。
有两种类型的管理员:站点管理员
和系统管理员。
l
l
站点管理员可以管理组、项
目、工作簿和数据连接。默认
情况下,站点管理员还可以添
加用户并分配用户权限和许
可级别,但系统管理员可以禁
用这项权限( 请参见 sites_
edit.htm) 。
系统管理员具有站点管理员
的所有权限,此外,系统管理
员还可以为未许可的用户发
放许可,控制站点管理员是否
可以添加用户,创建其他系统
管理员,并且可以管理服务器
自身。这包括处理维护、设
置、计划和搜索索引。
只能向拥有交互者许可级别
和“发布”权限的用户分配“管
理”权限。
允许 或拒绝 用户 权 限
通常在创建用户时分配用户权限。若要更改一个或多个现有用户的用户权限,请按照
以下步骤操作:
1. 在“管理”选项卡上单击“用户”。
2. 选择一个或多个用户。
3. 单击列表顶部的“发布”或“管理”。
4. 选择“允许”或“拒绝”以更改所选用户的发布权限。
5. 从“管理”中,选择“系统”、“站点”或“无”以更改所选用户的管理权限。用户列表
中的“管理”和“发布”列会进行更新以反映所做的更改。
组和项目
“组”和“项目”可帮助您组织 Tableau Server 上的工作簿和用户。
组
可以将 Tableau Server 用户组织到组中以便更轻松地管理多个用户。可以在本地服务
器上创建组,或者从 Active Directory 导入组。可以在“组”页面上创建和管理组,该页面
列出了服务器或站点上的所有组,前提是该服务器承载多个站点。
创 建组
根据服务器的配置方式,可使用内部用户管理系统( 本地身份验证) 来添加组,或者从
Active Directory 导入组。
创建本地组
本地组是使用内部用户管理系统在 Tableau Server 上创建的组。创建组后,可以添加和
删除用户。创建本地组:
1. 单击组列表顶部的“新建”。
2. 键入该组的名称,然后单击“添加组”:
3. 单击“返回组”返回到组列表。
通 过 Active Directory 创 建 组
也可以从 Active Directory 导入组。在导入 Active Directory 组时,将在服务器上创建匹配
组,并在服务器上为组中的每个成员创建一个用户。每个用户都未获得许可,并且没
有发布权限。如果服务器上已存在该用户,则会将该用户添加到新组,且不改变其权
限。若要了解有关许可级别和用户权限的更多信息,请参见 许可和用户权限
1. 单击组列表底部的“导入 Active Directory 组”。
2. 键入要导入的 Active Directory 组的名称,然后单击“导入”
3. 如果不知道组的准确名称,可通过在“搜索”文本框中键入全部或部分组名称来查
找。然后单击“搜索”。可将星号 (*) 用作通配符。
4. 从搜索结果列表中选择组。
5. 组名称将自动添加到“导入”文本框中。单击“导入”将组添加到 Tableau Server。
无法更改从 Active Directory 导入的组的名称。只能在 Active Directory 中更改该组
名称。
同 步 Active Directory 组
可随时将 Active Directory 组与 Tableau Server 同步,以便 Active Directory 中的任何新用
户也添加到该服务器。可同步单个组或一次同步多个组。
1. 在“组”页面上,选择一个或多个组。
2. 单击“同步化”。
如果要添加的组来自于运行该服务器的同一个 Active Directory 域,则只需键入组
名称。另外,如果服务器使用的域和另一个域之间设置了双向信任,则可以同时
从这两个域添加组。第一次从与服务器使用的域不同的域添加组时,必须在组名
称中包括完全限定域名。例如 domain.lan\group 或 group@domain.lan。任何随后
的组都可使用该域的昵称来添加。若要了解有关管理域名的更多信息,请参见修
改域名。
删 除组
可以从服务器删除任何组。删除组时,将删除该组中的用户,但不会从服务器删除这
些用户。
1. 在“组”页面上,选择一个或多个要删除的组。
2. 单击组列表上的“删除”:
项目
项目是相关工作簿的集合。作为管理员,您将会在两个位置看到列出“项目”:“内容”选
项卡下,“管理”选项卡下。如果要创建新项目、分配权限或删除项目,请使用“管理”选
项卡下的“项目”页面:
只有管理员才可以创建新项目,而可以向用户和组分配“Project Leader”权限。此权限让
用户或组能够指定项目权限以及将工作簿移到项目中。有关使用项目的步骤和更多信
息,请参见下面的主题:
添加项 目
若要添加一个或多个项目,请执行以下操作:
1. 单击项目列表底部的“添加项目”链接。
2. 键入项目的名称和说明,然后单击“添加”。可以在项目说明中包含设置格式和超
链接。
将工作簿移动 到项 目中
所有工作簿都必须位于项目中。默认情况下,工作簿将添加到“默认”项目中。在创建
自己的项目后,您可以将工作簿从任意工作簿列表移动到这些项目中。如果您拥有交
互者许可级别,并且至少满足以下条件之一,就可以将工作簿移动到项目中:
l
您拥有写入项目的权限。
l
您拥有该项目的“Project Leader”权限。
l
您拥有“管理”权限。
将工作簿移动到项目中:
1. 选择一个或多个工作簿,然后单击工作簿列表顶部的“移动”链接。
2. 选择要移入工作簿的项目。
由于所有工作簿必须是项目的一部分,因此可通过将工作簿移动到 Default 项目
中来删除某一项目中的工作簿。每个工作簿都只能是一个项目的一部分。
删 除项 目
只有管理员才可以删除项目。删除项目时,该项目包含的所有工作簿和视图也会从服
务器删除。删除项目:
1. 在项目列表中选择项目。
2. 单击项目列表上的“删除”。
3. 在确认对话框中单击“是”。
Default 项目无法删除。
计划刷新和订阅
数据提取刷新和订阅交付是 Tableau Server 执行的任务,并且在这些任务运行时会安
排控制。
作为服务器管理员,您对服务器任务和计划拥有最高级别的控制,不过,有两种类型
的任务是 Tableau Server 用户可以计划的。工作簿作者可以在发布含有数据提取的工
作簿或数据源时计划数据提取刷新,而 Tableau Server 用户可以订阅按计划交付的视
图。作为管理员,您可以调整数据提取或订阅的计划,创建新计划和刷新任务,以及删
除计划和任务。您还可以控制是否允许工作簿作者计划( 请参见启用计划功能) ,并控
制是否将服务器配置为发送订阅( 请参见管理订阅) 。当作者下次进行发布时,对数据
提取计划进行的任何更改都会反映在 Tableau Desktop 的“计划”对话框中。同样,如果
您创建新订阅计划或删除现有订阅计划,则此操作会在 Tableau Server 用户订阅视图
时看到的计划选项中反映出来。
有关更多信息,请参见以下主题:
关于数据提取和计划
Tableau Desktop 允许作者创建数据提取,数据提取就是原始数据源的副本或数据子
集。由于提取的数据将导入到 Tableau 的内置快速数据引擎中,因此使用数据提取的
工作簿通常比使用实时数据库连接的工作簿速度快。数据提取还可以增加功能。发布
带有数据提取的工作簿后,该数据提取就会驻留在 Tableau Server 上。有多种方法可
以刷新 Tableau Server 上的数据提取,这些方法都是直接在 Tableau Server 或 Tableau
Desktop 上进行的。
直接在 Tableau Server 上刷新 Tableau Server 数据提取:
l
l
用户界面:作为管理员,您可以使用 Tableau Server 用户界面中的选项来更改或
重新分配数据提取刷新计划,无论带有数据提取的工作簿或数据源在发布时是
否设置了刷新计划。当工作簿或数据源再次发布时,管理员在 Tableau Server 中
进行的任何更改都会反映在 Tableau Desktop 的“计划”对话框中。您也可以立即
刷新数据提取,只需使用“立即运行”选项即可。有关详细信息,请参见管理刷新
任务和创建或修改计划。请注意,创建刷新计划前,必须先在服务器上启用计划
功能。若要了解更多信息,请参见启用计划功能。
tabcmd 命令行实用工具:您可以在命令行中使用 tabcmd 命令行实用工具提供的
refreshextracts 命令或将其包含在自己的脚本中。有关详细信息,请参见自
动刷新任务。
从 Tableau Desktop 中刷新 Tableau Server 数据提取:
l
l
l
发布时:当作者发布使用数据提取的工作簿或数据源时,可以将其分配给
Tableau Server 上一个可反复使用的刷新计划。当Tableau Server 按作者选择的间
隔刷新数据提取中的所有数据。作者还可以为数据提取定义增量更新,并对数据
提取中含有数值( 如时间戳) 的列进行标识。( 具体来说,该值必须为整数,最多
18 位数字。日期和日期时间均有效。) Tableau 使用此列来标识需要添加到数据
提取中的新行。这称为增量刷新,也可对增量刷新进行计划。有关详细信息,请
参见 Tableau Desktop 帮助中的计划。
用户界面:您可以使用 Tableau Desktop 的“从源刷新”和“从文件追加”选项来向
Tableau Server 上传添加内容或刷新其中的数据提取。如果 Tableau Server 没有
足够的凭据从原始数据源刷新数据,您可能需要执行此操作。有关上传方法的详
细信息,请参见 Tableau Desktop 联机帮助中的更新 Tableau Server 上的数据提
取。
数据提取命令行实用工具:数据提取命令行实用工具随 Tableau Desktop 一起安
装。您可以使用该工具向 Tableau Server 上的数据提取上传添加内容或刷新该数
据提取。有关上传方法的详细信息,请参见 Tableau Desktop 联机帮助中的
Tableau 数据提取命令行实用工具。请
启用计划功能
在计划数据提取刷新前,必须先在服务器上启用计划功能。启用计划后,可以向计划
添加工作簿和数据源,创建和编辑计划,管理计划任务,以及更改计划设置以允许发
布者向计划分配工作簿。此设置不影响订阅计划。
若要启用计划,请选中“服务器维护”页面上“设置”下的“计划”复选框:
由于刷新数据提取可能需要数据库密码,因此必须启用“嵌入式凭据”以允许计
划。
创建或修改计划
“计划”页面显示了一个计划列表,包括计划名称、类型、作用范围、任务数、行为( 同时
或顺序处理) 以及计划运行的时间。
1. 若要创建新计划,请单击“新建”:
2. 若要修改现有计划,请选择该计划,然后单击“修改”:
3. 为计划指定一个描述性“名称”( 例如,“每个星期六早晨”、“月底”) 。
4. 选择“计划范围”( 计划将处理的内容) — 数据提取刷新或订阅交付。
5. 您可以选择定义一个 0 到 100 之间的“默认优先级”。这是在默认情况下将分配给
任务的优先级。如果队列中有两个未完成的任务,则具有最高优先级的任务首先
运行。若要了解有关修改任务优先级的更多信息,请参见管理刷新任务。
6. 选择计划中的作业是同时( 默认设置) 运行还是依次( 顺序) 运行。
7. 完成定义或编辑计划。您可以定义每小时、每天、每周或每月计划。
8. 单击“创建计划”( 如果是新计划) ,或者单击“保存计划”( 如果修改了现有计划) 。
向计划添加数据源或工作簿
启用计划后,可以从“工作簿”列表向计划添加工作簿,也可以从“数据源”列表向计划添
加数据源。默认情况下,Tableau Server 具有三个内置的数据提取刷新计划。您也可以
创建自己的计划。有关详细信息,请参见创建或修改计划。
1. 如果为工作簿计划数据提取刷新,请在“工作簿”页面上选择一个或多个工作簿,
然后单击“计划任务”:
如果为数据源计划数据提取刷新,请在“数据源”页面上选择一个或多个数据源,
然后单击“计划任务”:
2. 选择“添加完全刷新”或“添加增量刷新”,然后从列表中选择计划:
“添加完全刷新”仅当所选数据源连接到数据提取时才可用。“添加增量刷新”仅
当所选数据源连接到定义了增量刷新的数据提取数据源时才可用。Tableau
Server 无法刷新与映射驱动器上的本地文件数据源连接的数据源。更新连接以
使用至该数据源的完整路径。
管理刷新任务
“任务”页面显示正在由服务器处理的所有完全和增量的数据提取刷新任务。系统和站
点管理员可以使用此页面更改任务的优先级,将任务移到其他计划,运行或删除任
务。您可以单击“管理”选项卡上的任务,打开“任务”页面:
编 辑 任务 计 划
通过执行以下操作将数据提取刷新任务从一个计划移到另一个计划:
1. 在“任务”页面上,选择一个或多个要修改的任务。
2. 单击“编辑计划”。从计划列表选择一个新计划:
也可通过在列表中选择一个或多个任务然后选择工具栏上的相应选项来删除和运行
任务。
立即运行任务
您也可以立即强制刷新任务( 例如数据提取刷新任务) ,只需使用立即运行选项即可。
1. 在“任务”页面上,选择要运行的任务。
2. 单击立即运行。
更改任务 优 先级
若要更改数据提取刷新任务的优先级,请执行以下操作:
1. 在“任务”页面上,选择一个或多个要修改的任务。
2. 单击修改优先级。
3. 键入 0 到 100 之间的一个新优先级,然后单击“提交”。
自动 刷新任务
您可以将数据提取刷新任务与 Tableau Server 中的计划关联,以自动刷新数据提取。
还可以使用 tabcmd 自动刷新数据提取,它是一个随 Tableau Server 提供且能安装在独
立于 Tableau Server 的计算机上的命令行实用工具。具体来说,您可以将
refreshextracts 命令与您脚本中的其他命令结合使用。例如:
tabcmd login - http://mytabserver -u jsmith -p P@ssw0rd!
refreshextracts --datasource salesq4
管理订阅
订阅是 Tableau Server 上用户可以通过电子邮件接收其快照的视图或工作簿。当用户
单击电子邮件中的快照时,视图或工作簿将在 Tableau Server 上打开。若要管理订阅,
请单击“管理”选项卡上的“订阅”。
要求
若要使 Tableau Server 用户能够接收订阅,必须存在以下项:
l
l
l
l
电子邮件设置配置:作为系统管理员,您可以在安装过程中出现的“配置”对话框
中的“电子邮件通知/订阅”选项卡上配置订阅的基本 SMTP 服务器设置。这是
Tableau Server 用于将订阅通过电子邮件发送给服务器用户的“发件人帐户”。您
也可以在安装后访问此选项卡。有关步骤,请参见重新配置服务器和配置电子邮
件订阅。
嵌入凭据或不需要凭据:从 Tableau Server 的角度来看,订阅包括工作簿、数据和
计划。为了交付数据,Tableau Server 需要能够在没有最终用户参与的情况下访
问数据。这可以使用具有嵌入式数据库凭据的工作簿、Tableau Server 数据源或
使用不需要凭据的数据( 如发布时工作簿附带的文件) 实现。无法订阅要求提供
凭据以进行实时数据库连接的工作簿。
用户要求:如果用户可以看到 Tableau Server 上的视图或工作簿并且视图或工作
簿的右上角有订阅图标 ( ),那么该用户就可以订阅该视图或工作簿。能否看到
视图或工作簿由“视图”权限控制。用户还必须具有电子邮件地址。如果 Tableau
Server 尚没有订阅用户的电子邮件地址,在用户注册订阅时,它会提示用户提供
一个电子邮件地址。用户可以在“用户首选项”页面上更改其交付选项、取消订阅
或者更新其电子邮件地址。
不使用受信任的身份验证:如果 Tableau Server 配置为使用受信任的身份验证,
则将禁用订阅。受信任的身份验证与 Tableau 的本地身份验证结合可以为最终用
户打造“免登录”且经过身份验证的体验。为了创建与此相同的体验并使用订阅,
应使用 Active Directory( 并启用自动登录) 作为用户身份验证类型。可以在安装期
间选择用户身份验证类型。有关详细信息,请参见配置服务器。
其他订阅设置
只要在“电子邮件通知/订阅”选项卡上配置了订阅并且 Tableau Server 正在使用其默认
设置,服务器用户就可以订阅其查看的视图和工作簿。若要阻止用户订阅或自定义其
订阅体验,下面是要转向的页面:
l
l
“站点”页面:默认情况下为每个站点启用订阅,但您可以使用“站点”页面逐个站
点地禁用订阅或进行自定义。例如,可以为订阅输入自定义“发件人地址”,而不
是在“配置”对话框中指定的地址。还可以为用户接收的订阅电子邮件创建您自己
的页脚。
“计划”页面:用户至少需要一个订阅计划以供在订阅时进行选择。默认情况
下,Tableau 提供两个订阅计划。作为系统管理员,您可以创建其他计划或者删
除默认计划。有关详细信息,请参见创建或修改计划。
l
“订阅”页面:此页面列出服务器或站点上( 如果您是站点管理员) 的所有订阅。此
页面列出服务器或站点( 如果您是站点管理员) 上的所有订阅。系统管理员可以
使用此页面更改服务器用户的订阅计划或删除其订阅。有关详细信息,请参见以
下主题。
有关如何测试是否正确配置了订阅的步骤,请参见测试订阅配置。如果订阅出现问
题,请参见订阅疑难解答。
删 除订 阅
若要删除订阅,请选择要移除的订阅,然后单击“删除”:
编辑订阅计划
若要更改某个订阅的计划,请选择该订阅,单击“编辑计划”并选择一个计划:
测 试 订 阅 配置
作为管理员,您可以通过执行以下操作来测试是否正确配置了订阅:
1. 订阅视图。
2. 在“计划”页面上,选择包含您的订阅的计划。
3. 单击“立即运行”:
4. 几分钟后,订阅应该就会出现在电子邮件收件箱中。
订 阅 疑难 解答
“此 电 子 邮 件 中 的 视 图 快 照 无 法 正 确 呈 现 。”
如果您接收的订阅出现此错误消息,可能是由以下几种原因导致的:
l
l
l
缺失凭据:某些视图是与嵌入式凭据一起发布的。如果嵌入式凭据现已过时或视
图并未与嵌入式凭据一起发布,则您可能会收到以上错误消息。
数据库暂时瘫痪:如果视图具有实时数据库连接,且数据库在生成订阅时暂时瘫
痪,则您可能会收到以上错误消息。
后台进程超时:默认情况下,处理订阅的后台进程如果在 30 分钟后还未完成,就
算超时。大部分情况下,30 分钟足够了。但如果后台进程在处理极大且非常复杂
的仪表板,30 分钟可能就不够。您可以检查后台任务管理视图,看看是否出现了
这种情况。要提高超时阈值,请使用 tabadmin 选项 subscriptions.timeout。
无法订阅
如果您在 Tableau Server 上可以看到视图并且该视图的右上角有一个订阅图标 ( ),则
您可以订阅该视图。
需要存在以下两项,您才能订阅视图:需要正确配置 Tableau Server( 请参见管理订
阅) ,并且您订阅的视图必须已嵌入其数据源的凭据或者根本不需要凭据。后一种情况
的示例连接到不需要刷新的数据提取的工作簿,或其数据位于发布时工作簿附带的文
件中的工作簿。嵌入凭据的步骤在 Tableau Desktop 中执行( 有关详细信息,请参见
Tableau Desktop 帮助) 。
没有订阅图标
可以在 Tableau Server 上看到视图但无法订阅它。具有实时数据库连接的视图会出现
这种情况,当您首次单击该视图时,会提示您提供数据库凭据。订阅包括视图( 或工作
簿) 、数据和计划。为了交付数据,Tableau Server 需要嵌入式数据库凭据或不需要凭据
的数据。至于实时数据库连接,Tableau Server 没有相关凭据,只有单个用户拥有凭
据。这就是为什么您只能订阅不需要凭据或已嵌入凭据的视图的原因所在。
如果 Tableau Server 配置为使用受信任的身份验证,您也可能可以看到视图但无法订
阅它( 没有订阅图标) 。有关更多信息,请参见订阅要求。
接 收 的 订 阅 无 效 或 “破 损 ”
如果除了生产实例,您还配置了 Tableau Server 测试或开发实例上的订阅,请禁用非生
产实例上的订阅。在所有实例上将订阅保持为启用状态会导致您用户接收到看起来有
效但实际无法运作的订阅,或接收到已在视图或工作簿上取消的订阅。
订 阅 没 有 到 达 ( “发 送 电 子 邮 件 时 出 错 。无 法 向 SMTP 主 机 发 送 命 令 。”)
如果订阅显示为已发送( 根据后台任务管理视图) 但没有到达,并且您的 SMTP 服务器
使用的是加密 (SSL) 会话,您可能会在 Windows 事件查看器中看到以上错误消息。订
阅只支持未加密的 SMTP 连接。解决方案是使用未加密的 SMTP 服务器。
订阅视图
如果您在 Tableau Server 上可以看到视图并且该视图的右上角有一个订阅图标 ( ),则
表示您的管理员已为您的站点配置了订阅,您可以订阅该视图。这意味着会定期自动
向您的电子邮件收件箱中发送视图的快照,而您不必登录 Tableau Server。您还可以订
阅工作簿。您可以在一封电子邮件中接收工作簿中的每个视图,而不是接收单个视
图。您可以更改正在使用的订阅计划或者取消订阅。有关详细信息,请参见以下内容。
订阅视图
若要订阅视图或工作簿,请执行以下操作:
1. 选择“视图”或“工作簿”页面:
2. 单击视图或工作簿。
3. 单击右上角的订阅图标:
4. 如果您的 Tableau Server 帐户尚未与电子邮件地址相关联,则系统会提示您提供
一个。输入您的电子邮件地址,然后单击“下一步”。
5. 在接下来的对话框中,选择订阅计划。默认情况下,Tableau Server 会提供工作日
早晨计划和星期一早晨计划。Tableau Server 管理员还可以创建自定义订阅计
划。
6. 接下来,选择您是要订阅单个视图( “此工作表”) 还是订阅整个工作簿( “工作簿
中的工作表”) ,然后单击“订阅”。
7. 稍后,当您通过电子邮件收到订阅时,单击视图的快照,它将在 Tableau Server
上打开:
取消订阅视图
若要取消订阅视图或工作簿,请执行以下操作:
1. 通过单击订阅电子邮件底部的链接,访问 Tableau Server 上的“用户首选项”页面:
您还可以从 Tableau Server 下拉菜单中打开“用户首选项”页面:
2. 在您要取消订阅的视图旁,选中“取消订阅”复选框。
3. 单击“更新”。
更改订阅设置
若要更改订阅计划,请执行以下操作:
1. 打开“用户首选项”页面:
2. 在“计划”下,选择不同的计划:
3. 单击“更新”。
站点
使用“站点”页面可为一个服务器系统上的不同组织或组创建独立站点。每个站点的工
作簿、数据和用户列表都独立于其他站点的相应项。只有系统管理员才可以查看每个
站点并执行各种操作,例如,创建站点并进行系统范围的更改。有关更多信息,请参见
以下主题:
使用站点
下面的主题介绍使用多个站点的各个方面( 例如使用哪种身份验证) 以及应该了解的
与用户许可证和管理员角色有关的内容。
身份验 证 和登录 凭据
一个服务器上的所有站点都使用相同的服务器运行身份帐户和用户身份验证模式。在
安装 Tableau Server 时,需要选择这两个设置。有关更多信息,请参见常规。
属于同一个服务器系统上的多个站点的用户对每个站点使用相同的凭据。例如,如果
史珍妮在站点 A 的用户名为“jsmith”并且密码为“MyPassword”,她在站点 B 上也使用相
同的凭据。当她登录 Tableau Server 时,可以选择要访问哪个站点。
Default 站点
为帮助您从单服务器系统平稳过渡到多服务器系统,Tableau Server 在安装时带有一
个名为 Default 的站点。如果运行模式为单站点模式,则无需显式使用 Default 站点,它
的使用是自动进行的。不过,如果添加一个或多个站点,则 Default 站点就会成为您登
录 Tableau Server 时可以登录的站点之一。Default 站点与添加到系统中的站点有以下
不同:
l
永远无法删除该站点,但与添加的站点一样,可以对其重命名。
l
该站点存储随 Tableau Server 提供的示例和数据连接。
l
Default 站点所用的 URL 没有名为“default”的相应 Web 文件夹。例如,名为 Sales
的站点上名为 Profits 的视图的 URL 为
http://localhost/t/sales/views/profits。Default 站点上同一视图的
URL 为 http://localhost/views/profits。
站点管理员 和系统 管理员 角色
Tableau Server 中有两种类型的管理员,即系统管理员和站点管理员。系统管理员可以
控制站点管理员是否可在“添加新站点”( 或“编辑站点”) 对话框中添加和删除用户:
如果选择了“仅系统管理员”,则站点管理员不能添加或删除站点用户。但是,他们仍
然可以管理其站点中的组、项目、工作簿和数据连接。如果选择了“系统和站点管理
员”( 默认设置) ,则站点管理员可以执行上述所有操作,并可以添加或删除用户。
许 可和用户 限制
用户可以属于多个站点,在每个站点上具有不同的用户权限和许可级别。不过,属于
多个站点的用户也不是对于每个站点都需要许可证。每个服务器用户只需要一个许可
证。
系统管理员可以使用“站点用户数目最大值 <n>”设置来指定站点的用户限制。将仅对
许可用户计数;不包括系统管理员。例如,如果一个站点有 90 个许可用户、20 个未许
可用户和一个系统管理员,则用户计数为 90。如果“站点用户数目最大值”设置
为“100”,则还可以添加 10 个许可用户。
添加或编辑站点
如果您是系统管理员,则可以通过执行以下操作向 Tableau Server 添加站点或编辑现
有站点:
1. 单击“管理”下的“站点”打开“站点”页面,然后单击“添加”:
或者,如果要编辑站点,请选择要更改的站点,然后单击“编辑”。如果您尚未向
Tableau Server 中添加站点,则只有一个站点可供选择:Default。
2. 为站点输入“站点名称”和“站点 ID”( 如果编辑的是 Default 站点,则无法更改“站
点 ID”) :
无法更改 URL 中的“t”( 例如,http://localhost/t/wsales) 。在多站点服务器系统中,
它出现在除默认站点之外的站点的 URL 中。
3. 工作簿、数据提取和数据源全部占用服务器上的存储空间。选择“无限制”或“配
额”,然后输入希望作为限制的 GB 数。如果您设置了配额但站点超过了该配额,
则将阻止发布者上载新内容,直至站点再次低于该限制。系统管理员可以使用站
点页面上的“存储配额”和“已用配额百分比”列来跟踪站点相对于其配额的情
况。
4. 接下来,选择是只有您( 即系统管理员) 可以添加和删除用户( “仅系统管理员”) ,
还是两类管理员( “系统和站点管理员”) 均可执行该操作。
如果您允许站点管理员添加用户,则可通过选择以下选项之一来指定他们可向
站点添加多少用户:
l
l
直到服务器容量:对于使用基于用户的许可的服务器,此限制是可用的服
务器席位许可证数。对于使用基于用户的许可的服务器,此限制是可用的
服务器席位许可证数。对于使用基于内核的许可的服务器,对可以添加的
用户数没有限制。
站点用户数目最大值 <n>:允许站点管理员根据您指定的限制来添加用
户。允许站点管理员根据您指定的限制来添加用户。有关许可和用户限制
的信息,请参见使用站点。
5. 选择“允许性能记录”将允许您的站点用户收集有关工作簿执行方式的指标,例
如,工作簿加载速度等。
除了为站点选中此复选框之外,若要启动记录,用户还必须向工作簿的 URL 中
添加参数。有关更多信息,请参见创建性能记录。
6. 如果您希望站点用户能够订阅视图,请在“站点订阅设置”下将启用订阅始终设为
选中状态。只有当您也在“配置”对话框中配置了订阅设置时,此选项才可见。
还可以为订阅输入自定义“发件人地址”。尽管您输入的地址应使用有效的电子
邮件地址语法( 例如 bizdev@bigco.com 或 noreply@sales) ,但是 Tableau
Server 不需要它对应于实际电子邮件帐户( 然而,某些 SMTP 服务器可能需要它
是实际地址) 。
7. 通过“电子邮件页脚”,选择“自定义”并输入任何您希望出现在订阅页脚的
Tableau Server URL 上的文本。例如,如果输入以下文本:
电子邮件页脚看起来将类似于:
8. 单击“确定”。
如果向 Tableau Server 中添加第一个站点,则“管理”选项卡将发生更改。用户现在为所
有用户( 因为它与服务器上的所有用户相关) ,而且将显示站点用户类别。
向站点添加用户
将站点添加到 Tableau Server 之后,它将变为多站点系统,并且以前的“用户”页面将变
为两个页面:“所有用户”和“站点用户”。作为系统管理员,只有您可以访问“所有用户”
页面,该页面应用于整个服务器系统。只有在此页面上,才可以同时向多个站点中添
加用户,移除用户,并且( 如果服务器使用的是本地身份验证) 重置用户密码。
“站点用户”页面是一种快速查看哪些用户在您当前登录的站点上的简便方式。您可以
从此处添加用户,但这些用户将只添加到该站点。
以下过程介绍如何从“所有用户”添加用户。您可以采用的方法有两种:一次添加一个
( 如下所述) 或使用“导入”命令成批添加,这依赖于 CSV 文件( 如 从 CSV 文件导入用户
中所述) 。
若要添加用户,请执行以下操作:
1. 从“所有用户”页面中,单击用户列表顶部的“添加”链接。
2. 输入“用户名”:
l
l
本地身份验证 — 如果服务器使用的是本地身份验证,则使用电子邮件地
址作为用户名是避免用户名冲突的最佳方法( 例如,使用 jsmith@myco.com
而不是 jsmith) 。
Active Directory — 如果要添加的用户所属的 Active Directory 域与运行服
务器的域相同,则可以键入不带域的“用户名”。此时将使用服务器所在的
域。
如果服务器所在的域和另一个域之间设置了双向信任,则可以从这两个域
添加用户。首次从“非服务器域”添加用户时,请对用户名使用完全限定域
名。可以使用该域的昵称添加后续用户。例如,假定“非服务器域”为
mybiz.lan,则对于该域的第一个用户,请输入 user1@mybiz.lan 或
mybiz.lan\user1。可以使用该域的呢称输入下一个用户,例如 user2@mybiz
或 mybiz\user2。
注意:切勿在此字段中输入用户的“全名”,因为这会导致在导入过程中出
现错误。
3. 如果服务器使用本地身份验证,请提供以下信息:
l
全名 — 为用户键入显示名称( 例如 John Smith) 。
l
密码 — 为用户键入密码。
l
确认 — 重新键入密码。
4. 站点成员身份 — 选择用户应是哪个站点的成员。默认情况下会选择您所登录的
站点。
5. 许可级别和用户权限 — 选择许可级别、管理员角色以及用户是否可以发布工作
簿和数据源。属于多个站点的用户可在每个站点上具有不同的许可级别和用户
权限。若要了解更多信息,请参见关于许可级别、权限和关于用户权限。
6. 单击“添加用户”。
删除站点
系统管理员可以删除已添加到 Tableau Server 的站点。删除站点会同时删除发布到该
站点的工作簿和数据源以及用户。如果用户属于其他站点,则不会将其删除。若要永
久删除用户,需要使用“所有用户”页面。
删除站点:
1. 在“服务器”下打开“站点”页面:
2. 选择要删除的站点,然后单击“删除”:
3. 在出现的确认对话框中单击“是”。
多站点导航
下面是一些有关如何在站点间导航和识别您正在使用的站点的提示。
站点登录
如果您是多个站点的成员,则在进行服务器登录时,会看到选择站点的提示:
导 航到其他站点
如果您属于多个站点,则您将会在页面顶部看到“站点”菜单:
若要登录到不同的站点,请单击“站点”菜单并选择相应站点:
识 别 所登录 的站点
如果服务器正在运行多个站点,然而您只属于一个站点,则在进行服务器登录时,不
会看到选择站点的提示。登录后,您将不会在页面顶部看到“站点”菜单:
不过,Web 浏览器 URL 将显示一个 t,后跟您的站点的“站点 ID”:
如果服务器未在运行多个站点,则 Web 浏览器 URL 看起来将类似于:没有 t,没有“站
点 ID”。如果您看到是这样,则表示您正在使用 Tableau 的内置站点,名为“默认”。
服务器维护
系统管理员需要检查服务器的状态,分析和监视服务器上的活动,管理计划的任务,
或执行某些维护活动( 如重新生成搜索索引) 。另外,可能需要指定几种设置以自定义
使用服务器的人员的用户体验。可从“维护”页面执行所有这些任务。
查看服务器进程状态
您可以使用“维护”页面上的“状态”表查看各个 Tableau Server 上的 Tableau 进程状态:
有关 VizQL Server 进程的未许可状态的信息,请参见处理未许可的 VizQL Server
进程。
若要显示以上信息的计算机可读版本,请从“维护”页面上将 URL 中的词 status 替换为
systeminfo( 例如,http://jsmith/admin/systeminfo) 。将显示一个与下面类似的网页:
Tableau Service 的状态类型为“正常”、“忙”、“关闭”和“备用”。
远程访问状态
作为 Tableau 管理员,只有您可以查看“维护”页面上的工具,包括“状态”表。不过,您可
以将计算机可读版本的“状态”表提供给非管理员用户和承载 Tableau Server 的计算机
以外的计算机使用 — 例如,作为远程监视过程的一部分。授予对 Tableau Service 状态
的远程访问权限:
1. 在运行主 Tableau Server 的计算机上,打开 Tableau Server 配置文件:
ProgramData\Tableau\Tableau Server\config\tabsvc.yml
2. 将行 wgserver.systeminfo.allow_referrer_ips: <IP address> 添加
到 tabsvc. Yml 中,其中 <IP address> 是要添加的计算机的 IP 地址。如果您要
授予对多台计算机服务状态访问权限,请使用逗号( 无空格) 分隔各 IP 地址。例
如:
3. 保存并关闭 tabsvc.yml。
4. 以管理员身份打开命令提示符,然后键入:
32 位:cd "C:\Program Files\Tableau\Tableau Server\8.0\bin"
64 位:cd "C:\Program Files (x86)\Tableau\Tableau
Server\8.0\bin"
5. 然后,使用以下命令重新启动 Tableau Server 进程:
tabadmin restart
现在,IP 地址已添加到 tabsvc.yml 的计算机上的用户可以查看 Tableau 进程状
态,方法是在浏览器或命令行中输入网址
http://<server>/admin/systeminfo( 例如 curl
http://jsmith/admin/systeminfo) 。此功能也可作为自动远程监控过程的
一部分。
重新生成搜索索引
如果出于任何原因,搜索索引停止返回正确结果或缺少结果,则需要重新生成搜索索
引。另外,如果索引器长时间无反应,也应重新生成索引。
1. 要重新生成搜索索引,请单击“管理”选项卡上的“维护”:
2. 单击重新生成搜索索引开始生成。
清除保存的数据连接密码
作为管理员,如果您启用了保存的密码设置,那么服务器的用户就可以保存数据源密
码以供多次访问和通过多个浏览器使用。您可以重置所有 Tableau Server 用户的所有
密码,这样,当用户下次访问需要进行数据库身份验证的视图时,会强制登录到数据
源。服务器用户也可以通过用户首选项页单独删除保存的数据连接密码。
要清除为所有服务器用户保存的数据连接密码,请执行以下操作:
1. 单击页面左侧“管理”部分中的“维护”链接:
2. 在“活动”下,单击清除为所有用户保存的数据连接密码。
维护设置
服务器上“维护”页面的“设置”部分中提供了以下设置:
设
置
说明
嵌
入
式
凭
据
允许发布者为发布的工作簿附加密码,从而自动对 Web 用户进行身份验证以
连接至数据源。密码附加至工作簿,只能在服务器上进行访问。也就是说,在
Tableau Desktop 中打开工作簿时,用户仍需要输入用户名和密码才能连接至
数据源。如果关闭此设置,将保存所有现有的嵌入式密码,但不会使用这些密
码进行身份验证。这样,如果再次启用该设置,用户不必重新嵌入密码。
计
划
允许发布者为计划分配工作簿。只有在启用“嵌入式凭据”的情况下,此选项才
可用。如果启用此设置,发布者将在“发布”对话框中看到计划选项。
保
存
的
密
码
允许用户在多次访问和多个浏览器中保存数据源密码。默认情况下,用户可选
择“记住我的密码,直至我注销”,这样,用户可在单个浏览器会话期间保存其
密码。如果选中“保存的密码”设置,用户还可以选择“记住我的密码”,这样,可
以保存密码供多次访问和多个浏览器使用,且无论用户使用哪台计算机,都会
自动通过身份验证。管理员可以随时清除所有保存的密码。另外,用户还可清
除自己保存的密码。
启
用
来
宾
允许用户查看嵌入式视图并与其交互,而无需登录到 Tableau Server 帐户。可
以向“来宾用户”帐户分配权限以控制每个视图可具有的交互性。只有拥有基于
内核的服务器许可证时,此选项才可用。此外,它不能与“启用自动登录”这个
可在安装过程中选择的选项结合使用( 了解原因) 。如果选中了“启用自动登
录”,则“启用来宾”会变为灰色。
默
认
开
始
页
面
将您转至服务器所有用户当前的默认开始页面。有关更改方法的步骤,请参见
为所有用户设置默认开始页面。单个用户可覆盖此设置( 有关详细信息,请参
见“用户首选项”页面) 。
默
认
语
言
和
区
域
控制服务器用户界面所使用的语言和视图所使用的区域。各用户可在用户首
选项页面上覆盖此设置。另外,在确定使用哪种语言和区域设置时,Web 浏览
器设置的优先级最高。有关更多信息,请参见语言和区域设置。
将
所
有
设
安装后更改的所有服务器设置都返回为其原始状态。
置
重
置
为
其
默
认
值
为 所有用户 设 置默认 开始页 面
默认情况下,Tableau Server 安装时将“视图”页面作为所有用户的默认开始页面。作为
系统管理员,您可将此页面更改为所有用户都可访问的其他页面,例如“工作簿”页面。
用户可以覆盖您的设置( 有关详细信息,请访问“用户首选项”页面页面) 。
要为所有用户设置默认开始页面,请执行以下操作:
1. 导航到要作为默认页面的网页。
2. 在页面右上角单击您的名称。
3. 选中将此页作为所有用户的开始页面。
Tableau Server Monitor
Tableau Server Monitor 是作为 Tableau Server 的一部分安装的,可通过 Windows 系统任
务栏进行访问。
使用此工具,可以启动和停止服务器、启动 Tableau Server 并显示服务器状态。
打开服务 器
此命令可在 Web 浏览器中启动 Tableau Server。这是一种访问 Web 应用程序和关联的
维护工具的方便方法。
启动 /停止服务 器
可使用这些命令启动和停止服务器。在停止服务器时,所有用户都无法使用服务器,
当前正在进行的所有会话都将中断。如果服务器停止时有人正在发布工作簿,则发布
过程无效。因此,工作簿中只有部分工作表发布到了服务器。停止服务器可能会对用
户造成很大影响,因此在执行此操作前,请务必向用户发出警告或将维护工作安排在
非工作时间。
重新启动 服务 器
此命令将重新启动服务器。在服务器重新启动时,所有用户都将无法使用服务器。在
执行此操作前,请务必向用户警告将中断运行。如果对 Tableau Server 配置进行了更
改,则需要重新启动服务器。
显 示状态
此命令将打开一个包含每个进程的状态的屏幕提示。要了解更详细的状态信息,请访
问维护页面。
管理产 品密钥
此命令将打开产品密钥管理器,您可在其中添加或删除产品密钥。
退出
此命令将关闭 Tableau Server Monitor。但不会停止 Tableau Server。通过在 Windows“开
始”菜单上选择“所有程序”>“Tableau Server 8.0”>“Tableau Server Monitor”,可以重
新打开该应用程序。
数据源
Tableau Server 数据源是一种可重用的数据连接。它可包含数据提取或与实时关系数
据库直通连接有关的信息。该数据连接还可包括一个自定义层,例如计算、组或
集。Tableau Server拥有相应权限的用户可以使用数据源在服务器上从头创建工作簿。
有关详细信息,请参见创建工作簿。管理员可以在“数据源”页面上执行以下任务:
l
l
编辑和查看数据源权限:其中包括哪些用户或组可以连接到数据源以及修改和
下载数据源。使用权限来指定哪些用户或组可以连接到数据源、修改和下载数据
源。有关更多信息,请参见设置数据源的权限。
计划用于刷新的数据源数据提取:如果数据源中包含数据提取,则可以将该数据
提取分配给刷新计划。有关更多信息,请参见计划任务。
虽然上述两个任务都可由发布数据源的人员在 Tableau Desktop 中来执行,但是管理员
也可以更改这些设置。您还可以使用“数据源”页面来删除数据源或在其中添加标记。
有关更多信息,请参见以下主题。
管理数据源
使用 Tableau Server 数据源的用户需要有该数据源的相应权限。对于作为代理连接的
数据源,您还应知道如何向数据库对用户进行身份验证,以及您是否在 Tableau Server
上安装了相应驱动程序。有关更多信息,请参见以下主题。
设置数据源的权限
数据库驱动程序
数据安全
关 于 Tableau Data Server
Tableau Data Server 是一个可用来集中管理和存储 Tableau Server 数据源的服务器组
件。数据源是一种可重用的数据连接。数据可以位于 Tableau 的数据引擎( 作为数据提
取) 中或位于实时关系数据库中( 不支持多维数据集) 。在第二种情况下,存储在数据源
中的信息用于直通连接。数据源还可包含在 Tableau Desktop 中的字段级别进行的自定
义,例如计算、维度别名、组或集。
对于管理员,使用 Tableau Server 数据源有许多优点。因为一个数据源数据提取可由许
多工作簿使用,因此可以节省服务器空间和处理时间。可以针对每个数据提取( 而不是
每个工作簿) 来计划数据提取刷新,并且当下载使用 Tableau Server 数据源的工作簿
时,数据提取将保留在服务器上,从而减少网络流量。最后,如果连接时需要使用数据
库驱动程序,则只需在 Tableau Server 上安装一次驱动程序,而不是在所有用户的桌面
上进行多次安装。
若要使用 Data Server,作者只需要通过创建数据提取或与实时关系数据库的连接来连
接到 Tableau Desktop 中的数据,并将其发布到 Tableau Server。发布后,这些可重用的
数据源以及服务器包含工作簿作者快速连接到数据并开始制作所需的所有内容。
如果您正在运行分布式安装的 Tableau Server 并预计数据源会被大量使用,则可通过
多种方式来优化服务器部署。有关更多信息,请参见分布式环境。
使用数据源
如果您是工作簿作者,那么使用 Tableau Server 数据源就是从 Tableau Desktop 连接到
该数据源。在 Tableau Desktop 中的“连接到数据”页面上,单击“Tableau Server”,然后
提供您的凭据:
登录到 Tableau Server 后,可供使用的数据源在右侧列出。若要查看数据源,发布该数
据源的人必须为作为用户的您将“连接”权限设置为“允许”。默认情况下,所有用户都拥
有此权限。
选择一个数据源,该数据源将在工作簿的数据窗口中加载。Tableau Server 数据源具有
一个 Tableau 图标而不是数据库图标:
有关创建和使用数据源的更多信息,请参见 Tableau Desktop 联机帮助。
数据源疑难解答
对于使用 Tableau Server 数据源的用户,最多需要满足三个条件:
l
l
l
数据源的权限:任何连接到数据源的人员必须同时具有该数据源的“连接”和“查
看”权限。这同样适用于访问与数据源相连的视图的用户。任何人要发布和修改
数据源,都必须获得“发布”许可并具有写入/另存为和下载/另存到 Web 的权限。
有关更多信息,请参见使用权限和设置数据源的权限。
能够通过数据库身份验证:您可通过多种方式连接到 Tableau 中的数据并控制谁
可以访问哪些数据。基本上,无论哪个实体要连接数据库,都必须能够通过身份
验证。该实体可以是执行数据提取刷新的 Tableau Server。该实体可以是连接到
数据源随后再连接到实时数据库的 Tableau Desktop 用户。该实体还可以是要访
问连接到实时数据库的视图的 Tableau Server 用户。若要了解这些选项的更多信
息,请参见数据安全。
数据库驱动程序:如果在 Tableau Desktop 中创建和发布数据源的人需要安装其
他数据库驱动程序,则您可能也需要在 Tableau Server 上安装这些驱动程序。如
果您正在运行分布式安装的 Tableau Server,例如,数据服务器进程在工作服务
器上运行,则必须在该工作服务器上和主服务器上安装任何需要的数据库驱动
程序。其他进程也需要驱动程序。有关更多信息,请参见数据库驱动程序。
数据源错 误 消息
下面是工作簿作者和其他用户使用数据源和视图时可能遇到的一些错误:
访问此 Tableau Server 数据源的权限被拒绝:连接到数据源需要拥有“连接”权限。有关
更多信息,请参见使用权限和设置数据源的权限 。
未找到数据源:如果已从 Tableau Server 中删除数据源,或者使用视图的用户的“连接
到数据”页面需要更新,则该用户可能会看到此错误。若要更新 Tableau Desktop 中
的“连接到数据”页面,请单击“刷新”图标:
无法连接到此 Tableau Server 数据源:如果数据源的连接信息已发生改变( 例如,由于
数据库服务器名称已更改) ,则可能会出现此错误。检查该数据源的“数据连接”信息并
确认其设置正确。
无法列出 Tableau Server 数据源:如果用户尝试访问 Tableau Server 数据源且 Tableau
Server 和 Tableau Desktop 之间存在连接问题,则可能发生此错误。
无法连接到多维数据集数据源:不支持与多维数据集数据源( 如 MSAS) 的连接。数据
必须是数据提取或与关系数据库的实时连接。
数据连接
发布到 Tableau Server 的每个工作簿都包含一个或多个连接。这些连接列在“管理”选项
卡下的“数据连接”页面上:
数据连接与数据源之间的差异
数据连接与数据源的不同之处在于,每个连接都与一个工作簿相关联,并描述连接到
数据源所需的属性( 例如,服务器名称、数据库名称等) 。这意味着如果三个工作簿连
接到同一个数据源,则连接页面上将列出三个连接。
搜索数据连接
“数据连接”页面顶部的“搜索”区域可帮助您按数据库服务器名称、用户名、端口、一般
连接类型以及按是否为嵌入式数据库凭据来查找连接。若要使用此区域搜索连接,请
填写一个或多个区域并单击“搜索”:
我可以编辑哪些连接?
您可以编辑实时数据库连接以及需要由 Tableau Server 刷新的数据提取的连接信息。
例如,您可能有大量工作簿连接到特定数据库服务器上的数据库。如果服务器的名称
发生变化,您可以一起更新所有工作簿,以便它们引用新服务器名称。另一个示例是
某个工作簿使用特定用户名和密码连接到数据库的情况。您可以快速更新所有工作簿
以使用一组不同的凭据。有关如何编辑数据连接的详细信息,请参见以下主题。
编辑数据连接
使用“数据连接”页面可管理发布到服务器或站点的所有工作簿的连接信息。修改连接
属性:
1. 如果服务器上运行多个站点,请登录到具有要修改的数据连接的站点。
导航到“数据连接”页面。
2. 使用连接列表顶部的搜索框来查找要编辑的连接。您可按“服务器”、“连接类
型”、“服务器端口”、“数据库用户名”以及是否“具有嵌入式密码”进行搜索。
键入到“服务器”和“数据库用户名”字段中的值将被视为正则表达式。
3. 在搜索结果列表中选择要修改的连接:
4. 键入一个或多个连接属性的新值。如果数据库或数据库驱动程序不支持通过 IP
地址进行连接,则输入的“服务器”值必须为数据库名称。将更新“更改?”列下所
有选择的属性。如果选中“更改?”复选框并将“新值”字段留为空白,则该属性也
将被设置为空白。
5. 单击“提交”。
6. 刷新服务器页面( 按 F5) 以使更改生效。
监视进度
将自动打开一个监视对话框,您可在其中查看更改的进度。如果关闭该监视对话框,
则修改将在后台运行,直至结束。Tableau Server 将进行尽可能多的更改。任何故障都
将被跳过,但不会妨碍进行其他更改。例如,如果您尝试更改服务器名称并向多个连
接添加密码,则将更改服务器名称以及工作簿上的密码,但由于您无法向数据源添加
密码,因此不会更改数据源的密码。
您可通过一个管理视图来查看已完成任务和挂起任务的详细信息。若要了解更多信
息,请参见后台任务。
自定义服务器
您可以自定义 Tableau Server 的外观以使其符合自己公司或组的个性化需要。例如,可
以更改出现在屏幕提示和消息中的名称,并更改出现在大多数服务器页面上的徽标。
您还可以自定义用户与服务器交互的方式。例如,您可以允许工作簿发布者嵌入自己
的数据源凭据,以便用户在单击与实时数据源连接的已发布视图时,可以立即访问该
视图,而不必首先提供自己的数据库凭据。
您还可以控制服务器用户界面所使用的语言和以及视图所使用的区域设置。
有关对 Tableau Server 进行自定义的更多信息,请参见以下主题:
更改名称或徽标
您可以自定义 Tableau Server 外观的以下方面:
更改名称
通过自定义出现在工具提示和消息中的名称,可以自定义 Tableau Server 的外观。例
如,如果将名称更改为 MyCo,服务器登录页上的文本将显示为“输入用于登录的
MyCo 用户名和密码”,主页导航图标的工具提示将显示“MyCo 主页”而不是“Tableau
Server 主页”:
每个服务器页面底部的版本信息仍列出 Tableau( 例如,©2013, Tableau Software,
Incorporated 及其许可方。保留所有权利 。)
若要更改出现在工具提示和消息中的名称,请执行以下操作:
1. 以管理员身份打开命令提示符,然后键入以下内容:
32 位:cd "C:\Program Files\Tableau\Tableau Server\8.0\bin"
64 位:cd "C:\Program Files (x86)\Tableau\Tableau
Server\8.0\bin"
2. 通过键入以下内容更改名称:
tabadmin customize name "new_name"
在上面的行中,将“new_name”替换为您希望在服务器上作为名称出现的文本。
示例:tabadmin customize name "Company Server"
3. 通过键入以下内容来重新启动服务器以使更改生效:
tabadmin restart
更改徽标
通过自定义出现在 Tableau Server 登录页面和大多数页面( 例如“项目”页面、“工作簿”
页面和“维护”页面等) 左侧一栏中的大徽标,可以自定义 Tableau Server 的外观。支持
的大徽标尺寸最大为 160 x 160 像素,通过运行 tabadmin customize logo 命令实
现。还可以自定义出现在每个工作簿和视图左上角的小徽标。支持的小徽标尺寸最大
为 32 x 32 像素,通过运行 tabadmin customize smalllogo 命令实现。
如果图像大于 160 x 160 像素( 大图标) 或 32 x 32 像素( 小图标) ,则会先经过剪裁再显
示出来。您应使用 GIF、JPEG 或 PNG 格式的图像文件。出现在服务器的 Web 浏览器
选项卡上以及 URL 地址左侧的 Tableau 徽标无法更改。
更改徽标:
1. 以管理员身份打开命令提示符,然后键入以下内容:
32 位:cd "C:\Program Files\Tableau\Tableau Server\8.0\bin"
64 位:cd "C:\Program Files (x86)\Tableau\Tableau
Server\8.0\bin"
2. 键入以下命令,将徽标更改成“大尺寸”徽标( 小于 160 x 160 px 且大于等于 32 x 32
px) :
tabadmin customize logo "C:\My Pictures\logo.png"
如果您的徽标尺寸为 32 x 32 px 或更小,请使用以下命令:
tabadmin customize smalllogo "C:\My Pictures\logo.png"
3. 通过键入以下内容来重新启动服务器以使更改生效:
tabadmin restart
恢复默认 名称或徽标
通过执行以下操作,可恢复 Tableau Server 的默认外观:
1. 以管理员身份打开命令提示符,然后键入以下内容:
32 位:cd "C:\Program Files\Tableau\Tableau Server\8.0\bin"
64 位:cd "C:\Program Files (x86)\Tableau\Tableau
Server\8.0\bin"
2. 通过键入以下内容更改徽标:
tabadmin customize <parameter> -d
在上面的行中,将 <parameter> 替换为要恢复的内容,即 name 或 logo。
3. 通过键入以下内容来重新启动服务器以使更改生效:
tabadmin restart
语言和区域设置
Tableau Server 已本地化为多种语言,提供语言和区域设置供您按用户( 请参见“用户首
选项”页面) 和在系统范围( 请参见维护设置) 进行配置。“语言”设置用于控制用户界面
(UI) 项,如菜单和消息。“区域设置”设置用于控制视图中的各项,如数字格式设置和货
币。
默认 设 置
Tableau Server 在安装过程中获得其默认语言设置。如果宿主计算机设置为 Tableau
Server 支持的语言,则该计算机使用该语言执行安装。如果该语言不受支持,则
Tableau Server 使用英语执行安装。
如何确定语 言和区域设 置
用户的 Web 浏览器也会影响用户单击视图时的语言和区域设置显示。如果服务器用
户未在其“用户帐户”页面上指定“语言”设置,并且其 Web 浏览器设置为 Tableau Server
支持的语言,则将使用该浏览器的语言,即使 Tableau Server 本身设置为其他语言也是
如此。
下面是一个示例:假设 Tableau Server 将系统范围的英语设置作为所有用户的“语言”。
服务器用户 Claude 未在其 Tableau Server“用户帐户”页面上指定语言。Claude 的浏览
器使用德语( 德国) 作为其语言/区域设置。
当 Claude 登录到 Tableau Server 时,服务器 UI 将用德语显示,当他单击视图 A 时,数
字和货币使用“德国”区域设置。如果 Claude 已将其用户帐户“语言”和“区域设置”设置
为法语( 法国) ,则 UI 和视图将用法语显示。他的用户帐户设置将取代其 Web 浏览器
的设置,而这两种设置又优先于 Tableau Server 的系统范围设置。
需要注意的另一个设置是 Tableau Desktop 中的“区域设置”设置( “文件”>“工作簿区域
设置”) 。此设置确定视图中数据的区域设置,例如列出哪种货币或如何对数字进行格
式设置。默认情况下,Tableau Desktop 中的“区域设置”设置为“自动”。不过,用户可通
过选择特定区域设置覆盖该设置。在上面的示例中,如果视图 A 的作者将“区域设置”
设置为“希腊语(希腊)”,则视图 A 中数据的某些方面将使用“希腊语(希腊)”区域设置进
行显示。
下面按优先顺序列出了 Tableau 用来确定语言和区域设置的设置:
1. 工作簿区域设置( 在 Tableau Desktop 中设置)
2. Tableau Server 用户帐户语言/区域设置
3. Web 浏览器语言/区域设置
4. Tableau Server 维护页面语言/区域设置
5. 宿主计算机的语言/区域设置
管理视图
Tableau Server 为管理员提供多个视图,以帮助监视 Tableau Server 中的活动。这些管
理视图位于“维护”页面的“分析”表中:
有关更多信息,请参见以下内容:
服务器活动
服务器活动管理视图提供过去 30 天内 Tableau Server 活动的快照。
在“阶段总视图”中,您可将鼠标悬停在图线上的任意一点,就会看到有关当天打开的
视图数量和其他信息的工具提示:
单击图线上的某一点可更新下方出现的条形图,以显示当天查看的工作簿以及查看次
数最多的人:
在“阶段总视图”中选择相应标记也能针对“24 小时总查看模式”进行筛选,从而显示某
一天的查看模式。如果未在阶段总视图中选择标记,24 小时总查看模式会合计长期综
合视图中的数据并在 24 小时内持续显示结果,以便您能够全天查看典型模式。
用户活动
通过用户活动视图,可以帮助衡量所安装的 Tableau Server 的负荷如何,是否需要购买
更多许可证。具体而言,此视图显示登录 Tableau Server 的用户,来自何处,以及他们
上次与服务器交互的时间。
如果某个用户从多个浏览器登录,这也会显示出来。例如,如果某个用户从 Internet
Explorer 登录一次,从 Mozilla Firefox 登录一次,该用户的姓名会出现两次。但是如果用
户从 Mozilla Firefox 登录两次,该用户的姓名只会出现一次。
“当前活动”指用户在过去五分钟内与服务器交互。“最近活动”指用户在最近 5 分钟至
15 分钟处于活动状态。“空闲”指最近 15 分钟内用户没有活动。默认情况下,如果用户
在四个小时内没有活动,则将从 Tableau Server 注销。您可以使用 tabadmin 选项( 名为
tabadmin 设置选项) 来更改此设置。
在“详细用户活动”视图中,圆表示正在执行某个操作,例如登录或筛选视图。存在活
动的整个时间段会显示指示条。若需了解详细信息,将光标悬停于某个区域上就会出
现提示:
性能历史记录
使用“查看性能历史记录”可查看在服务器性能方面哪些视图开销最大。
有两种不同的请求与视图关联:初始加载请求,橙色;计算请求,蓝色。后者是使
Tableau Server 重新计算呈现给用户的内容的所有请求。这包括重新加载请求、在视图
中选择和筛选项目。离群标记表示对服务器性能影响最大的请求:
后台任务
后台任务视图显示服务器运行的任务。最常见的任务是与用户动作关联的任务。默认
情况下,这些任务在“任务类型”下选择:
任务的状态可以是成功完成、错误、正在进行或挂起:
图标 说明
错误—服务器无法完成任务。
成功—服务器已完成任务。
正在进行—服务器当前正在执行任务。
挂起—服务器尚未开始执行的任务。
若要查看任务的详细信息,请将鼠标悬停在其图标上:
Tableau Server 可同时运行多个后台进程。后台任务视图中后台 ID 下的 IP 地址显示分
配了哪些计算机来运行后台进程:
运行多个后台进程的多内核计算机的第一个进程以 <IP address>:0 的形式列出,
第二个进程以 <IP address>:1 的形式列出,依此类推。
空间使用情况
通过空间使用情况视图,可以确定哪些工作簿和数据源占用的服务器磁盘空间最多。
磁盘空间使用情况按用户、项目以及工作簿或数据源的大小显示,并舍入为最接近的
数字:
将光标移到任何大小条上可以显示使用情况详细信息:
您还可以访问工具提示中的链接。例如转至查看相关的用户详细信息或工作簿。
自定义视图
处理视图的人员可使用“记住我的更改”选项保存其自定义视图,发布者可允许或阻止
共享自定义视图。
自定义视图管理视图中列出了服务器中使用“记住我的更改”自定义的所有视图。它可
以用作视图常用度或重要性的指标:
创建自定义管理视图
除了服务器“维护”页面中可用的预制管理视图外,您还可以使用 Tableau Desktop 查询
和生成自己的服务器活动分析视图。Tableau Server 存储库设置有多个数据库视图供
您连接和查询。tabadmin 选项 auditing.enabled 用于控制 Tableau Server 是否要将历史
用户活动和其他信息收集到存储库中。该选项默认情况下处于启用状态。tabadmin 选
项 wgserver.audit_history_expiration_days 用于控制事件历史记录将在存储库中保存多
久。默认情况下设置为 183 天。有一点需要注意,收集历史事件会影响 Tableau Server
备份文件 (.tsbak) 的大小。
如果要访问这些视图,您必须首先使用命令行工具启用对 Tableau Server 数据库的外
部访问。然后,需要连接并在 Tableau Server 数据库中查询。
启 用 对 Tableau Server 数 据 库 的 外 部 访 问
Tableau Server 存储库设置有多个数据库视图供您连接和查询,这是生成自己的
Tableau Server 活动分析视图的一部分。如果要访问这些视图,您必须首先使用
tabadmin 命令行实用工具启用对数据库的外部访问。
1. 以管理员身份打开命令提示符,然后键入:
32 位:cd "C:\Program Files\Tableau\Tableau Server\8.0\bin"
64 位:cd "C:\Program Files (x86)\Tableau\Tableau
Server\8.0\bin"
2. 接下来,使用以下命令启用用户“tableau”对数据库的外部访问,并指定密码。
tabadmin dbpass [password]
用您自己的密码替换 [password] 选项。例如:
tabadmin dbpass P@ssw0rD!
3. 重新启动 Tableau Server。
启用对数据库的外部访问后,只要提供了正确的密码,Tableau 就允许任何 IP 地址访
问数据库。按照连接 Tableau Server 数据库中的步骤进行连接。
以后若要禁用外部访问,请运行 tabadmin dbpass --disable,然后重新启动服务
器。
连 接 Tableau Server 数 据 库
启用对 Tableau Server 数据库的外部访问后,按照以下步骤连接并查询数据库。
1. 在 Tableau Desktop 中,选择“数据”>“连接数据”,然后选择“PostgreSQL”作为要
连接的数据库。您可能需要安装 PostgreSQL 数据库驱动程序。可从
www.tableausoftware.com/drivers 下载驱动程序。
2. 在“PostgreSQL 连接”对话框中,键入 Tableau Server 的名称或 URL。如果您拥有
分布式服务器安装,并且用一个工作软件来承载存储库,请输入该工作软件的名
称。
应使用为 pgsql.port 设置的端口( 默认情况下为 8060) 进行连接。有关端口的更多
信息,请参见TCP/IP 端口。
3. 键入 workgroup 作为要连接的数据库。
4. 使用以下用户名和密码连接:
用户名:tableau
密码:您在启用 Tableau Server 数据库访问时指定的密码。
5. 单击“连接”。
6. 选择要连接的一个或多个表。“tableau”用户可以访问所有以下划线开头的表。例
如,可连接到 _background_tasks 和 _datasources。以 historical_ 开头的表指向
hist_ 表。hist_ 表包含有关用户活动视图中当前未呈现的服务器用户的信息。
7. 单击“确定”。
安全
Tableau Server 中有四个主要安全组件:
身份验证
身份验证用于建立用户的身份。这是为了防止对 Tableau Server 进行未授权的访问,并
允许有个性化用户体验。Tableau Server 支持三种类型的身份验证:
l
Active Directory:基于 Tableau Server 用户的 Windows 凭据对其进行身份验证。
l
本地身份验证:使用 Tableau Server 提供的内部身份验证机制。
l
受信任的身份验证:通过 Tableau Server 与一个或多个 Web 服务器之间的信任关
系处理身份验证。
是使用 Active Directory 身份验证还是使用本地身份验证是在 Tableau Server 安装期间
选择的。安装之后,将无法在这两者间切换。若要切换身份验证类型,请卸载 Tableau
Server( 您的数据将被保留) 并重新运行安装程序。
Active Directory
使用 Active Directory 进行身份验证时,所有用户名和密码都由 Active Directory 进行管
理。当用户在 Tableau Server 登录时输入凭据时,Tableau 会将凭据传递给 Active
Directory 服务器。虽然该服务器在其存储库中存储用户名( 但不存储密码) ,但它并不
参与身份验证过程。
通过 Active Directory 用户身份验证,管理员还可以基于用户的当前 Windows 凭据将用
户自动登录( 启用自动登录) 。这意味着用户凭据将从其本地计算机传递,而不是从他
们可能已登录的其他系统或门户传递。
例如,如果用户以“MSmith”身份登录其本地计算机,然后以“Mary”身份登录到一个
SharePoint 门户,则传递给 Tableau Server 的凭据将是“MSmith”的凭据。若要使用来自
SharePoint 站点的凭据( “Mary”) 自动登录,SharePoint 门户必须使用采用受信任的身份
验证的 Tableau Web 部件。
管理员可以使用 tabcmd 以手动或编程方式将组与 Active Directory 同步。有关更多信
息,请参见同步 Active Directory 组和 tabcmd 命令中的 syncgroup group-name。
本地身份验证
使用本地身份验证进行用户身份验证时,Tableau Server 将管理用户、组、密码和整个
身份验证过程。可方便地将用户列表导入到 Tableau Server,并可通过 tabcmd 以编程
方式执行大多数用户管理功能。用户可通过在提示时输入其凭据来手动登录,或在访
问门户中的内容时,通过透明的受信任的身份验证来登录。
受信任的身份验证
受信任的身份验证意味着您已在 Tableau Server 与一个或多个 Web 服务器之间建立受
信任的关系。例如,您可以使您的公司 wiki 使用受信任的身份验证来向登录到 wiki 的
员工显示仪表板,而无需其他登录。
当 Tableau Server 接收来自受信任 Web 服务器的请求时,它会假设该 Web 服务器已处
理必要的身份验证。Tableau Server 接收带有可兑现令牌或票证的请求,并向用户显示
考虑进用户的角色与权限的个性化视图。
有关如何在站点上设置受信任的身份验证的信息,请参见受信任的身份验证。
身份验证
身份验证就是用户通过身份验证后可访问什么内容和执行什么操作。在 Tableau 中,
身份验证是通过以下方式处理的:
l
l
角色和权限:定义用户对 Tableau 中的特定项目可以或不能执行的特定功能。一
个角色就是管理员可以原样使用或进行自定义的一组权限。有关详细信息,请参
见使用权限。
许可和用户权限:控制用户可拥有的最大权限集。请参见许可和用户权限许可和
用户权限和允许或拒绝用户权限。
上面的项用于控制用户能够执行的动作和执行对象,但它们不控制视图中显示哪些数
据。用户看到的数据由您的数据安全选择控制。
初始权限
项目的初始权限是从默认项目复制而来的。工作簿的初始权限是从其项目权限复制而
来的。视图的初始权限是从其工作簿权限复制而来的。这是对父级权限的一次性复
制。对父级权限的更改不会自动应用于子级,除非将新权限主动分配给这些内容。
任何项都可以具有不同于父级的权限。例如,一个组可能没有查看项目 X 的权限,但
该组有权查看发布到项目 X 的视图。Tableau Server 不支持分层项目权限;但它为用户
和组提供了一个继承模型。如果用户没有将某一权限明确设置为“允许”或“拒绝”,则将
从该用户所属的组继承相应设置。
权限和默认项目
如果 Tableau Server 部署在知识和信息共享十分关键的开放环境中,就应考虑将默认
项目的权限设置为包含“所有用户”组,并将其角色设置为“交互者”。用户将能够自动
发布到新项目并使用新项目中的内容。
如果 Tableau Server 部署在数据安全和访问控制十分关键的限制环境中,就应考虑清
空默认项目的权限:删除所有用户和组的权限。需要向用户和组明确授予在新项目中
发布和使用内容的权限。
数据安全
Tableau 提供了几种方法来控制哪些用户可以查看哪些数据。对于连接到实时数据库
的数据源,您还可以控制用户单击已发布的视图时是否显示提供数据库凭据的提示。
一起使用以下三个选项,可取得不同的结果:
l
l
l
数据库登录帐户:创建连接到实时数据库的数据源时,您可以选择是通过
Windows NT 还是通过数据库的内置安全机制对数据库进行身份验证。
身份验证模式:发布具有实时数据库连接的数据源或工作簿时,可以选择一种身
份验证模式。可用的模式取决于上面的选择。
用户筛选器:您可以在工作簿或数据源中设置筛选器,以基于用户的 Tableau
Server 登录帐户控制其可在已发布视图中查看的数据。
下表概括了上述选项的一些依赖项:
数据库连接选项
数据库登
录帐户使
用...
Window
NT 集成
安全性
( Windows
身份验
证)
用户名和
密码
数据安全问题
身份验证模式
是否每个
Tableau
Server 用户
都可实现数
据库安全
性?
用户筛选器
是否是限制
各用户可查
看的数据的
唯一方法?
Web
缓存
是否
在用
户间
共
享?
用户运行身份帐
户
否
是
是
通过服务器运行
身份帐户进行模
拟
是
否*
否
提示用户 :当查看
者查看视图时,
提示其提供数据
库凭据。可以保
存凭据。
是
否
否
嵌入式凭据 :工作
簿或数据源发布
者可以嵌入其数
据库凭据。
否
是
是
通过嵌入式密码
进行模拟 :嵌入带
IMPERSONATE
权限的数据库凭
据。
是
否*
否
* 由于可能会产生意外结果,Tableau 建议您不要将此身份验证模式用于用户筛选器。
用户筛选器、嵌入式凭据选项和模拟模式具有类似的效果 — 当用户单击视图时,不会
显示提供数据库凭据的提示,用户只会看到与自己相关的数据。但是,用户筛选器是
由作者在工作簿应用的,而模拟身份验证模式则依赖于管理员在数据库本身中定义的
安全策略。
上面介绍的一些选项要求配置步骤必须在 Tableau Server 安装期间进行,或必须在发
布工作簿或数据源之前进行。有关更多信息,请参见以下主题:
l
用户运行身份
l
SQL Server 模拟
l
嵌入式凭据
l
保存的密码
网络安全
Tableau Server 中有三个主要网络接口:
l
l
l
客户端到 Tableau Server:客户端可以是 Web 浏览器、Tableau Desktop 或 tabcmd
实用工具。
Tableau Server 到数据库:为了刷新数据提取或处理实时数据库连接,Tableau
Server 需要与数据库进行通信。
服务器组件通信:这仅适用于分布式部署。
客 户 端 到 Tableau Server
Tableau Server 客户端可以是 Web 浏览器、Tableau Desktop 或 tabcmd。Tableau Server
与其客户端之间的通信使用标准 HTTP 请求和响应。也可以针对 HTTPS 来配置
Tableau Server( 请参见SSL) 。当针对 SSL 配置 Tableau Server 时,客户端之间的所有内
容和通信都将被加密,并使用 HTTPS 协议。
将使用公钥/私钥将来自浏览器和 tabcmd 的密码传送到 Tableau Server。Tableau Server
向浏览器发送一个公钥,浏览器使用此密钥对密码加密以进行传输。每个加密传输都
使用一个一次性密钥,然后将其丢弃。这意味着无论是否使用 SSL,密码始终是安全
的。
Tableau Server 到 数 据 库
Tableau Server 动态连接到数据库以处理结果集并刷新数据提取。每当可能时,它都会
使用本机驱动程序连接到数据库,并在没有本机驱动程序时依赖于一个通用 ODBC 适
配器。与数据库的所有通信都通过这些驱动程序来路由。这样,本机驱动程序安装过
程将包括配置驱动程序以在非标准端口上通信或提供传输加密。这种配置类型对
Tableau 是透明的。
服务器组件通信
分布式服务器安装中的 Tableau Server 组件间通信有两个方面:信任和传输。Tableau
群集中的每个服务器都使用一个严格信任模型来确保其接收来自群集中其他服务器
的有效请求。主服务器是群集中唯一接受第三方( 客户端) 请求的计算机,群集中的所
有其他计算机都只接受来自群集中其他受信任成员的请求。信任是通过 IP 地址、端口
和协议的白名单建立的。如果任何一部分无效,请求就会被忽略。群集的所有成员都
可以互相通信。除许可证验证和访问存储库外,所有内部通信的传输都是通过 HTTP
执行的。
在群集内传输密码时,会使用密钥来加密在 Tableau Server 组件之间( 例如,在应用程
序服务器和 VizQL 服务器进程之间) 传输的密码。每个加密传输都使用一个一次性密
钥,然后将其丢弃。
性能
每个服务器环境都是唯一的,且有很多影响性能的变量。这些变量包括硬件详细信息
( 例如,磁盘速度、内存和内核) ;部署中的服务器数目;网络流量;使用因素( 例如,工
作簿复杂性、并行存在的用户活动和数据缓存) ;Tableau Server 配置设置( 例如,运行
的每个服务器进程数) 以及数据考虑因素( 例如数据卷、数据库类型和数据库配置) 。由
于这种复杂性,没有一种公式用于提高服务器性能,但有一些基本准则可以遵循。使
用以下主题可了解更多信息:
一般性能准则
硬件和软件
使用 64 位操作系统:尽管 Tableau Server 在 32 位 Microsoft 操作系统上运行正常,但为
获得最佳性能,请选择 64 位操作系统。它可确保使用 64 位版本的 Tableau 数据引擎。
它还会增加 32 位进程的容量,因为 32 位进程可以访问更多的主内存。
添加更多内核和内存:无论您是在一台计算机上还是多台计算机上运行 Tableau
Server,一般规则是,CPU 内核和 RAM 越多,为您提供的性能越好。请确保您满足
Tableau Server 的建议硬件和软件要求,并参见添加工作服务器和重新配置的时间以
评估是否应添加其他计算机。如果您是在虚拟环境中运行 Tableau Server 的,请将您虚
拟机的最佳做法用于 vCPU 分配,这与虚拟机主机上物理 CPU 的数量相关。
配置
安排在非高峰时段进行刷新:备份任务会拖慢其他后台任务的运行速度,直到备份完
毕为止。使用 后台任务 管理视图来查看您的刷新和备份任务计划。您应安排在非高峰
时期进行刷新任务,以免与备份窗口重叠。
查看缓存:缓存有助于 Tableau Server 快速地响应客户端请求,尤其是对于连接到实时
数据库的视图。确认是否选择了“配置”对话框的“数据连接”选项卡上的“刷新频率低
于”。
考虑更改两个会话内存设置:
l
l
VizQL 会话超时限制:默认 VizQL 会话超时限制为 30 分钟。即使 VizQL 会话空
闲,它仍会占用内存和 CPU 周期。如果使用下限可以应付,则使用tabadmin更改
vizqlserver.session.expiry.timeout 设置。
VizQL 清除会话:默认情况下,VizQL 会话保留在内存中,即使是在用户离开视图
时。这将占用大量的会话内存。而您可以通过将 vizqlserver.clear_
session_on_unload 设置的值更改为 true( 默认为 false) ,在用户离开视图
时结束会话。
评估进程配置:Tableau Server 分为六个不同组件,称为服务器进程。虽然这些进程的
默认配置旨在适用于各种情况,但也可以重新配置它们,以实现不同的性能目标。具
体来说,您可以控制在哪些计算机上运行进程以及运行多少个进程。有关一台、两台
和三台计算机部署的准则,请参见提高服务器性能。
添加工作服务器和重新配置的时间
Tableau Server 可以随需求的变化纵向和横向扩展。下面是一些准则,有助于您确定应
该向系统添加更多节点、重新配置服务器还是两者都执行:
l
l
l
l
l
超过 100 个同时存在的用户:如果部署是用户密集型( 超过 100 个同时存在的查
看者) ,则应务必有足够的 VizQL 进程,但进程数量不能超过硬件用于处理它们
的容量。另外,启用 Tableau Server 来宾用户帐户可以将同时存在的潜在查看者
数量增加到超过您可能认为自己拥有的用户列表范围。管理视图用户活动可帮
助您对此进行衡量。有关如何配置或扩展部署的提示,请参见提高服务器性能。
大量使用数据提取:数据提取可能会占用大量内存和 CPU 资源。没有一种度量
方法可以将站点限定为数据提取密集型。仅有一些过大的数据提取时,可能会将
站点归入此类别,这与有众多小数据提取一样。对于大量使用数据提取的站点,
在自己的计算机上将数据引擎进程隔离开,会获益良多。有关准则,请参见提高
服务器性能。
频繁刷新数据提取:刷新数据提取是一个大量占用 CPU 的任务。通常,对于频繁
刷新数据提取( 例如,一天刷新多次) 的站点,通过更多地强调处理刷新任务的后
台进程,会比较有益。使用后台任务管理视图可查看当前的刷新速度,然后参见
提高服务器性能,以获得有关如何扩展的详细信息。
性能疑难解答:如果加载视图速度较慢或者服务器性能通常较低,则可能有多种
原因。请参见一般性能准则以及提高服务器性能。
停机可能性:如果服务器系统被视为任务关键的服务器系统,且要求高级别的可
用性,则可以配置服务器系统,使处理数据提取和存储库的服务器进程有冗余。
有关详细信息,请参见高可用性。
提高服务器性能
使用下面的主题可以获得有关如何提高数据提取密集型、用户密集型或两者的部署性
能的指南:
您的目标是什么?
要运行的进程数
配置进程的位置
优化数据提取和工作簿
一台计
算机示
例:数
据提取
两台计
算机示
例:数
据提取
两台计
算机示
例:查
看
三台计
算机示
例:数
据提取
和查看
评估视图响应性
您的目标是什么?
为数据提取进行优化
数据引擎进程用于存储数据提取和回答查询;后台进程用于刷新数据提取。由于两者
均需要大量的 CPU 资源,因此提高数据提取密集型部署的性能的最佳方法是将这两
个进程相互隔离,并与其他服务器进程隔离。这可能需要三台计算机。如果您没有三
台计算机可供使用,则仍有其他策略可以采用( 请参见下面的部署示例) 。
为用户和查看进行优化
VizQL Server 进程用于为 Tableau Server 用户处理视图加载和呈现。如果您尝试针对大
量用户和视图交互优化部署,则这是您应重点关注的进程。如果您可以在其他计算机
上而不是在同一台计算机上运行其他 VizQL Server 进程,则请这样做。您会看到性能
得到提高,因为 VizQL Server 进程将有较少的进程来争用系统资源。
要运行的进程数
通常,进程越多,意味着处理能力越高、性能越好,但是过多进程可能会使系统负载过
大,甚至会降低服务器性能。在任何给定的计算机上,对于每个 VizQL Server 进程、应
用程序服务器进程、Data Server 进程或后台进程,您最多可以运行 8 个实例,但可能
不需要运行 8 个实例( 了解更多信息) 。在您考虑要运行的每个进程的实例数时,请特
别注意 VizQL Server 进程和后台进程。
VizQL Server 进程
VizQL Server 进程是计算机上的多线程和多进程的进程。可能有 16 个以上的线程在单
台计算机上运行。
缓存是使用 VizQL Server 进程时需要注意的问题。每个实例均有自己的缓存,且缓存
会提高服务器性能。这是因为加载缓存视图的速度比加载第一次请求的视图快。如果
唯一缓存非常多,在缓存中已经有结果的进程处理请求的可能性将很小。在本主题中
查看所建议的 VizQL 范围时,请从该范围的低端开始,直到最大数量,查看视图的性能
情况。
下面是一些一般的传统准则,用于确定要运行的 VizQL Server 进程的最小和最大数量:
l
l
每个部署的最小数量:对于使用部署的每 100 个同时存在的查看者,为 1 个
VizQL Server 进程。
每台计算机的最大数量:计算机的 RAM 除以 4( 64 位) 或 2( 32 位) ,且上限为每台
计算机 8 个。
注意:本主题后面描述的部署示例使用的公式可能稍有差别,以应对特定的性能
目标。
例如有一台 64 位计算机,它具有 32 GB RAM 并且正处理 300 个同时存在的查看者,则
它应最少运行 3 个 VizQL Server 进程,最多运行 8 个。如果您有两台这样的计算机可供
使用,则在这两台计算机上,您至少应有 3 个 VizQL Server 进程,每台计算机均能够最
多运行 8 个 VizQL Server 进程。如果有一台 32 位计算机,它具有 8 GB RAM 并且正处
理 200 个同时存在的查看者,则它可运行 2-4 个 VizQL Server 进程。如果同一台计算机
正处理 500 个同时存在的查看者,则可能需要添加更多的硬件。
后台进程
单个后台进程可能会占用 100% 的单个 CPU 内核,对于某些任务有时甚至占用更多。
因此,应运行的实例总数取决于计算机的可用内核以及您尝试提高的方面。下面的部
署示例使用 N 表示计算机的内核总数,且每个部署示例均建议采用与后台进程有关的
不同策略。如有疑问,请从所建议范围的低端开始,逐渐增加数字,来评估相应的性
能。
数据引擎进程和存储库进程
数据引擎进程应在其自身节点上进行隔离的情况有两种,例如,如果您尝试改进数据
提取密集型部署,且与数据提取刷新相比,您希望更多地侧重查询。部署示例提供了
具体信息。由于数据引擎存储的是实时数据,因此转移数据引擎是一个多阶段的过
程。移动数据引擎进程和存储库进程 描述了如何执行此操作。
另一个隔离数据引擎( 和/或存储库) 的原因是最大限度地减少部署停机的可能性。有
关详细信息,请参见高可用性。除非您要配置高可用性,否则存储库通常可以保留在
主 Tableau Server 上。
配置进程的位置
您可以使用“Tableau Server 配置”对话框配置任何计算机正运行的进程的类型和数量。
如果您在重新配置过程中要添加新计算机,则必须已在这些新计算机上安装 Tableau
工作软件。有关步骤,请参见安装和配置工作服务器。
如果您要在主 Tableau Server 或独立 Tableau Server 上重新配置进程,请参见重新配置
进程。
优化数据提取和工作簿
通过数据提取提高服务器性能是数据提取和工作簿本身的部分功能。工作簿作者可以
使数据提取的数据集保持较短,利用筛选或聚合,以及隐藏未使用的字段来缩小范
围,所有这些方法有助于提高服务器性能。为此,使用 Tableau Desktop 选项“隐藏所有
未使用的字段”和“聚合可视维度的数据”。有关步骤,请参见创建数据提取( Tableau
Desktop 帮助) 。有关构建性能良好的工作簿的一般提示,请在 Tableau Desktop 帮助中
搜索 性能 。要查看工作簿发布到 Tableau Server 后的执行情况,可以创建性能记录。有
关详细信息,请参见创建性能记录。
评估视图响应性
用户打开视图时,视图组件会先经过检索和解释,然后再显示到用户的 Web 浏览器
中。对大多数视图来说,显示呈现阶段在用户的 Web 浏览器中进行,且大多数情况下
会生成最快的结果和最高级的交互响应性。在客户端 Web 浏览器中处理大多数交互
可减轻带宽压力,并降低往返请求延迟。如果视图非常复杂,Tableau Server 将在服务
器( 而非客户端 Web 浏览器) 中处理呈现阶段,因为这样做通常可获得最佳性能。如果
您发现视图的响应情况不尽如人意,可以测试和更改导致视图由服务器呈现( 而非在
客户端 Web 浏览器中呈现的阈值) 。有关详细信息,请参见关于客户端呈现。
一 台 计 算 机 示 例 :数 据 提 取
数据提取使用量高的 Tableau Server 安装可在单台 64 位计算机上运行,计算机配置如
下:
上面的配置会与 Tableau Server“维护”页面上的以下各项类似:
配置说明:
l
l
l
l
至少运行 2 个 VizQL Server 进程,并将计算机的 RAM 除以 4 来确定要运行的最
大进程数量。
将计算机的内核总数除以 4,计算要运行的后台进程的最少数量。若要确定最大
数量,请将内核总数除以 2。
后台进程和数据引擎进程均大量占用 CPU,上面的配置可平衡它们。
将数据提取刷新安排在非高峰时段执行,这样有助于数据引擎进程和后台进程
不会相互争用系统资源。
l
由于您在此处不尝试针对大量同时存在的用户进行优化,因此从 2 个 VizQL
Server 进程开始,逐个增加数量并观察视图的性能情况。
两 台 计 算 机 示 例 :数 据 提 取
下面说明您如何配置两台计算机的 Tableau Server 部署,以使该部署可以处理高数据
提取使用量。在本例中要注意的最重要问题是,将数据引擎进程与后台进程隔离。两
个服务器均运行 64 位操作系统:
采用上面的配置时,“维护”页面上的“状态”表会如下所示:
配置说明:
l
l
l
l
一旦您从一台计算机部署转移到两台计算机部署,第一个服务器便成为主
Tableau Server。在“状态”表中,它得到“网关”值。
在每台计算机上至少运行 2 个 VizQL Server 进程,并将计算机的 RAM 除以 4 来
确定要运行的最大进程数量。
若要确定在主 Tableau Server 上要运行的后台进程的最小数量,请将计算机的内
核总数除以 4。对于最大进程数量,请将内核总数除以 2。
将主 Tableau Server 中的数据引擎移动到工作服务器是一个多阶段的过程。有关
步骤,请参见移动数据引擎进程和存储库进程。
两 台 计 算 机 示 例 :查 看
如果两台计算机的数据提取使用量低,但查看较频繁,可按照如下配置进行部署:
以上配置的“状态”表会如下所示:
配置说明:
l
l
l
l
l
在每台计算机上至少运行 2 个 VizQL Server 进程,并将计算机的 RAM 除以 4 来
确定要运行的最大进程数量。
在主 Tableau Server 上应最少运行 2 个后台进程。应运行的最大进程数量等于计
算机的内核总数。
在不经常刷新数据提取的部署中,数据引擎进程和后台进程可与其他进程位于
同一台计算机上。
如果仅在非工作期间运行数据提取刷新作业,则可以在每台计算机上安排多个
后台进程,以使它们的并行度最大化。
群集中的计算机数量仅取决于为支持同时存在的查看者数量需要多少 VizQL
Server 进程。
对于为支持查看而添加的其他每台计算机,可以按上面的第二台计算机( 工作服
务器) 进行配置。
三 台 计 算 机 示 例 :数 据 提 取 和 查 看
如果数据提取刷新量和使用量均较高,且同时存在的用户数量较高,则三台计算机配
置是为获得最佳性能建议的最少计算机数量。每台计算机均运行 64 位操作系统:
下面是以上配置的对应“状态”表:
配置说明:
l
l
l
l
l
将计算机的 RAM 除以 4 来计算要在主 Tableau Server 上运行的 VizQL Server 进
程数。
后台进程位于自己的计算机上,这样它们的工作不会与其他进程的工作发生竞
争。由于计算机专用于后台进程,并且后台进程可能会占用 100% 的 CPU 资源,
因此所建议范围的低端等于内核总数。根据刷新的数据大小,对于某些部署来
说,运行后台进程的数量可能最多是内核的两倍,并且仍会获得并行加速。
由于数据引擎进程可能会占用计算机上的所有 CPU 资源,因此该进程在自已的
计算机上隔离。
应用程序服务器进程和 Data Server 进程的用户负载通常可以分别由 1 个进程处
理,但会设置为 2 以提供冗余。
在大多数情况下,只要主 Tableau Server 和数据引擎存在充足的 CPU 周期,它们
就不会是系统总吞吐量的瓶颈。若要增加查看容量,请添加专用于 VizQL Server
进程的计算机。若要为刷新数据提取增加容量,请添加专用于后台进程的计算
机。
如果您增加了 VizQL 实例数,且内存成为问题,则可以更改一个设置。有关更多信息,
请参见VizQL“内存不足”错误。
关于客户端呈现
视图的标记和数据是经过检索、解释和呈现才显示在客户端 Web 浏览器中的。Tableau
Server 可在客户端 Web 浏览器中或服务器上执行此过程。由于在服务器上处理呈现和
所有交互会导致网络数据转移量和往返延时增多,因此客户端呈现为默认模式。有了
客户端呈现,大多数视图互动速度更快,因为它们会直接在客户端中进行解释和呈
现。
但如果服务器的计算能力更强,那么某些视图在服务器上的呈现就更为高效。如果某
个视图十分复杂以至于创建图像所用数据占用的带宽远远高于图像文件占用的带宽,
那么服务器端呈现就十分重要了。另外,由于通常情况下平板电脑的性能要比个人电
脑低得多,因此平板电脑只能处理较为简单的视图。在某些情况下,同样的视图在个
人电脑 Web 浏览器上打开时是通过客户端呈现的,而在平板电脑 Web 浏览器上打开
时是通过服务器呈现的。
将 Tableau Server 配置成使用阈值计算触发在服务器上( 而非 Web 浏览器中) 进行的视
图呈现。作为管理员,您可以在个人电脑和平板电脑上对此设置进行测试和微调。有
关更多信息,请参见以下主题。
要求
l
l
支持的浏览器:Internet Explorer 9.0 版或更高版本、Firefox、Chrome 和 Safari 都支
持客户端呈现。所有这些 Web 浏览器都包含客户端呈现需要使用的 HTML 5
<canvas> 元素。
多边形、自定义形状和页面历史记录功能:如果视图使用了多边形、自定义形状
或页面历史记录功能,那么即使已另外启用了客户端呈现,系统也会执行服务器
端呈现。
阈值计算
启用客户端呈现后,Tableau Server 会使用算法来确定视图的复杂程度。如果复杂度值
超过了 100( 对于个人电脑浏览器) 或者 20( 对于平板电脑浏览器) ,则视图会在服务器
上而非 Web 浏览器中呈现。以下是计算方法:
(# of marks) + 3(# of headers) + 3(# of annotations) + 3(# of
reference lines) = view complexity
例如,如果您的视图有 2,000 个标记、150 个标题( 有时您可以通过叠加视图中的行列
数量来确定该值) 、1 个注释和 1 条参考线,将使用以下等式:
2,000 + 3(150) + 3(1) + 3(1) = 2,456
现在,将当前获得的阈值除以 100,然后乘以 5,000( 将阈值除以 100 是标准化算法,而
所乘的 5,000 是 Tableau 的比例因数) 。假设当前阈值为 100,则等式如下:
100/100 * 5,000 = 5,000
比较得到的两个和。考虑到 5,000 表示复杂度为 100,2,456 应表示大约一半的复杂度
(49)。因此,要在个人电脑浏览器上为此特定视图执行服务器端呈现,您需要将该阈值
设置为 48。请务必记住,类似筛选的交互会更改视图的复杂度,而视图复杂度一旦更
改,会话就会切换呈现模式。
有关测试和配置客户端呈现的详细信息,请参见以下主题:
使用网址参数进 行测 试
将 Tableau Server 配置为在默认情况下执行客户端呈现( 如果符合相关要求) 。要在会
话基础上测试服务器端呈现,请在视图网址末尾键入 ?:render=false。例如:
http://localhost/views/Supplies/MyView?:render=false
如果 Tableau Server 上的客户端呈现已停用,请输入 ?:render=true 来为会话启用客
户端呈现:
http://localhost/views/Supplies/MyView?:render=true
您也可以在单个视图上测试特定的复杂度阈值,以查看能否针对您的服务器和网络状
况调整服务器范围的阈值。例如,您可能会发现在到达低复杂度( 例如 80) 或高复杂度
( 例如 120) 的临界点时,用户交互得到的响应会更强。要测试阈值,您可以保留服务器
的默认配置( 在已启用客户端呈现的情况下) 并在视图网址末尾输入测试阈值数字。例
如:
http://localhost/views/Supplies/MyView?:render=80
使用 tabadmin 设 置选 项 进 行配置
您可以使用 tabadmin 选项 vizqlserver.browser.render 来停用或启用客户端呈
现,而 vizqlserver.browser.render_threshold 和
vizqlserver.browser.render_threshold_mobile 则用来更改客户端呈现的阈
值。有关详细信息,请参见 tabadmin 设置选项。
Tableau Server 进 程
存在六个 Tableau Server 进程,可以更改其默认配置以获得不同的结果。主题提高服务
器性能和高可用性介绍了您可以采用的某些方法。每个进程的高级别状态显示在服务
器的“维护”页面,与某些进程( 例如后台进程) 有关的详细信息位于管理视图中。
进程
文件名
是否
为多
用途
线
程?
处理 Web 应用 是
程序,支持浏览
和搜索
体系结构
应用程序
服务器
wgserver.exe
后台
backgrounder.exe 执行服务器任 否
务( 包括数据提
取刷新) 、“立即
运行”任务以及
通过 tabcmd 启
动的任务
32 位
数据引擎
tdeserver64.exe 存储数据提取
和回答查询
tdeserver.exe
64 位
是
32 位
32 位
性能特征
在不经常操作的过程
( 例如使用数据提取
发布工作簿,或者为
视图生成静态图像)
中仅占用明显的资
源。可通过基于浏览
器的交互和 tabcmd
创建该进程的负载。
可在群集内的任何或
所有计算机上运行多
个进程以扩展容量的
单线程进程。后台程
序通常不会占用很多
进程内存,但后台程
序可能会根据面向它
的工作负载的性质占
用 CPU 资源、I/O 资
源或网络资源。例
如,执行大量数据提
取刷新时,可能会使
用网络带宽来检索数
据。数据检索或复杂
的 tabcmd 任务可能
会占用 CPU 资源。
数据引擎的工作负载
是来自 VizQL Server
进程的请求产生的。
该进程是将数据提取
加载到内存并针对数
据提取执行查询的组
件。内存占用主要基
于所加载的数据提取
的大小。在 64 位操作
系统上,默认采用 64
进程
文件名
用途
是否
为多
线
程?
体系结构
Data Server dataserver.exe
处理至 Tableau 是
Server 数据源的
连接
32 位
存储库
postgres.exe
Tableau Server 的数据库,用于
存储工作簿和
用户元数据
-
VizQL
Server
vizqlserver.exe
加载和呈现视 是
图,计算和执行
查询
32 位
性能特征
位二进制。数据引擎
是多线程的进程,可
以一次处理多个请
求。在高负载的情况
下,该进程可能会占
用 CPU 资源、I/O 资
源和网络资源,所有
这些资源都可能是高
负载的性能瓶颈。高
负载时,数据引擎的
单个实例可能会占用
所有 CPU 资源,以便
处理请求。
由于该进程是一个代
理,因此它通常仅受
限制于网络,但在有
很多同时存在的用户
会话时,可能会受限
制于 CPU。该进程的
负载是以下内容产生
的:基于浏览器的交
互,基于 Tableau
Desktop 的交互,以及
针对 Tableau Server
数据源的数据提取刷
新作业。
通常仅占用很少的资
源。执行诸如用户查
看所有工作簿或更改
权限等操作时,在极
少情况下,对于超大
型部署( 存在数千位
用户) ,该进程可能会
成为瓶颈。
在从 Web 浏览器加
载视图和交互使用的
过程中,占用明显的
资源。可能受限制于
CPU、I/O 或网络。进
程负载只能由浏览器
的交互创建。进程内
进程
文件名
用途
是否
为多
线
程?
体系结构
性能特征
存可能不足。
创建性能记录
利用 Tableau 中的性能记录功能,您可以在与工作簿交互时记录关键事件的相关性能
信息,然后可在 Tableau 自动创建的性能工作簿中查看性能指标。然后可在 Tableau 自
动创建的性能工作簿中查看性能指标。对于 Tableau Desktop 和 Tableau Server,用于创
建和查看性能记录的步骤会略有不同。不过,在 Tableau Desktop 和 Tableau Server 中,
所生成的性能工作簿的格式是相同的。
使用性能工作簿可分析和解决已知会影响性能的各种事件的相关性能问题,这些事件
包括:
l
l
l
l
l
l
l
查询执行
地理编码
连接到数据源
布局计算
数据提取生成
数据混合
服务器呈现
Tableau 支持人员在帮助您诊断性能问题时可能会请求您创建性能工作簿。
在 Tableau Server 中 创 建 性 能 记 录
服务器管理员决定是否在站点级别启用性能记录。默认情况下,在默认站点中或您创
建的任何站点中不会启用性能记录。若要为站点启用性能记录,请按以下步骤操作:
1. 在 Tableau Server 中选择“管理”按钮。
2. 选择“站点”。
3. 选择一个站点。
4. 选择“编辑”。
5. 在“编辑站点”对话框中,选择“允许性能记录”。
6. 选择“确定”。
可通过将 ?:record_performance=yes 添加到 URL 中来启动性能记录。例如:
http://localhost/views/Variety/BaseballStatistics?:record_performance=yes
记录启动的可视确认为工具栏中的显示性能记录命令:
选择显示性能记录以打开性能工作簿,它是性能数据的最新快照。当您继续使用视图
时,可以继续创建其他快照,性能数据是累计的。在您浏览页面离开视图之后或者从
URL 中移除 ?:record_performance=yes 之后,记录将停止。
解释性能记录
性能记录工作簿是 Tableau 仪表板,其中包含三个视图:“时间表”、“事件”和“查询”。
有关如何在 Tableau Server 中创建性能记录的信息,请参见创建性能记录。
时间表
性能记录仪表板的最上方视图从左向右显示记录期间发生的事件( 按时间先后顺序排
列) 。视图底部的轴显示自记录开始以来所经过的时间。
在“时间表”视图中,“工作簿”、“仪表板”和“工作表”列标识事件的上下文。“事件”列标
识事件的性质,最后一列显示每个事件的持续时间以及按时间先后顺序与其他所记录
事件的比较情况:
事件
性能记录工作簿中的中间视图显示按持续时间排序( 从最长到最短) 的事件。这可在您
希望加快使用工作簿的速度时帮助您确定最先查看的位置。
不同的颜色表示不同类型的事件。可成为记录的事件范围如下:
l
正在计算布局。
如果布局所花的时间过长,请考虑简化工作簿。
l
正在连接到数据源。
连接可能会因网络或数据库服务器问题而较慢。
l
正在执行查询。
如果查询所花的时间过长,请参考数据库服务器的文档。
l
正在生成数据提取。
若要加快数据提取生成的速度,请考虑仅从原始数据源导入部分数据。例如,可
以筛选特定的数据字段,或者创建基于指定行数或数据百分比的示例。
l
地理编码。
若要加快地理编码性能,请尽量使用较少的数据或筛选出数据。
l
正在混合数据。
要加快数据混合,请尽量减少使用的数据或筛选出数据。
l
服务器呈现。
通过在其他计算机上运行其他 VizQL Server 进程,可以加快服务器呈现。
查询
如果在性能记录仪表板的“时间表”或“事件”部分中单击“正在执行查询”事件,则将在“查
询”部分中显示该查询的文本。例如:
有时,查询会被截断,您需要访问 Tableau 日志才能找到完整查询。大多数数据库服务
器会向您提供有关如何通过添加索引或其他方法来优化查询的建议。有关详细信息,
请参见数据库服务器文档。
嵌入视图
您可以将 Tableau Server 中的视图嵌入到网页、博客、wiki、Web 应用程序和 Intranet 门
户中。嵌入的视图能够与网页融为一体,并且可以交互。视图会随着基础数据的变化
或工作簿在服务器上的更新而更新。嵌入的视图遵守服务器上使用的相同许可和权限
限制。通常,要加载带有嵌入视图的网页的人还必须在 Tableau Server 上拥有帐户。如
果您具有基于内核的许可证,也可以选择“启用来宾”,这样用户无需登录就能加载视
图。可通过三种方式嵌入视图:
l
l
l
按原样使用共享嵌入代码:每个视图左上角的“共享”链接提供了自动生成的嵌入
代码。每个视图左上角的“共享”链接提供了自动生成的嵌入代码。您只需要将该
代码复制并粘贴到网页中即可。
编写自己的嵌入代码:您可以增强 Tableau 提供的默认嵌入代码,或者生成自己
的代码。无论采用哪种方式,都可以添加用于控制工具栏、选项卡等的参数。
使用 Tableau JavaScript API:您可以在自己的 Web 应用程序代码中使用
Tableau JavaScript 对象。有关详细信息,请参见 JavaScript API。
要让用户在单击嵌入视图时成功进行身份验证,其浏览器必须配置为允许第三
方 Cookie。
有关嵌入视图的详细信息,请参见以下主题:
编写嵌入代码
如果您要编写您自己的嵌入代码,则可采用以下两种方法之一:
l
l
使用 Tableau JavaScript:这是首选方法。只需将“共享”嵌入代码用作自己代码的
起点,然后添加或编辑用于控制工具栏、选项卡等的对象参数。只需将“共享”嵌
入代码用作自己代码的起点,然后添加或编辑用于控制工具栏、选项卡等的对象
参数。依赖于 Tableau JavaScript 文件的默认嵌入代码也是控制多个嵌入视图的
加载顺序的唯一方法。
指定视图 URL:与早期版本的 Tableau 一样,当源是视图的原始 URL 时,您可以
使用 Iframe 或 Image 标记来嵌入视图。与早期版本的 Tableau 一样,当源是视图
的原始 URL 时,您可以使用 Iframe 或 Image 标记来嵌入视图。如果您无法在网
站中使用 JavaScript,则可能需要这样做。可能还有一些只能指定 URL 的情况,
例如,当使用 SharePoint 的页面查看器 Web 部件嵌入视图时。
无论采用何种方法,都必须在嵌入视图时定义宽度和高度。
Tableau JavaScript
下面是单击“共享”时在默认情况下得到的嵌入代码的示例:
<script type="text/javascript"
src="http://myserver/javascripts/api/viz_v1.js"></script>
<div class="tableauPlaceholder" style="width:800; height:600;">
<object class="tableauViz" width="800" height="600"
style="display:none;">
<param name="host_url" value="http://myserver/" />
<param name="site_root" value="/t/Sales" />
<param name="name"
value="MyCoSales/SalesScoreCard/jsmith@myco.com/EastCoastSales"
/>
<param name="tabs" value="yes" />
<param name="toolbar" value="yes" /></object></div>
<script> 标记的源是 Tableau Server JavaScript 文件 (viz_v1.js) 的 URL。JavaScript 文
件负责处理向您的用户显示的视图的完整 URL 的汇编。name 和 site_root 对象参数
是唯一的必需参数;所有其他参数都是可选参数。关于示例,请参见嵌入参数列表以及
示例部分中的“脚本标记示例”。
查 看 作 为 源 的 URL
下面是使用 IFrame 嵌入相同视图的示例,其中,源是该视图的 URL:
<iframe
src="http://myserver/t/Sales/MyCoSales/SalesScoreCard?:embed=yes&:tabs=yes&:toolbar=yes" width="800" height="600"></iframe>
必须指定 embed URL 参数,并可以包括用于控制工具栏和恢复选项等的参数。您还可
向用于控制加载视图时显示的特定数据的 URL 添加筛选器。关于示例,请参见嵌入参
数列表以及示例部分中的“Iframe 标记示例”。
嵌入参数列表
可以使用 Iframe 标记( 此标记使用 URL 参数) 或 JavaScript 标记( 此标记使用对象参数)
来嵌入视图。下表中列出了这两组参数及其使用方式:
对象参
数
URL
参数
值
custo- :cusmView- tomV- no
s
iews
-
filter
说明
示例
隐藏“记
住我的
更改”选
项。
<param name="customViews"
value="no"/>
http://tabserver/views/DateTime/DateCalcs?:embed=yes&:customViews=no
URL 参
数所必
需。隐
藏顶部
:emb导航区
yes
ed
域,使
视图更
好地融
入网页
中。
-
字
符
串
自定义
视图打
开时显
示的内
容。也
可以按
网址参
数筛
选。请
参见以
下位置
中的
Iframe
标记示
例:添加
筛选器
和筛选
多个字
段。
:for- pd以 PDF
mat
f;
http://tabserver/views/DateTime/DateCalcs?:embed=yes
<param name="filter"
value="Team=Blue"/>
http://tabserver/views/Sales/Q2?:format=pdf
对象参
数
URL
参数
值
说明
示例
或 .png
文件显
png
示视
图。
字
符
串
显示在
URL 中
的服务
器名
称。
:lin- 字
linktktar- 符
arget
get
串
外部超
链接的
目标窗
口名
称。
数
字
当嵌入
多个视
图时,
默认加
载顺序
是列出
视图的
顺序。
使用此
设置可
覆盖该
顺序。
允许使
用负
数。
字
符
串
对象参
数所必
需。工
作簿和
工作表
名称以
及可选
的自定
义视图
( username@do-
host_
url
loadorder
name
-
-
-
<param name="host_url"
value="http://myserver.bigco.com/">
<param name="host_url"
value="http://localhost/">
<param name="linktarget" value="_
blank"/>
http://tabserver/views/DateTime/DateCalcs?:embed=yes&:linktarget=_blank
<param name="load-order" value="2"/>
<param name="name"
value="MyCoSales/Sales"/>
<param name="name"
value="MyCoSales/Sales/jsmith@myco.com/EastCoastSales"/>
对象参
数
URL
参数
值
说明
示例
main/[自
定义视
图名
称]) 。
path
-
字
符
串
仅适用
于受信
任的身
份验
证,不
能
与“ticket”参数一
起使
用。覆
盖“name”参数
的值并
用作
URL。请
参见受
信任的
身份验
证示
例。
-
:refresh
重新呈
现该页
面。有
关详细
信息,
请参见
刷新数
据。
-
all;
filt:rev- erert
s;
sorts;
使该项
返回到
其原始
状态。
<param name="path"
value="trusted/123456789/views/workbookQ4/SalesQ4"/>
http://tableauserver/trusted/123456789/views/workbookQ4/SalesQ4?:embed=yes&:tabs=yes
http://tabserver/views/DateTime/DateCalcs?:embed=yes&:refresh
http://tabserver/views/DateTime/DateCalcs?:embed=yes&:revert=all
对象参
数
URL
参数
值
说明
示例
axes;
shelves
site_
root
tabs
ticket
-
字
符
串
必需。
站点名
称。默
认站点
值为空 (
value="")。
如果服
务器是
多站点
的,并
且您希
望使用
受信任
的身份
验证,
请参见
受信任
的身份
验证示
例。
ye- 显示或
:tabs;
隐藏选
s
no
项卡。
-
数
字
仅适用
于受信
任的身
份验
证,不
能
与“path”
对象参
数一起
使用。
必须
与“nam-
<param name="site_root"
value="/t/Sales"/>
<param name="site_root" value=""/>
<param name="tabs" value="yes"/>
<param name="ticket"
value="123456789"/>
http://tableauserver/trusted/123456789/views/workbookQ4/SalesQ4?:embed=yes&:tabs=yes
对象参
数
URL
参数
值
说明
示例
e”对象
一起使
用,用
来构造
受信任
的票证
兑现
URL。请
参见受
信任的
身份验
证示
例。
如果未
设置此
参数,
默认情
况下显
示工具
栏。当
选择 no
ye<param name="toolbar" value="top"/>
时,工
toolb- :too- s;
具栏将
http://tabserver/views/Datear
lbar no;
从嵌入
Time/DateCalcs?:embed=yes&:toolbar=no
top
视图中
排除。
当选择
top 时,
工具栏
将置于
视图之
上。
示例
下面是自定义或使用嵌入代码的某些方法的示例:
添加筛选器
您可以传递筛选器值,以便视图打开时仅显示您想要的数据。例如,您可能希望在嵌
入的销售业绩视图中包括 Web 应用程序其他部分中的一个超链接,该销售业绩视图
尽显示特定地区。
脚本标记示例
<script type="text/javascript"
src="http://myserver/javascripts/api/viz_v1.js">
</script>
<object class="tableauViz" width="800" height="600"
style="display:none;">
<param name="host_url" value="http://myserver/" />
<param name="site_root" value="" />
<param name="name" value="Sales/Sales-Performance" />
<param name="filter" value="Region=East" />
</object>
若要传递多个筛选器,只需用逗号将每个值分隔开。例如:
<param name="filter" value="Region=East,West" />
Iframe 标记示例
<iframe
src="http://myserver/views/CalculatedFields?:embed=yes&Region=East"width="800" height="600"></iframe>
<iframe src="http://myserver/views/Sales/SalesPerformance?:embed=yes&Region=East,West" width="900px"
height="700px"></iframe>
筛选多个字段
您可针对所需的任意多个字段传递筛选器,包括原始视图中没有的字段。
脚本标记示例
<script type="text/javascript"
src="http://myserver/javascripts/api/viz_v1.js">
</script>
<object class="tableauViz" width="800" height="600"
style="display:none;">
<param name="host_url" value="http://myserver/" />
<param name="site_root" value="" />
<param name="name" value="Sales/Sales-Performance" />
<param name="filter" value="Region=East,West&Customer
Segment=Consumer,HomeOffice" />
</object>
Iframe 标记示例
<iframe
src="http://myserver/views/CalculatedFields?:embed=yes&Region=East,West&Customer Segment=Consumer,Home Office" width="800"
height="600"></iframe>
如果筛选器值包含特殊字符( 例如逗号) ,请将该字符替换为 \( 反斜杠,%5c) 的
网址编码顺序,后接特殊字符的网址编码顺序。需要使用反斜杠对特殊字符进行
转义。例如,\,( 反斜杠、逗号) 的网址编码顺序为 %5c%2c。
筛选日期和时间
如果需要筛选“日期/时间”字段,请使用下面显示的默认 Tableau 格式将该值包括进来:
yyyy-mm-dd hh:mm:ss
时间部件使用 24 小时时钟。许多数据库将所有日期值存储为“日期时间”字段,因此,
您可能需要与日期一起传递时间值。
脚本标记示例
<script type="text/javascript"
src="http://myserver/javascripts/api/viz_v1.js"></script>
<object class="tableauViz" width="800" height="600"
style="display:none;">
<param name="host_url" value="http://myserver/" />
<param name="site_root" value="" />
<param name="name" value="Sales/Sales-Performance" />
<param name="filter" value="Date=2012-12-01" />
</object>
本示例将同时筛选日期字段和日期时间字段:
<param name="filter" value="2012-12-01%2022:18:00" />
Iframe 标记示例
<iframe src="http://myserver/Sales/SalesPerformance?:embed=yes&Date=2008-12-01%2022:18:00" width="800"
height="600"></iframe>
若要筛选多个日期,请用逗号将每个日期分隔开。
筛选度量
可通过包括一个或多个值来筛选度量。不支持大于、小于或范围。下面的示例在筛选
后仅显示 $100 和 $200 的销售。
脚本标记示例
<script type="text/javascript"
src="http://myserver/javascripts/api/viz_v1.js">
</script>
<object class="tableauViz" width="800" height="600
"style="display:none;">
<param name="host_url" value="http://myserver/" />
<param name="site_root" value="" />
<param name="name" value="Sales/Sales-Performance" />
<param name="filter" value="Profit=100, 200" />
</object>
Iframe 标记示例
<iframe src="http://myserver/Sales/SalesPerformance?:embed=yes&Profit=100,200" width="800"
height="600"></iframe>
控制多个视图的加载顺序
您可以针对使用您的视图的人员,对多个视图的加载顺序进行控制。只能使用依赖于
Tableau JavaScript 文件的嵌入代码来访问此功能。
在下面的示例中,嵌入了两个视图。首先加载第二个视图,然后加载上面的视图。如果
嵌入多个视图并为它们指定相同的加载顺序值,或者不指定加载顺序参数,则这些视
图将按出现在页面上的顺序加载。
脚本标记示例
<script type="text/javascript"
src="http://myserver/javascripts/api/viz_v1.js">
</script>
<object class="tableauViz" width="600" height="400"
style="display:none;">
<param name="host_url" value="http://myserver/" />
<param name="site_root" value="" />
<param name ="name" value="MyCoSales/TopPerformers" />
<param name="tabs" value="yes" />
<param name="toolbar" value="yes" />
<param name="filter" value="Salesperson=Top 5" />
<param name="load-order" value="0" />
</object>
<script type="text/javascript"
src="http://myserver/javascripts/api/viz_v1.js">
</script>
<object class="tableauViz" width="600" height="400"
style="display:none;">
<param name="host_url" value="http://myserver/" />
<param name="site_root" value="" />
<param name="name" value="MyCoSales/SalesScoreCard" />
<param name="tabs" value="yes" />
<param name="toolbar" value="yes" />
<param name="load-order" value="-1" />
</object>
将 视 图 嵌 入 SharePoint (Microsoft SSPI)
可以将 Tableau Server 视图嵌入 SharePoint 页面中。若要自动对访问嵌入式视图的
Tableau Server 用户进行身份验证,您有两个选项,这两个选项都依赖于在 Tableau
Server 安装期间选择的用户身份验证方法。您可以使用 Active Directory 并“启用自动
登录”对 Tableau Server 用户进行身份验证( 也称为使用 Microsoft SSPI) ,也可以使
用“本地身份验证”— 然后还可以将 Tableau Server 配置为进行受信任的身份验证。
本主题适用于第一个选项,其中 Tableau Server 和 SharePoint 都使用 Microsoft SSPI。如
果 Tableau Server 使用的是“本地身份验证”,请参见将视图嵌入 SharePoint( 本地身份
验证) ,了解相关步骤。
请按照以下步骤使用 SharePoint 的页面查看器 Web 部件在 SharePoint 页面中嵌入视
图。
1. 导航到要嵌入视图的 SharePoint 页面( 页面类型应该是“Web 部件页”) 。
2. 在页面左上角的“网站操作”菜单中,选择“编辑页面”。
3. 在要嵌入视图的页面部分中,单击“添加 Web 部件”。
4. 在“类别”下,选择位于“其他”或“自定义”文件夹中的“TableauEmbeddedView”,
然后单击“添加”。
5. 返回到 SharePoint 页面,在新 Web 部件的“编辑”菜单中选择“编辑 Web 部件”。
6. 在页面的右侧,可以指定“页面视图 Web 部件”的属性。键入要嵌入视图的 URL。
使用在嵌入视图中指定的格式。例如,可以键入:
http://tableauserver/views/DateTime/DateCalcs?:embed=yes&:toolbar=no
7. 在“外观”部分指定 Web 部件的“标题”、“高度”和“宽度”。通常应该指定固定高度
( 例如,700 像素) ,并调整宽度以适应该区域大小。
8. 单击“确定”应用更改并退出编辑模式。
该视图将嵌入到刚创建的 Web 部件中。您的用户不需要登录到 Tableau Server
来查看嵌入视图,而是将使用 Microsoft SSPI 自动对他们进行身份验证。
将 视 图 嵌 入 Wiki
只需将视图放在一个 <iframe> 标记内,即可轻松将视图嵌入 Wiki 或其他网页中。
1. 导航到要嵌入视图的 Wiki 页面。
2. 编辑该页面,并在源为该视图的 URL 时添加 <iframe>。例如:
<iframe src="http://tableauserver/views/DateTime/DateCalcs?:embed=yes&:toolbar=no" width="800"
height="600"></iframe>
3. 保存所做的更改。
该视图将嵌入到 Wiki 页面中。
如果 Tableau Server 和 Wiki 都配置为使用 Microsoft SSPI,则访问 Wiki 上的嵌入
视图的用户将会自动登录,以便能够查看该视图。
如果服务器和 Wiki 没有使用相同的身份验证方法,则用户需要先登录到服务器
中,才能看到该视图。
嵌入图像
除了将视图嵌入到 <script> 或 <iframe> 标记中之外,还可以将视图作为图像嵌
入。嵌入图像时,该视图不具有交互性,但在每次该页面完全重新加载时,该视图将会
更新。这样,即使基础数据发生变化,图像也会显示最新数据。
1. 导航到要嵌入图像的页面。
2. 编辑该页面,并在源为该视图的 URL 加上 .png 文件扩展名的情况下添加 <img>
标记。例如:
<img src="http://tableauserver/views/Date-Time/DateCalcs.png"
width="900" height="700">
注意:
如果 Web 页面和 Tableau Server 都使用 Microsoft SSPI 进行身份验证,则任何访问该嵌
入图像的人都将自动登录到 Tableau Server 中并能够查看该视图。但是,如果服务器和
网页没有使用相同的身份验证方法,则该图像不会显示。
将 视 图 嵌 入 SharePoint( 本 地 身 份 验 证 )
可以将 Tableau Server 视图嵌入 SharePoint 页面中。如果“本地身份验证”是 Tableau
Server 的用户身份验证方法,在开始嵌入视图之前,需要执行一些额外步骤。这些步
骤向 SharePoint 标识 Tableau Server 用户及其他信息。Tableau 通过补充性文件
TableauEmbeddedView.dll 和 TableauEmbeddedView.wsp 提供此功能。本主题介绍如何
安装和设置这些文件,测试您的配置,然后使用 SharePoint Web 部件嵌入视图。如果
Active Directory 是您的用户身份验证方法,则不需要执行这些额外步骤,因为 Active
Directory 和 SharePoint 都使用 Microsoft SSPI。您可以立即开始嵌入。请参见将视图嵌
入 SharePoint (Microsoft SSPI),了解相关步骤。
要求
任何访问嵌入视图的人都必须是 Tableau Server 上的许可用户,并且他们在 SharePoint
上的用户名必须与其在 Tableau Server 上的用户名相同。
编 辑 DLL 的安全权 限
第一步是编辑 .dll 的安全权限,以便操作系统的所有用户都可以使用它。
1. 找到随 Tableau Server 安装的 TableauEmbeddedView.dll 和
TableauEmbeddedView.wsp 文件:
32 位: C:\Program Files\Tableau\Tableau
Server\8.0\extras\embedding\sharepoint\
64 位:C:\Program Files (x86)\Tableau\Tableau
Server\8.0\extras\embedding\sharepoint\
2. 将文件复制到 SharePoint 服务器的根目录中。根目录通常位于
C:\Inetpub\wwwroot\wss\VirtualDirectories\<port>\bin,例如:
C:\Inetpub\wwwroot\wss\VirtualDirectories\80\bin
该过程的其余部分以及下一过程将重点介绍该 .dll 文件。
3. 右键单击 TableauEmbeddedView.dll 然后选择“属性”>“安全性”,来编辑该文件的
安全权限。
4. 在“组或用户名”下,选择“所有人”,然后单击“编辑”。
5. 在“所有人的权限”下,对“完全控制”权限选择“允许”。
6. 单击“确定”。
安装和部署 WSP 文件
上述过程向所有操作系统用户授予了使用 .dll 文件的权限。在下面的过程中,您将向
SharePoint 提供有关如何处理该 .dll 文件的更多信息。这由 TableauEmbeddedView.wsp
文件处理。您已经在编辑 DLL 的安全权限的步骤 2 中复制了此文件。若要安装和部署
.wsp 文件,请执行以下步骤:
1. 以管理员身份打开命令提示符。
2. 导航到以下文件夹:
C:\Program Files (x86)\Common Files\Microsoft Shared\Web
Server Extensions\14\BIN
3. 运行以下命令以添加 .wsp 文件:
stsadm -o addsolution -filename
"C:\Inetpub\wwwroot\wss\VirtualDirectories\80\bin\TableauEmbeddedView.wsp"
4. 接下来运行以下命令部署它。在此命令中,http://<your SharePoint
site>/ 应该是 SharePoint 网站的根目录,例如 http://mySharePoint/。
stsadm -o deploysolution -name TableauEmbeddedView.wsp
http://<your SharePoint Site>/ -local -force allowgacdeployment
-url
5. 最后,通过运行以下命令激活 Web 部件功能:
stsadm -o activatefeature -name TableauEmbeddedView_Feature1
-url http://<your SharePoint Site>/
验 证 Web 部件的部署
安装和部署 TableauEmbeddedView.wsp 文件后,通过执行以下操作,验证您的设置:
1. 在 Web 浏览器中打开 SharePoint 网站。可能需要几分钟网站才能出现。
2. 从“网站操作”列表中,选择“网站设置”。
3. 在“库”下,选择“Web 部件”。
4. 确认 TableauEmbeddedView 已列出。
5. 返回“网站设置”,在“网站集管理”下,选择“网站集功能”。
确认“TableauEmbeddedView 功能”的状态为“活动”。
使用 Web 部件嵌入视 图
现在您可以在 SharePoint 页面中嵌入视图:
1. 导航到要嵌入视图的 SharePoint 页面( 页面类型应该是“Web 部件页”) 。
2. 在页面左上角的“网站操作”菜单中,选择“编辑页面”。
3. 在要嵌入视图的页面部分中,单击“添加 Web 部件”。
4. 在“类别”下,选择位于“其他”或“自定义”文件夹中的“TableauEmbeddedView”,
然后单击“添加”。
5. 返回到 SharePoint 页面,在新 Web 部件的“编辑”菜单中选择“编辑 Web 部件”。
6. 在页面的右侧,可以指定 TableauEmbeddedView Web 部件的属性。键入您
Tableau Server 的名称,然后键入要嵌入视图的路径。例如,可以键入
/views/Date-Time/DateCalcs。
7. 指定其他属性,例如是否显示工具栏,或者是否将该视图作为图像而不是作为交
互式视图嵌入。
8. 在“外观”部分指定 Web 部件的“标题”、“高度”和“宽度”。通常应该指定固定高度
( 例如,700 像素) ,并调整宽度以适应该区域大小。
9. 单击“确定”应用更改并退出编辑模式。
现在,该视图已嵌入页面中,访问该视图的用户将基于其 SharePoint 用户名和密
码自动登录。任何人访问嵌入视图的人都应该是 Tableau Server 上的许可用户,
并且其在 SharePoint 上的用户名必须与其在 Tableau Server 上的用户名相同。
下面是使用提供的 .dll 文件将视图嵌入 SharePoint 的示例。您还可以将视
图嵌入到其他类型的 Web 应用程序中。有关更多信息,请参见 JavaScript
API。
代理服务器
Tableau Server 可以配置为使用代理服务器。在此类环境中,代理服务器充当 Tableau
Server 与对 Tableau Server 上的资源发出请求的客户端之间的媒介。可通过多种方式
来配置代理服务器 — 例如,配置为正向代理或反向代理。这些主题假定您已配置代理
服务器,现在需要向 Tableau Server 来标识该代理服务器。
使用以下主题可了解更多信息:
准备配置代理环境
若要将 Tableau Server 配置为使用代理服务器,您需要有关代理服务器的以下信息:
l
l
l
l
IP 地址:代理服务器计算机的 IP 地址。该地址必须采用 IPv4 格式,例
如,123.45.67.89。
FQDN:代理服务器的完全限定域名。例如,bigbox.myco.com。
非 FQDN:代理服务器的任意非完全限定域名。在以上示例中,代理服务器的非
完全限定域名为 bigbox。
别名:代理服务器的任何别名。别名是使用 CNAME( 典型名称记录) 指定的。例
如,CNAME 为 bigbox.myco.com、别名为 ftp.myco.com 和 www.myco.com 的代理
服务器。
配 置 Tableau 以 使 用 代 理 服 务 器
在收集准备配置代理环境中描述的信息后,您可通过执行以下步骤来配置 Tableau
Server 以使用代理。有关以下设置的信息,请参见tabadmin 设置选项。
1. 停止服务器。
2. 还是在 Tableau Server 的 bin 目录中,输入以下命令,其中 name 是代理服务器的
典型( 外部可见) 名称:
tabadmin set gateway.public.host "name"
3. 默认情况下,Tableau 假定代理服务器在端口 80 上侦听外部通信。若要指定其他
端口,请输入以下命令,其中 port_number 是端口:
tabadmin set gateway.public.port "port_number"
4. 现在,请输入以下命令,其中 IP_address 是代理服务器的 IP 地址:
tabadmin set gateway.trusted "IP_address"
IP_address 的值可以是逗号分隔列表,例如:
tabadmin set gateway.trusted "123.45.67.89, 123.45.67.88,
123.45.67.87"
5. 在下一个命令中,您将为代理服务器提供任何备用名称,例如它的完全限定域
名、任何非完全限定域名和任何别名。这些是用户可能在浏览器中键入的名称。
用逗号分隔每个名称:
tabadmin set gateway.trusted_hosts "name1, name2, name3"
例如:
tabadmin set gateway.trusted_hosts "bigbox.myco.com, bigbox,
ftp.myco.com, www.myco.com"
6. 启动服务器以使更改生效。
受信任的身份验证
将 Tableau Server 视图嵌入到网页中时,访问该页面的所有用户都必须是 Tableau
Server 上的许可用户。用户访问该页面时,将会看到先登录到 Tableau Server 中才能查
看视图的提示。如果您已经有一种在该网页上或 Web 应用程序中对用户进行身份验
证的方法,就可以通过设置受信任的身份验证来避免此提示,并避免您的用户必须登
录两次。
受信任的身份验证意味着您已在 Tableau Server 与一个或多个 Web 服务器之间建立受
信任的关系。当 Tableau Server 接收来自这些受信任 Web 服务器的请求时,它会假设
您的 Web 服务器已处理必需的身份验证。
如果您的 Web 服务器使用 SSPI( 安全支持提供程序接口) ,则无需设置受信任的身份
验证。您可以嵌入视图,这样,只要您的用户是 Tableau Server 许可用户且是您Active
Directory 的成员,就可以安全地访问这些视图。不支持同时使用“启用自动登录”( 在安
装过程中配置的选项,该选项使用 Microsoft SSPI) 和受信任的身份验证。如果您没有
将 SSPI 与 Active Directory 结合使用并且希望您的用户能够安全地访问 Tableau Server
视图而不提示其输入凭据,则可以设置受信任的身份验证。
用户的浏览器必须配置为允许第三方 Cookie,这样他们在点击嵌入视图时就能
进行身份验证了。
受信任的身份验证的工作原理
下图说明了受信任的身份验证在客户端的 Web 浏览器、您的 Web 服务器和 Tableau
Server 之间是如何工作的。
用户访问网页:当用户访
问具有嵌入式 Tableau
Server 视图的网页时,该
网页会向您的 Web 服务器
发送一个 GET 请求,要求
提供该网页的 HTML。
Web 服务器将 URL 传递给浏览器:Web 服务器使
用该视图的 URL 或其对象标记( 如果是嵌入式视
图) 构造该视图的 URL,并将其插到该网页的
HTML 中。包括票证( 例如
http://tabserver/trusted/<ticket>/views/requestedviewname) 。Web 服务器将该网页的所有 HTML 传递
回客户端的 Web 浏览器。
Web 服务器 POST 到
Tableau Server:Web 服务
器向受信任的 Tableau
Server( 例如
http://tabaserver/trusted,而非
http://tabserver) 发
送了 POST 请求。该 POST
请求必须有一个
username 参
数。username 值必须是
Tableau Server 许可用户的
用户名。如果服务器在运
行多个站点,且视图在
Default 站点之外的其他站
浏览器从 Tableau Server 请求视图:客户端 Web
浏览器使用 GET 请求向 Tableau Server 发送请
求,该 GET 请求包含带有票证的 URL。
点上,则 POST 请求还必
须包含 target_site 参
数。
Tableau Server 创建票
证:Tableau Server 检查发
送 POST 请求的 Web 服务
器的 IP 地址( 上图的
192.168.1.XXX) 。如果该服
务器已设置为受信任主
机,则 Tableau Server 将创
建一个票证,其形式为包
含 9 个数字的唯一字符
串。Tableau Server 使用该
票证来响应 POST 请求。
如果存在错误并且无法创
建票证,则 Tableau Server
将使用值“-1”进行响应。
Tableau Server 兑换票证:Tableau Server 检查是
否 Web 浏览器请求了含有票证的 URL,并兑换该
票证。票证必须在发出后三分钟内兑换。兑换票
证后,Tableau Server 将用户登录,从 URL 中删除
该票证,并发送回该嵌入式视图的最终 URL。
向 Tableau Server 添 加 受 信 任 的 IP 地 址
设置受信任的身份验证的第一步是将 Tableau Server 配置为识别并信任来自一个或多
个 Web 服务器的请求:
1. 以管理员身份打开命令提示符,转到 Tableau Server 的 bin 目录( 例如 C:\Program
Files (x86)\Tableau\Tableau Server\8.0\bin) 。
2. 然后键入以下命令:
tabadmin set wgserver.trusted_hosts "<Trusted IP Addresses>"
在上面的命令中,<Trusted IP Addresses> 应是您的 Web 服务器 IP 地址的
逗号分隔列表。例如:
tabadmin set wgserver.trusted_hosts "192.168.1.101,
192.168.1.102, 192.168.1.103"
注意:
该逗号分隔列表应位于引号内,每个逗号后跟一个空格。不允许使用主机名。
3. 如果在创建受信任票证( 上面的步骤 2) 的计算机与 Tableau Server 之间有一个或
多个代理服务器,则还需要将这些代理服务器添加为受信任网关。有关步骤,请
参见配置 Tableau 以使用代理服务器。
4. 最后,键入以下命令以重新启动服务器:
tabadmin restart
接下来,您需要配置 Web 服务器以便从 Tableau Server 接收票证。
从 Tableau Server 获 取 票 证
在向 Tableau Server 添加受信任的 IP 地址之后,您就可以将 Web 服务器配置为通过
POST 请求从 Tableau Server 获取票证( 图中的步骤 3) 。POST 请求必须发送至
http://<server name>/trusted,例如 http://tabserv/trusted,而非
http://tabserv。
有关可用来以 Java、Ruby 和 PHP 创建 POST 请求的代码示例,请参见以下内容:
32 位:C:\Program Files\Tableau\Tableau Server\8.0\extras\embedding
64 位:C:\Program Files (x86)\Tableau\Tableau
Server\8.0\extras\embedding
下面是可在向 Tableau Server 发送的 POST 请求中使用的数据:
l
l
l
username=<username> ( 必需) :Tableau Server 许可用户的用户名。如果使用
的是本地身份验证,则用户名可以是简单字符串( 例如,username=jsmith) 。
如果将 Active Directory 用于多个域,则用户名中必须包含域名( 例
如,username=MyCo\jsmith) 。
target_site=<site id> ( 如果视图不在 Default 站点上,则为必需) :如果
Tableau Server 运行多个站点,并且视图位于 Default 站点之外的其他站点上( 例
如,target_site=Sales) ,则指定包含该视图的站点。用于 <site id> 的值
应该是该站点的 Web 文件夹名称。
client_ip=<IP address> ( 可选) :用于指定 Web 浏览器要访问该视图的计
算机的 IP 地址( 例如,client_ip=123.45.67.891) 。该地址不是发出 Tableau
Server 的 POST 请求的 Web 服务器 IP 地址。如果您决定使用此参数,请参见可
选:配置客户端 IP 匹配以了解更多信息。
Tableau Server 对 POST 请求的响应将是一个包含 9 个数字的唯一字符串( 即票证) 。如
果 Tableau Server 无法处理该请求,则返回 -1。有关如何更正此问题的提示,请参见从
Tableau Server 返回了票证值 -1。同样,为了让用户在单击嵌入视图时成功进行身份验
证,其服务器必须配置为允许第三方 Cookie。
接下来,您需要添加一段代码以允许 Web 服务器为该视图构造 URL,此 URL 应包含
该视图的位置以及票证。
显示视图及票证
在创建 POST 请求之后,您需要编写一段代码,以便向 Web 服务器提供来自 Tableau
Server 的视图位置和票证。服务器将使用此信息来显示视图。如何指定取决于视图是
否为嵌入式视图以及 Tableau Server 是否运行多个站点。
Tableau Server 视 图 示 例
下面是如何指定用户仅通过 Tableau Server 访问的视图的示例( 该视图不是嵌入式视
图) 。
http://tabserver/trusted/<ticket>/views/<workbook>/<view>
如果 Tableau Server 正在运行多个站点,并且该视图位于 Default 站点之外的其他站点
上,则需要向该路径添加 t/<site name>。例如:
http://tabserver/trusted/<ticket>/t/Sales/views/<workbook>/<view>
嵌入式视图示例
下面是如何指定嵌入式视图的示例。您可采用两种方法来编写嵌入代码,下面便提供
了这两种方法。无论您采取哪种方法,您都必须提供一些唯一信息以便进行受信任的
身份验证。
脚本标记示例
此示例使用了 ticket 对象参数:
<script type="text/javascript"
src="http://myserver/javascripts/api/viz_v1.js"></script>
<object class="tableauViz" width="800" height="600"
style="display:none;">
<param name="name" value="MyCoSales/SalesScoreCard" />
<param name="ticket" value="123456789" />
</object>
对于多站点 Tableau Server,以上示例为以下内容( 视图是在 Sales 站点上发布的) :
<script type="text/javascript"
src="http://myserver/javascripts/api/viz_v1.js"></script>
<object class="tableauViz" width="800" height="600"
style="display:none;">
<param name="site_root" value="/t/Sales" />
<param name="name" value="MyCoSales/SalesScoreCard" />
<param name="ticket" value="123456789" />
</object>
您可使用 path 参数来显式声明该视图的完整路径,而不使用 ticket。使用 path 时,
也不需要 name 参数,此参数在 Tableau JavaScript 嵌入代码中通常是必需参数。
<script type="text/javascript"
src="http://myserver/javascripts/api/viz_v1.js"></script>
<object class="tableauViz" width="900" height="700"
style="display:none;">
<param name="path"
value="trusted/123456789/views/MyCoSales/SalesScoreCard" />
</object>
下面是同一示例,但这次针对的是多站点服务器。请注意,此处使用的是 /t/<site
name>:
<script type="text/javascript"
src="http://myserver/javascripts/api/viz_v1.js"></script>
<object class="tableauViz" width="900" height="700"
style="display:none;">
<param name="path"
value="trusted/123456789/t/Sales/views/MyCoSales/SalesScoreCard"
/>
</object>
Iframe 标记示例
<iframe
src="http://tabserver/trusted/123456789/views/workbookQ4/SalesQ4?:embed=yes" width="800" height="600"></iframe>
可 选 :配 置 客 户 端 IP 匹 配
默认情况下,Tableau Server 在创建或兑换票证时不考虑客户端 Web 浏览器的 IP 地
址。若要对此进行更改,需要执行以下两个操作:在获取票证的 POST 请求中,使用
client_ip 参数指定一个 IP 地址,然后执行下面的步骤以配置 Tableau Server,以便
强制客户端 IP 地址匹配。
1. 打开命令窗口,并将目录更改为 Tableau Server 的 bin 目录中的位置。默认位置
为 C:\Program Files (x86)\Tableau\Tableau Server\8.0\bin
2. 以管理员身份打开命令提示符,然后键入以下命令:
tabadmin set wgserver.extended_trusted_ip_checking true
3. 然后键入以下命令:
tabadmin configure
4. 最后,通过键入以下内容重新启动服务器:
tabadmin restart
受信任的身份验证疑难解答
下面是配置受信任的身份验证时可能会遇到的一些常见问题和错误。受信任的身份验
证信息写入 ProgramData\Tableau\Tableau
Server\data\tabsvc\logs\vizqlserver\vizql-*.log。若要将日志记录级别
从 info 提高到 debug,请使用 tabadmin 设置 vizqlserver.trustedticket.log_level。
有关测试受信任的身份验证的提示,请参见 Tableau 知识库。
从 Tableau Server 返 回 了 票 证 值 -1
Tableau Server 在不能将票证作为受信任的身份验证过程的一部分发出时会返回票证
值“-1”。此消息的确切原因将写入到以下文件夹中的文件 production*.log 中:
ProgramData\Tableau\Tableau Server\data\tabsvc\logs\wgserver
以下是需确认的一些内容:
l
所有 Web 服务器 IP 地址都已添加到受信任主机
发送 POST 请求的计算机的 IP 地址必须在 Tableau Server 上的受信任主机列表
中。若要了解如何向此列表添加 IP 地址,请参见向 Tableau Server 添加受信任的
IP 地址。
l
对受信任主机列表进行正确格式设置
Tableau Server 上的受信任主机列表必须是逗号分隔列表,每个逗号后跟一个空
格。例如,该列表应与下面类似:192.168.1.101, 192.168.1.102, 192.168.1.103, 等
等。
l
IP 地址是 IPv4
IP 地址列表必须采用 Internet 协议版本 4 (IPv4) 格式。IPv4 地址如下所
示:123.456.7.890. 不支持 IPv6 地址( 例如 fe12::3c4a:5eab:6789:01c%34) 。
l
POST 请求中的用户名是有效的 Tableau Server 用户
在 POST 请求中发送的用户名必须是具有 Viewer 或 Interactor 许可级别的
Tableau Server 许可用户。通过以管理员身份登录到 Tableau Server 中并单击页
面左侧的“许可”链接,可查看用户及其许可级别的列表。
l
POST 请求中的用户名包含域
如果将 Tableau Server 配置为使用本地身份验证,则在 POST 中发送的用户名可
以是简单字符串。但是,如果将服务器配置为使用 Active Directory,则必须在用
户名中包含域名( 域\用户名) 。例如,username 参数可能
是:username=dev\jsmith
HTTP 401 – 未 授 权
如果收到“401 - 未授权”错误,则可能是因为您已将 Tableau Server 配置为将 Active
Directory 与 SSPI 结合使用( 请参见启用自动登录) 。如果您的 Web 服务器使用 SSPI,
则无需设置受信任的身份验证。您可以嵌入视图,这样,只要您的用户是 Tableau
Server 许可用户并且是您的 Active Directory 的成员,他们就可以访问这些视图。
不支持同时使用“启用自动登录”和受信任的身份验证。
HTTP 404 – 未 找 到 文 件
如果您的程序代码引用不存在的 Tableau Server URL,就可能会收到此错误。例如,您
的 Web 服务器可能会构造一个网页尝试检索时找不到的无效 URL。
无 效 用 户 ( SharePoint 或 C#)
如果您将 Tableau Server 配置为使用受信任的身份验证,则可能会遇到此错误。
SharePoint .dll 的示例代码引用以下 GET 请求:
SPContext.Current.Web.CurrentUser.Name
上面的请求将返回当前 Windows Active Directory 用户的显示名称。如果要使用登录
ID,则需要将代码更改为:
SPContext.Current.Web.CurrentUser.LoginName
进行更改后,请重新编译 SharePoint .dll。
尝 试 从 错 误 的 IP 地 址 检 索 票 证
如果您将 Tableau Server 配置为使用受信任的身份验证,则可能会遇到此错误。
默认情况下,兑换票证时不会考虑客户端 Web 浏览器 IP 地址。如果将 Tableau Server
配置为强制客户端 IP 地址匹配,请确保在 POST 中发送给 Tableau Server 的客户端
Web 浏览器 IP 地址与浏览器尝试检索嵌入式视图时的 IP 地址相同。例如,在受信任
的身份验证图中,如果步骤 3 中的 POST 请求发送参数 client_ip=74.125.19.147,则步骤
5 中的 GET 请求必须来自同一 IP 地址。
若要了解如何配置 Tableau Server 以强制客户端 IP 地址匹配,请参见可选:配置客户
端 IP 匹配。
Cookie 限 制 错 误
用户登录到 Tableau Server 时,会话 Cookie 会存储到他们的本地浏览器中。Tableau
Server 利用存储的 Cookie 来保留通过身份验证且可访问服务器的已登录用户。由于
Cookie 设置的域或子域与浏览器地址栏中的域或子域相同,因此该 Cookie 被认定为第
一方 Cookie。如果用户浏览器配置为阻止第一方 Cookie,则它们将无法登录到 Tableau
Server。
如果用户通过嵌入式视图或在配置了受信任的身份验证的环境中登录到 Tableau
Server,则会发生同样的情况:系统会存储此 Cookie。但在这种情况下,浏览器会将此
Cookie 当做第三方 Cookie 来处理。这是由于 Cookie 设置的域与浏览器地址栏中显示
的域不同。如果用户 Web 浏览器设置为阻止第三方 Cookie,则此 Cookie 将无法通过
Tableau Server 所需的身份验证。要避免出现这种情况,Web 浏览器必须配置为允许第
三方 Cookie。
与 服 务 器 通 信 时 出 错 (403)
如果 Tableau Server 配置为使用受信任的身份验证,在浏览器中打开新视图并尝试导
航回之前打开的视图时,可能会收到此错误消息。从版本 8.0 开始,Tableau Server 通
过 tabadmin 设置选项 vizqlserver.protect_sessions( 默认情况下设置为 true) 防止未经授
权地重用 VizQL 会话。由于 Tableau Server 配置为使用受信任的身份验证,因此您可能
不需要同时启用 vizqlserver.protect_sessions。若要禁用它,请使用 tabadmin
set 将其更改为 false。
用户运行身份
您可以使用专用的 Active Directory (AD) 用户帐户来运行 Tableau Server 服务,此帐户
称为“用户运行身份”帐户。某些管理员会选择当 Tableau Server 上的已发布工作簿连接
到实时数据源时执行此操作。服务器的默认网络服务帐户 (NT
AUTHORITY\NetworkService) 不具有用于连接到其他计算机上的数据源的正确权限。
而正确配置的 AD 帐户有这种权限。
对于需要 NT 身份验证的数据源,AD 帐户也可以自动处理身份验证进程,这样在工作
簿连接到实时数据源时,用户就不会收到提供凭据的提示。最后,专用于特定资源的
用户运行身份 AD 帐户同与某个人关联的 AD 帐户相比,在管理时通常更不容易出现
问题。
若要将 Tableau Server 配置为使用用户运行身份帐户,请按以下步骤操作。如果您运行
的是 Tableau Server 的分布式安装,那么这些步骤应该在工作服务器和主服务器上执
行。另外请注意,确认运行身份帐户设置中的步骤可能因站点而异。
注意:
如果您使用用户运行身份帐户来安装 Tableau Server,则在安装之前,请先确认
Windows Secondary Login 服务具有正确的“登录”和“启动”值。有关更多信息,请参见验
证 Tableau Service 设置。
标识帐户
第一步是标识或创建用于运行 Tableau Server 服务的 Active Directory 帐户。该帐户将是
Tableau Server 的用户运行身份帐户,应具有以下内容:
l
l
l
通过至少读取访问连接到数据源的权限。
允许 Tableau Server 通过数据源实现 NT 身份验证过程的凭据。执行 NT 身份验
证的 Microsoft 数据源包括 Microsoft SQL Server 和 Microsoft Analytical Services
(MSAS),但不包括 Access 或 Excel。
向 Active Directory 域控制器查询用户和组的权限。在运行 Tableau Server 的本地
计算机上创建的用户帐户可能没有这些权限。
确认域双向信任
确认在满足以下任何条件的情况下域之间存在双向信任:
l
承载 Tableau Server 和数据源的计算机位于单独的域中。
l
Tableau Server 用户位于与 Tableau Server 或数据源分离的域中。
验 证 Tableau Service 设 置
确认为 Tableau Service 分配了正确的“登录”和“启动”值:如果您运行的是 Tableau
Server 的分布式安装,请在工作服务器及主服务器上执行这些步骤。
1. 以管理员身份登录到运行 Tableau Server 的计算机。
2. 在 Tableau Server 计算机上,选择“开始”>“控制面板”>“管理工具”>“计算机管
理”>“服务和应用程序”>“服务”。
3. 打开“服务和应用程序”,然后单击“服务”。确认以下服务具有正确设置:
服务名称
登录值
FLEXnet
本地系统
Licensing Service
Secondary Login 本地系统
Tableau Server
(tabsvc)
Tablicsrv
<domain>\<username> 这是用户运行身
份帐户。请参见下面。
本地系统
启
动
值
手
动
自
动
自
动
自
动
更 改 “登 录 ”值
将 Tableau Server (tabsvc) 的“登录”值更改为用户运行身份帐户:
1. 在“服务”窗口中,通过右键单击 Tableau Server (tabsvc) 并选择“停止”停止
Tableau Server 服务。
2. 选择“开始”>“所有程序”>“Tableau Server”>“配置 Tableau Server”。
3. 在“常规”选项卡上,输入 Tableau Server 用户运行身份帐户的域、用户名和密码。
4. 单击“确定”,然后重新启动 Tableau Server (tabsvc)。
准备本地安全策略
如果用户运行身份帐户不是 Tableau Server 计算机( 如果运行的是分布式安装,则为主
服务器和工作服务器) 上的管理员,则必须准备该计算机的本地安全策略,以便
Tableau Server 用户运行身份帐户可作为服务登录到该计算机并进行配置更改。请执
行以下操作:
1. 选择“开始”>“控制面板”>“管理工具”>“本地安全策略”。
2. 在“本地安全设置”窗口中,打开“本地策略”,突出显示“用户权限分配”,然后右键
单击“作为服务登录”并选择“属性”。
3. 在“作为服务登录属性”窗口中,单击“添加用户或组”。
4. 键入 Tableau Server 用户运行身份帐户的 <domain>\<username>( 例如:
MYCO\tableau_server) ,然后单击“检查名称”。
5. 当帐户解析正确时,会带有下划线。单击“确定”。
6. 重复这些步骤以便将运行身份帐户添加到“本地登录”策略中。
7. 重复这些步骤以便从“拒绝登录”策略中移除运行身份帐户。
8. 单击“确定”关闭“本地安全设置”窗口。
配置数据源连接设置
若要在用户正在访问的工作簿连接到经过 NT 身份验证的实时数据源时自动对这些用
户进行身份验证,请在选中“使用 Windows NT 集成安全性”选项的情况下配置
Tableau 数据连接:
Windows NT 集成安全性
用户名和密码
使用服务器的用户运行身份帐户进行身份 每个 Tableau Server 用户都会看到要求提
验证
供数据库凭据的提示
确认运行身份帐户设置
用户运行身份帐户需要允许其读取、执行和( 有时) 修改文件的权限。根据作为起点使
用的帐户,用户运行身份帐户可能已拥有正确的权限。无论何时更改服务器的运行身
份帐户,都应确认该帐户满足以下要求。如果您运行的是分布式安装,这同时适用于
主服务器和工作服务器。
授予读取和执行权限
用于运行 Tableau Server 服务的帐户需要读取和执行文件的权限。无论何时更改服务
器的用户运行身份帐户,都应确认或配置以下内容:
1. 在承载 Tableau Server( 和 Tableau Worker,如果是分布式安装) 的计算机上,使用
Windows 资源管理器右键单击“本地磁盘(C:)”,然后选择“属性”。
2. 在“本地磁盘(C:)属性”窗口中,选择“安全”选项卡。
3. 单击“编辑”,然后单击“添加”。
4. 在“选择用户、计算机、服务帐户或组”对话框中,键入 Tableau Server 用户运行身
份帐户的 <domain>\<username>。不要使用组帐户。
5. 单击“检查名称”对该帐户进行解析,然后单击“确定”确认。
6. 当 Tableau Server 用户运行身份帐户突出显示时,确认其具有“读取和执行”权
限。选择“读取和执行”会自动选择“列出文件夹内容”和“读取”。
7. 单击“确定”退出。
授予修改权限
此帐户还需要执行类似创建日志文件这种操作的能力。确认或配置以下内容:
1. 导航到以下文件夹:
32 位 Windows Server 2003:C:\Program Files\Tableau
64 位 Windows Server 2003:C:\Program Files (x86)\Tableau\
Windows Server 2012、Windows Server 2008、Windows Vista、Windows 7、Windows
8:C:\ProgramData\Tableau\
2. 右键单击文件夹,选择“属性”,然后单击“安全”选项卡:
l
单击“编辑”,然后单击“添加”。
l
键入 Tableau Server 用户运行身份帐户的 <domain>\<username>。
l
单击“检查名称”对该帐户进行解析,然后单击“确定”确认。
l
当 Tableau Server 用户运行身份帐户突出显示时,确认其具有“修改”权限。
选择“修改”会自动授予除“完全控制”和“特殊权限”以外的所有权限:
3. 对于每个文件夹,在 Tableau 属性的“安全”选项卡上,单击“高级”:
4. 在“Tableau 高级安全设置”窗口中,单击“更改权限”。
5. 在“Tableau 高级安全设置”对话框中,突出显示用户运行身份帐户,并选中“使用
可从此对象继承的权限替换所有子对象权限”复选框:
6. 单击“确定”将更改应用于所有子文件夹和文件,这需要几分钟。
7. 单击“确定”确认更改,然后单击“Tableau 属性”对话框中的“确定”。
修改注册表设 置
以下步骤为可选步骤,大多数环境中都不用执行此步骤。如果注册表安全措施极其严
格,则向 Tableau Server 用户运行身份帐户授予对以下注册表分支的读写权限:
l
HKEY_CURRENT_USER\Software\Tableau
l
32 位计算机:HKEY_LOCAL_MACHINE\Software\Tableau
l
64 位计算机:HKEY_LOCAL_MACHINE\Software\Wow6432Node\Tableau
和
SQL Server 模拟
模拟是一个用户帐户代表另一个用户帐户进行操作。您可以对 Tableau 和 Microsoft
SQL Server 进行配置以执行数据库用户模拟,这样 Tableau Server 所用的 SQL Server
数据库帐户代表同时也是 Tableau 用户的 SQL Server 数据库用户进行查询。
此功能的主要优点是,它允许管理员在一个位置,即在管理员数据库中实现和控制其
数据安全策略。当 Tableau 用户通过 SQL Server 数据库实时连接访问某一视图时,该
视图仅显示该用户的数据库权限允许其查看的内容。另外一个优点是,在访问视图
时,用户不必响应数据库登录提示。另外,工作簿发布者也不必依赖于用户特定筛选
器来限制视图中显示的内容。
有关使用此功能所需的更多信息,请参见以下主题。
模拟要求
下面是使用此功能需要满足的要求:
l
l
l
l
l
仅限于 SQL Server 实时连接:模拟只能用于具有 SQL Server 数据库( 2005 或更
高版本) 实时连接的视图。
单个数据库帐户:将访问视图的每个人都必须在视图所连接的 SQL Server 数据
库中具有明确的单个帐户。不能对 Active Directory (AD) 组的成员进行模拟。例
如,如果 Jane Smith 是 AD 组“销售”的成员,并且她的数据库管理员将该“销
售”AD 组添加到 SQL Server 数据库,则不能对 Jane 进行模拟。
匹配凭据和身份验证类型:每个 Tableau 用户帐户的凭据及其 Tableau 用户身份
验证类型都必须与其在 SQL Server 数据库中的凭据和身份验证类型匹配。换言
之,如果 Jane Smith 的 Tableau Server 用户帐户的用户名为 MyCo\jsmith 且
Tableau Server 要使用 Active Directory 进行身份验证,则她在 SQL Server 数据库
中的用户名必须也是 MyCo\jsmith,并且 SQL Server 必须使用 Windows 集成身份
验证。
SQL Server 先决条件:在 SQL Server 中,应具有一个数据安全表( 一个强制实施
数据安全性的视图) ,并且应要求数据库用户使用该视图。
SQL IMPERSONATE 帐户:您需要一个对上述数据库用户具有 IMPERSONATE
权限的 SQL Server 数据库帐户。该帐户是具有管理员角色的帐户,或者是对于
每个用户帐户都已被授予 IMPERSONATE 权限的帐户( 请参见有关 EXECUTE
AS 的 MSDN 文章) 。此 SQL Server 帐户必须也是 Tableau 端的两个帐户之一:
l
l
Tableau Server 用户运行身份帐户( 请参见通过用户运行身份帐户进行模
拟) 。
工作簿发布者帐户( 请参见使用嵌入式 SQL 凭据进行模拟) 。
模拟的工作原理
下图说明了数据库用户模拟的工作原理:
在上图中,Jane Smith (MyCo\jsmith) 是一名西海岸地区销售代表,Henry Wilson
(MyCo\hwilson) 是东部地区销售代表。在 SQL Server 数据库中,Jane 的帐户
MyCo\jsmith 的帐户权限仅允许她访问西海岸地区的数据。Henry 的帐户 MyCo\hwilson
只能访问东海岸地区的数据。
已创建了一个显示全国数据的视图。该视图具有 SQL Server 数据库实时连接。这两个
用户都登录到 Tableau Server 中,单击该视图。Tableau Server 使用一个对于每个用户
的数据库帐户都具有 IMPERSONATE 权限的数据库帐户连接到 SQL Server。此帐户代
表每个用户的数据库帐户进行操作。
当该视图显示时,它受每个用户的各数据库权限的限制:Jane 只能查看西海岸地区的
销售数据,Henry 只能查看东海岸地区的销售数据。
通过用户运行身份帐户进行模拟
建议通过用户运行身份帐户进行模拟。用户运行身份帐户是一个 AD 帐户,Tableau
Server 服务可使用此帐户在承载 Tableau Server 的计算机上运行( 请参见用户运行身
份) 。该帐户必须拥有 SQL Server 中数据库用户帐户的 IMPERSONATE 权限。从数据
安全性角度看,通过使用 Tableau Server 运行身份帐户进行模拟,管理员可进行最灵活
的控制。
设置用户运行身份帐户模拟:
1. 在设置过程中配置 Tableau Server 时,在“服务器用户运行身份”下输入拥有用户
帐户的 IMPERSONATE 权限的用户运行身份 AD 帐户。在“用户身份验证”下,选
择“使用 Active Directory”:
2. 单击“确定”完成配置。
3. 在 Tableau Desktop 中创建一个工作簿。在创建数据连接时,对工作簿到 SQL
Server 数据库的实时连接选择“使用 Windows NT 集成安全性”:
4. 在 Tableau Desktop 中,将该工作簿发布到 Tableau Server( “服务器”>“发布工作
簿”) 。
5. 在“发布”对话框中,单击“身份验证”,然后在“身份验证”对话框中,从下拉列表中
选择“通过服务器运行身份帐户进行模拟”:
6. 单击“确定”。
7. 通过以用户身份登录到 Tableau Server 来测试该连接。单击视图时,不应看到要
求输入数据库凭据的提示,只应看到该用户有权查看的数据。
使 用 嵌 入 式 SQL 凭 据 进 行 模 拟
通过让视图发布者将其 SQL Server 帐户凭据嵌入到视图中,也可以执行模拟。Tableau
Server 可在任何类型的帐户下运行,但它使用发布者提供的凭据连接到数据库。
如果处理模拟的帐户不能是 AD 帐户,而您希望为工作簿发布者提供具有 SQL Server
上较高权限级别的帐户,这种方式可能适合您的站点。
注意:
若要使用这种方法,必须在 Tableau Server 上启用嵌入式凭据:
使用工作簿发布者的 SQL 帐户进行模拟:
1. 在 Tableau Desktop 中创建一个工作簿。在创建数据连接时,请为工作簿的 SQL
Server 数据库实时连接选择“使用特定用户名和密码”:
2. 将该工作簿发布到 Tableau Server( “服务器”>“发布工作簿”) 。
3. 在“发布”对话框中,单击“身份验证”,然后在“身份验证”对话框中,从下拉列表中
选择“通过嵌入式密码进行模拟”:
4. 单击“确定”。
5. 通过以用户身份登录到 Tableau Server 来测试该连接。单击视图时,不应看到要
求输入数据库凭据的提示,只应看到该用户有权查看的数据。
TCP/IP 端口
下表列出了默认情况下 Tableau Server 使用的端口以及哪些端口必须可用于绑定。如
果启用 Windows 防火墙,则 Tableau Server 将打开它需要的端口,您不需要自己执行
该操作( 对于具有运行 Windows 7 的工作服务器的分布式安装,请参见 Tableau 知识
库) 。
安装类型
端口
由此服务器进程使用...
高
分 可
全 布 用
部 式 性 参数
80
应用程序服务器。
X
gateway.public.port,
worker0.gateway.port
443
SSL。针对 SSL 配置 Tableau Server 后,应用
程序服务器会将请求重定向到此端口。
X
--
3729
Tableau Server 安装程序。
X
--
3730- 分布式和高可用环境中的 Tableau 工作服务
3731 器( 主 Tableau Server 不在这些端口上侦听) 。
应用程序服务器( 基本端口 8000) 。使用 8000
8000 - 之后的连续端口,最多可达进程数目。默认
8059 情况下,Tableau Server 安装时带有两个应用
程序服务器进程( 端口 8000 和 8001) 。
X
X --
X
wgserver.port
8060
PostgreSQL 数据库。
X
pgsql.port
8061
Firebird.
X
firebird.port
8062
在为高可用性配置的分布式环境中执行发现
的进程。
8080
Solr 和 Tomcat HTTP。
9090
在为高可用性配置的分布式环境中执行复制
的进程。
VizQL 服务器( 基本端口 9100) 。还将使用
9100 - 9100 之后的连续端口,最多可达进程数目。
9199 默认情况下,Tableau Server 安装时带有两个
VizQL Server 进程( 端口 9100 和 9101) 。
X pgsql.initport
X
solr.port,
tomcat.http.port1
X rsync.port
X
vizqlserver.port
Data Server( 基本端口 9700) 。还将使用 9700
9700 之后的连续端口,最多可达进程数目。默认
X
9899
情况下,Tableau Server 安装时带有两个 Data
dataserver.port
1必须将这些参数设置为相同值。
安装类型
端口
由此服务器进程使用...
高
分 可
全 布 用
部 式 性 参数
Server 进程( 端口 9700 和 9701) 。
27000
工作服务器和主服务器在分布式和高可用环
境中交流许可信息。
27009
X
X --
会动态选择一个附加端口,供工作服务器和
主服务器在分布式和高可用环境中交流许可
信息。而您可以指定固定端口( 建议使用
27010) 。有关详细信息,请参见 Tableau 知识
库。
X
X --
数据引擎。Tableau Server 安装时带有一个
27042 Data Server 进程。每个部署只能有一个活动
数据引擎。
27043
为高可用性配置的分布式环境中的数据引擎
初始化。
X
dataengine.port
X
修改默认端口
您可使用命令行管理工具 tabadmin 来修改由 Tableau Server 进程使用的默认端口。例
如,应用程序服务器进程 (wgserver) 的默认端口为 8000。可以使用 tabadmin 参数
workerX.wgserver.port 将其更改为其他端口。请按照以下步骤来更改 Tableau
Server 端口配置。如果启用服务器的 JMX 端口,请参见 启用 JMX 端口
1. 以管理员身份打开命令提示符,然后键入以下内容:
cd “C:\Program Files (x86)\Tableau\Tableau Server\8.0\bin”
2. 通过键入以下内容修改端口值:
tabadmin set <workerX>.<parameter> <new port value>
在上面的命令中,<workerX> 是指要更改端口的计算机,<parameter> 是下表
中的一个值( 服务器进程的端口,如 wgserver.port) ,<new port value> 是
您想让服务器进程使用的新端口号。如果 Tableau Server 正在一台计算机上运
行,则 <workerX> 为 worker0。如果您正在运行群集,则 worker0 是主服务
器,worker1 是第一个工作服务器,worker2 是第二个工作服务器,依此类推。
在后一种情况下,您需要为群集中的每台计算机运行一次该命令( 从主服务器上
的命令提示符) 。
下面的示例针对应用程序服务器进程 (wgserver) 将主服务器或备用服务器上
的端口设置为 8020:
tabadmin set worker0.wgserver.port 8020
下面的示例针对 VizQL 服务器进程,将三计算机群集( 一个主服务器和两个工作
服务器) 的端口设置为 9200。
tabadmin set worker0.vizqlserver.port 9200
tabadmin set worker1.vizqlserver.port 9200
tabadmin set worker2.vizqlserver.port 9200
可以使用以下参数来修改相应端口 — 有关可以设置的 tabadmin 参数的完整列
表,请参见TCP/IP 端口。
要更改的端口 参数
80
gateway.public.port, worker0.gateway.port
8000
wgserver.port
8060
pgsql.port
8080
solr.port, tomcat.http.port1
9100
vizqlserver.port
9700
dataserver.port
3. 进行必要的端口配置更改后,通过键入以下内容来重新启动 Tableau Server:
tabadmin restart
1应将这些参数设置为相同值。
在服务器重新启动时,所有用户都将无法使用服务器。请确保在执行此操作前向
用户发出中断警告,或计划在非营业时间内进行维护。
启 用 JMX 端 口
为帮助您解决 Tableau Server 的问题,Tableau 支持人员可能会要求您启用服务器的
JMX 端口。这些端口对于通常使用像 JConsole 这样的工具进行监视和故障排除的情况
会非常有用。
若要在 Tableau Server 上启用 JMX 端口,请执行以下操作:
1. 停止服务器。
2. 输入以下命令:
tabadmin set service.jmx_enabled true
3. 输入配置命令:
tabadmin configure
4. 启动服务器。
JMX 端 口 列 表
下面是 JMX 端口的列表,默认情况下这些端口全部被禁用。启用这些端口时,它们用
于所有类型的安装:单服务器、分布式和高可用:
端口
由此服务器进程使用...
参数
8300 8359
应用程序服务器 JMX。由应用程序服务器端口 +
300 来确定。
--
8550
后台程序监视器 JMX。由未使用的后台程序端口
8250 + 300 来确定。
--
9095
服务监视器 JMX。
svcmonitor.jmx.port
9400 9499
VizQL 服务器 JMX。由 VizQL 服务器端口 + 300 来
确定。
--
10000 10299
Data Server JMX。由 Data Server 端口 + 300 来确
定。
--
如 何 确 定 JMX 端 口
用于应用程序服务器 (8300 - 8359)、后台程序 (8550)、VizQL Server (9400 - 9599) 和 Data
Server (10000 - 10299) 的 JMX 端口可使用公式“基本端口 + 300”来分配( 有关默认的基
本端口的列表,请参见 TCP/IP 端口) 。此外,如果一个进程具有多个实例,则每个实例
将有一个 JMX 端口。例如,如果将 Tableau Server 配置为运行应用程序服务器进程的
四个实例,则将使用端口 8000( 默认的基本端口) 、8001、8002 和 8003。然后,应用程
序服务器 JMX 端口 8300( 基本端口 + 300) 、8301、8302 和 8303 将绑定至各自的进程实
例。
即使 Tableau Server 不直接使用这些端口,但如果 JMX 端口由其他应用程序使
用,Tableau Server 进程也不会运行。此外,不能使用 tabadmin 直接编辑 JMX 端口。可
以更改 JMX 端口,方法是更改其进程的基本端口。换言之,如果端口 10000 不能用于
数据服务器 JMX 进程,则可使用 tabadmin( 如修改默认端口中所述) 将数据服务器基本
端口从 9700 更改为 9800。这会将数据服务器 JMX 端口移至 11000。
后台程序进程的独特之处在于,它不使用其基本端口 8250,而是使用该端口号来确定
其 JMX 端口 8550 (8250 + 300)。
为了降低安全风险,最好将防火墙配置为阻止到达 JMX 端口的外部流量。
恢复端口默认值
可通过以下步骤恢复端口的默认值:
1. 以管理员身份打开命令提示符,然后键入以下内容:
cd “C:\Program Files (x86)\Tableau\Tableau Server\8.0\bin”
2. 通过键入以下内容恢复默认端口值:
tabadmin set <workerX>.<parameter> --default
如果 Tableau Server 正在一台计算机上运行,则 <workerX> 为 worker0。如果
您正在运行群集,则 worker0 是主服务器,worker1 是第一个工作服务
器,worker2 是第二个工作服务器,依此类推。
下面是一个示例:
tabadmin set worker0.wgserver.port --default
3. 通过键入以下命令来重新启动 Tableau Server:
tabadmin restart
tabcmd
tabcmd 实用工具是随 Tableau Server 安装的两个命令行工具之一( 另一个是
tabadmin) 。通过 tabcmd 提供的命令可以帮助您自动执行常见任务,例如成批发布工作
簿以及管理用户和组。tabcmd 实用工具安装在 Tableau Server bin 文件夹 (C:\Program
Files\Tableau Server\8.0\bin) 中,但您也可以在其他计算机上安装和运行 tabcmd。有关
更多信息,请参见以下主题:
安 装 tabcmd
默认情况下,tabcmd 命令行实用工具随 Tableau Server 一起安装,并且可以从服务器
的 bin 文件夹( 例如 C:\Program Files (x86)\Tableau\Tableau Server\8.0\bin) 运行。为了管
理起来更灵活,也可以将它安装在其他计算机上。
若要安装 tabcmd,请执行以下操作:
1. 导航到 Tableau Server 上的 extras 文件夹:
32 位:C:\Program Files\Tableau\Tableau Server\8.0\extras\TabcmdInstaller.exe
64 位:C:\Program Files (x86)\Tableau\Tableau Server\8.0\extras\TabcmdInstaller.exe
2. 将 TabcmdInstaller.exe 复制到要安装它的计算机。
3. 双击 TabcmdInstaller.exe 运行它。
4. 按照提示安装 tabcmd。由于 tabmd 是一个命令行工具,并且由于 Windows 操作
系统的某些限制,Tableau 建议您将 tabcmd 安装到 C:\ 驱动器根目录 tabcmd 自己
的文件夹中 (C:\tabcmd)。
运行 tabmd 安装程序不会自动将 tabcmd 添加到 Windows PATH 变量中,您需要使用
tabcmd 的完整路径明确调用 tabcmd,或者将其目录添加到 PATH 变量中。
如 何 使 用 tabcmd
第一步是使用 tabcmd 以管理员身份打开命令提示符。然后,您可以导航到 Tableau
Server 的 bin 文件夹( 例如 C:\Program Files (x86)\Tableau\Tableau Server\8.0\bin) 或者在
命令中包括该位置。
若要使用 tabcmd 在 Tableau Server 上执行任务,您必须建立经过身份验证的服务器会
话。会话会识别 Tableau Server 和运行该会话的 Tableau Server 用户。您可以先启动会
话,然后指定命令,或者在启动会话的同时执行命令。下面演示了如何对名为
tabserver.myco.com 的 Tableau Server 启动会话:
tabcmd login -s http://tabserver.myco.com -u admin -p p@sswr0d!
下面是用于删除名为 Sales_Workbook 的工作簿的命令:
tabcmd delete "Sales_Workbook"
下面是如何用一条命令完成上述所有操作,请注意此处不需要 login:
tabcmd delete "Sales_Workbook" -s http://tabserver.myco.com -u
admin -p p@ssw0rd!
一个 Tableau Server 可以运行多个站点。当工作簿运行在多站点服务器的 Default 站点
上时,不需要指定 Default,上述命令已足够。但是,如果命令应用于 Default 之外的站
点,则需要指定该站点的站点 ID( 请参见login) 。下面是用于 West Coast Sales 站点上的
一个工作簿的命令( 站点 ID wsales) :
tabcmd delete "Sales_Workbook" -s http://tabserver.myco.com -t
wsales -u admin -p p@ssw0rd!
选项 -s、-t、-u 和 -p 是 tabcmd 的全局变量,这意味着它们可以与任何命令一起使
用。
当该命令成功执行时,tabcmd 将返回零状态代码。对于非零状态代码,将向 stderr 打印
完整错误消息。此外,还可向 stdout 打印信息性消息或进度消息。名为 tabcmd.log 并包
括调试、进度和错误消息的完整日志将写入:
l
l
Windows Server 2012、Windows Server 2008 R2、Windows Vista、Windows
7、Windows 8:C:\Users\<username>\AppData\Roaming\Tableau
Windows Server 2003:C:\Documents and Settings\<username>\Application
Data\Tableau
tabcmd 全 局 选 项
某些选项是所有命令通用的。下表列说明了所有命令通用的选项。若要开始一个会
话,至少需要使用一次 --server、--user 和 --password 选项。将存储一个身份验
证令牌,以便可以不用包括进这些选项就能运行后续命令。此令牌在使用它的最后一
个命令之后五分钟内保持有效。
选项
选项( 长)
( 短)
-h
参数
说明
显示命令帮助。
--help
-s
--server
Tableau
Server
URL
-u
--user
Tableau
Server 用
户名
至少需要使用一次才能开始会话。
-p
-password
Tableau
Server 密
码
至少需要使用一次才能开始会话。也
可以使用 -P 选项。
-P
-允许将密码存储在给定文件中而不是
password- filename.txt
命令行中以增加安全性。
file
-t
--site
Tableau
Server 站
点名称
使用指定的 Tableau Server 站点。如果
未指定站点,则使用 Default 站点。仅适
用于具有多个站点的服务器。
-x
--proxy
Host:Port
使用指定的 HTTP 代理。
至少需要使用一次才能开始会话。
--noprompt
指定后,该命令将不提示输入密码。如
果未提供有效密码,则该命令将失败。
--noproxy
指定后,将不使用 HTTP 代理。
--nocertcheck
指定后,SSL 证书不再进行验证。
--[no-]
cookie
指定后,登录时将保存会话 ID,这样后
续命令就无需登录。要不保存会话 ID,
请使用 no- 前缀。默认情况下,将保存
会话。
--timeout 秒
等待指定秒数以使服务器完成命令处
理。默认情况下,该进程将在 30 秒后
超时。
tabcmd 命 令
下面是可用于 tabcmd 命令行工具的命令:
addusers group-name
creategroup group-name
createproject project-name
createsite site-name
createsiteusers filename.csv
createusers filename.csv
delete workbook-name/datasource-name
deletegroup group-name
deletesite site-name
deleteusers filename.csv
editsite site-name
export
get url
listsites
login
logout
publish
filename.twb(x)
/filename.tds(x)
/filename.tde
refreshextracts
workbookname/datasourcename
removeusers
group-name
runschedule
schedule-name
set setting
syncgroup groupname
version
addusers group-name
将 --users 参数中列出的用户添加到具有给定组名称的组中。
示例
tabcmd addusers "Development" --users "users.csv"
选项
选项( 长)
( 短)
--users
参数
说明
将给定文件中的用户添加到指定
组中。该文件应是每行一个用户
filename.csv 名的简单列表。用户应已在
Tableau Server 上创建。另请参见
从 CSV 文件导入用户。
选项
选项( 长)
( 短)
参数
说明
当设置为 complete 时,此选项
要求所有行都必须有效以便更改
成功。如果未指定,则使用 -complete。
--[no-]complete
creategroup group-name
使用给定组名称创建组。创建组后,可使用 addusers( 对于本地组) 和 syncgroup( 对
于 Active Directory 组) 命令来添加用户。
示例
tabcmd creategroup "Development"
createproject project-name
使用给定项目名称创建项目。
示例
tabcmd createproject -n "Quarterly_Reports" -d "Workbooks showing
quarterly sales reports."
选项( 短)
选项( 长)
参数 说明
-n
--name
名称 指定要创建的项目的名称。
-d
--description 说明 为项目指定说明。
createsite site-name
使用给定站点名称创建站点。
示例
创建名为“West Coast Sales”的站点。系统会自动创建站点 ID WestCoastSales,该站
点没有存储配额限制,且站点管理员可以添加和移除用户:
tabcmd createsite "West Coast Sales"
使用 wsales 的站点 ID 创建名为 West Coast Sales 的站点:
tabcmd createsite "West Coast Sales" -r "wcoast"
阻止站点管理员向站点添加用户:
tabcmd createsite "West Coast Sales" --no-site-mode
设置存储配额( 以 MB 为单位) :
tabcmd createsite "West Coast Sales" --storage-quota 100
选
项
选项
(( 长)
短)
参数
说明
-r
--url
站点 ID
在网址中使用以指定站点。不同于站点名称。
-userquota
用户数
添加到该站点的用户的最大数量。
-[no-]
sitemode
允许或拒绝站点管理员向站点添加用户或从中移除用
户。
-storagMB 数
equota
站点上可存储的工作簿、数据提取和数据源的数量,
以 MB 为单位。
createsiteusers filename.csv
此命令使站点管理员可以向站点添加用户。它使用给定逗号分隔值 (csv) 文件在当前
站点中创建用户。该文件可具有按以下顺序显示的各列:
1. Username
2. Password
3. Full Name
4. License Level (interactor/viewer/unlicensed)
5. Administrator (site/none)
6. Publisher( yes/true/1 或 no/false/0)
文件中的列数可能会更少。例如,该文件可以是每行一个用户名的简单列表。当服务
器使用 Active Directory 身份验证时,将忽略 Password 列。如果值包含逗号,则可以使
用引号。有关其他详细信息,请参见 从 CSV 文件导入用户。
示例
tabcmd createsiteusers "users.csv" --license "Interactor" -publishers
选项
选项( 长)
( 短)
参数
说明
--nowait
不等待异步作业完成。
--silentprogress
不显示异步作业的进度消息。
--license
--admintype
Interactor
设置所有用户的默认许可级别。此
、Viewer 或
设置可由 CSV 文件中的值替代。
Unlicensed
Site 或
None
为 CSV 文件中的所有用户分配或删
除站点管理员权限。此设置可由
CSV 文件中的值替代。对于新用
户,默认值为 None;对于现有用户,
默认值不变。无法使用
createsiteusers 创建系统管理
员或将系统管理员降级( 请使用
createusers) 。
--[no-]
publishers
默认情况下,为 CSV 文件中的所有
用户分配或删除“发布”权限。此设置
可由 CSV 文件中的值替代。对于新
用户,默认值为 no;对于现有用户,
默认值不变。
--[no-]
complete
要求( 或者不要求) 所有行都有效以
便更改成功。默认情况下,将使用 -complete 选项。
createusers filename.csv
创建给定逗号分隔值 (csv) 文件中列出的用户。此命令只能由系统管理员使用。该文件
可具有按以下顺序显示的各列:
1. Username
2. Password
3. Full Name
4. License Level (interactor/viewer/unlicensed)
5. Administrator (system/site/none)
6. Publisher( yes/true/1 或 no/false/0)
文件中的列数可能会更少。例如,该文件可以是每行一个用户名的简单列表。当服务
器使用 Active Directory 身份验证时,Password 列应保留为空白。如果值包含逗号,则
可以使用引号。有关其他详细信息,请参见 从 CSV 文件导入用户。
示例
tabcmd createusers "users.csv" --license "Interactor" -publishers
选项
选项( 长)
( 短)
参数
说明
--nowait
不等待异步作业完成。
--silentprogress
不显示异步作业的进度消息。
--license
--admintype
Interactor
设置所有用户的默认许可级别。此
、Viewer 或
设置可由 CSV 文件中的值替代。
Unlicensed
System
、Site 或
None
默认情况下,为 CSV 文件中的所有
用户分配或删除“管理”权限。此设
置可由 CSV 文件中的值替代。对于
新用户,默认值为 None;对于现有
用户,默认值不变。
--[no-]
publishers
默认情况下,为 CSV 文件中的所有
用户分配“发布”权限。此设置可由
CSV 文件中的值替代。对于新用
户,默认值为 no;对于现有用户,默
认值不变。
--[no-]
complete
要求所有行都必须有效以便更改成
功。默认情况下,将使用 -complete 选项。
delete workbook-name/datasource-name
从服务器删除给定工作簿或数据源。此命令按原样使用服务器上的工作簿或数据源的
名称,而不是发布时的文件名。
示例
tabcmd delete "Sales_Analysis"
选项
选项( 长)
( 短)
参数
说明
-r
项目
名称
包含您要删除的工作簿或数据源的项目的
名称。如果未指定,则使用“Default”项目。
--project
工作
--workbook 簿名
称
要删除的工作簿的名称。
数据
-源名
datasource
称
要删除的数据源的名称。
deletegroup group-name
从服务器删除具有给定组名称的组。
示例
tabcmd deletegroup "Development"
deletesite site-name
从服务器删除具有给定站点名称的站点。
示例
tabcmd deletesite "Development"
deleteusers filename.csv
删除给定逗号分隔 (csv) 文件中列出的用户。该文件是每行一个用户名的简单列表。
示例
tabcmd deleteusers "users.csv"
选项
选项( 长)
( 短)
--[no-]
complete
参
说明
数
当设置为 --complete 时,此选项要求所有行
都必须有效以便更改成功。如果未指定,则使
用 --complete。
editsite site-name
允许您更改站点名称或其 Web 文件夹名称。还可使用此命令允许或拒绝站点管理员
添加和移除用户的能力。如果站点管理员拥有用户管理权限,则您可指定他们可向一
个站点添加的用户数量。
示例
tabcmd editsite wc_sales --site-name "West Coast Sales"
tabcmd editsite wc_sales --site-id "wsales"
tabcmd editsite wsales --status ACTIVE
tabcmd editsite wsales --user-quota 50
选项( 长)
参数
--sitename
要将站点更改
显示的站点名称。
到的名称
--site-id
站点变更后的
在网址中使用以特别标识站点。
站点 ID
--userquota
用户数
--[no-]
site-mode
说明
可成为该站点成员的用户的最大数量。
允许或阻止站点管理员向站点添加用户。
--status
活动或已挂起 激活或挂起站点。
-storagequota
MB 数
站点上可存储的工作簿、数据提取和数据
源的数量,以 MB 为单位。
export
从 Tableau Server 导出视图或工作簿,并将其保存到文件。使用此命令时,请注意以下
问题:
l
权限:若要导出,您必须拥有“导出图像”权限。默认情况下,此权限对所有角色
都为“允许”或“继承”,但可针对每个工作簿或视图设置权限。
l
导出的视图、工作簿或数据:可使用工作簿或视图的 URL 中显示的
"workbook/view" 字符串而不使用其“友好名称”进行指定。例如,若要从
Finance 工作簿导出 Investment Growth,可使用字符串
Finance/InvestmentGrowth。如果服务器运行多个站点,且视图或工作簿位
于 Default 站点之外的其他站点上,请使用 -t <site_id>。
若要导出工作簿,仍需在所使用的字符串中包括有效视图。对于上面的示例,若
要导出 Finance 工作簿,可使用字符串 Finance/InvestmentGrowth。最后,若
要导出工作簿,必须已在“Tableau Desktop 发布”对话框中选中“将工作表显示为
选项卡”的情况下发布该工作簿。
l
l
l
已保存文件的格式:格式选项取决于所导出的内容。格式选项取决于所导出的内
容。只能使用 --fullpdf 参数将工作簿导出为 PDF。可以将视图导出为 PDF (-pdf)、PNG (--png),或者可以将视图数据导出为 CSV 文件 (--csv)。
保存的文件的名称和位置( 可选) :如果您不提供名称,则将从视图或工作簿名称
得到名称。如果您不提供位置,则会将该文件保存到当前工作目录。如果您不提
供位置,则会将该文件保存到当前工作目录。否则,您可以指定完整路径或当前
工作目录的相对路径。
PDF 导出中不包含仪表板网页对象:仪表板可以包含网页对象。如果要将包含网
页对象的仪表板导出到 PDF,则 PDF 中将不包括该网页对象。
清除缓存以使用实时数据
您可以选择添加 URL 参数 ?:refresh=yes 强制刷新数据查询而不是从缓存中获取
结果。如果将 tabcmd 与您自己的脚本结合使用,并且大量使用 refresh URL 参数,则
可能会对性能造成负面影响。建议您仅当需要实时数据时才使用 refresh,例如,在
单个仪表板上而不是整个工作簿上。
示例
视图
tabcmd export "Q1Sales/Sales_Report" --csv -f "Weekly-Report"
tabcmd export -t Sales "Sales/Sales_Analysis" --pdf -f
"C:\Tableau_Workbooks\Weekly-Reports"
tabcmd export "Finance/InvestmentGrowth" --png
tabcmd export "Finance/InvestmentGrowth?:refresh=yes" --png
工作簿
tabcmd export "Q1Sales/Sales_Report" --fullpdf
tabcmd export -t Sales "Sales/Sales_Analysis" --fullpdf -pagesize tabloid -f "C:\Tableau_Workbooks\Weekly-Reports"
选项
选项( 长)
( 短)
-f
参数
说明
--filename 用于另存文件的名称
使用给定文件名
保存文件。
--csv
仅视图。以 CSV
格式导出视图数
据。
--pdf
仅视图。导出为
PDF。
--png
仅视图。导出为
PNG 格式的图像。
--fullpdf
仅工作簿。导出为
PDF。必须已
在“将工作表显示
为选项卡”已启用
的情况下发布该
工作簿。
-landscape, portrait
pagelayout
设置所导出的
PDF 的页面方向。
如果不指定,则将
使用其 Tableau
Desktop 设置。
unspecified, letter,
legal, note folio,
tabloid, ledger,
--pagesize
statement, executive,
a3, a4, a5, b4, b5,
quatro
设置所导出的
PDF 的大小。默认
值为 letter。
--width
像素数
设置宽度。默认值
为 800 像素。
--height
像素数
设置高度。默认值
是 600 像素。
get url
将一个 URL 字符串用作其参数之一,发出 Tableau Server 的 HTTP“GET”请求。将以文
件的形式返回结果。使用此命令时,请注意以下问题:
l
权限:若要获取文件,您必须拥有“下载/另存到 Web”权限。默认情况下,此权限
对所有角色都为“允许”或“继承”,但可针对每个工作簿或视图设置权限。
l
l
l
文件扩展名:您要获取的文件的 URL 字符串必须包含文件扩展名,如
"/views/Finance/InvestmentGrowth.pdf"。扩展名( 例如 .pdf) 决定了返
回的内容。可以 PDF、PNG、CSV( 仅数据) 或 XML( 仅信息) 格式返回视图。可以
TWB 或 TWBX 形式返回工作簿。可以 TWB 或 TWBX 形式返回工作簿。若要确定
应使用的正确扩展名,可使用 Web 浏览器导航到 Tableau Server 中您感兴趣的
项,然后向 URL 末尾添加文件扩展名。
保存的文件的名称和位置( 可选) :用于 --filename 的名称应包含该文件扩展
名。如果您不提供名称和文件扩展名,则这两个名称都将从 URL 字符串得到。如
果您不提供位置,则会将该文件保存到当前工作目录。否则,您可以指定完整路
径或当前工作目录的相对路径。
PNG 大小( 可选) :如果保存的文件是 PNG,您可以在 URL 中指定该大小( 以像素
为单位) 。
清除缓存以使用实时数据
您可以选择添加 URL 参数 ?:refresh=yes 强制刷新数据查询而不是从缓存中获取
结果。如果将 tabcmd 与您自己的脚本结合使用,并且大量使用 refresh URL 参数,则
可能会对性能造成负面影响。建议您仅当需要实时数据时才使用 refresh,例如,在
单个仪表板上而不是整个工作簿上。
示例
视图
tabcmd get "/views/Sales_Analysis/Sales_Report.png" --filename
"Weekly-Report.png"
tabcmd get "/views/Finance/InvestmentGrowth.pdf" -f
"Q1Growth.pdf"
tabcmd get "/views/Finance/InvestmentGrowth.csv"
tabcmd get "/views/Finance/InvestmentGrowth.png?:size=640,480" -f
growth.png
tabcmd get "/views/Finance/InvestmentGrowth.png?:refresh=yes" -f
growth.png
工作簿
tabcmd get "/workbooks/Sales_Analysis.twb" -f "C:\Tableau_
Workbooks\Weekly-Reports.twb"
tabcmd get "/workbooks/Sales.xml"
其他
tabcmd get "/users.xml" --filename "UserList.xml"
选项
( 短)
选项( 长)
参数
说明
-f
-filename
用于另存文件的名
称
使用给定文件名保存文
件。
listsites
返回已登录用户所属站点的列表。
示例
tabcmd listsites -u corman -pw P@ssword!
login
使用户登录到 Tableau Server。可使用 --server、--site、--username、-password 全局选项来创建会话。果要使用创建会话时使用的相同信息进行登录,只
需指定 --password 选项。将使用 cookie 中存储的服务器和用户名。
如果服务器正在使用 80( 默认端口) 之外的其他端口,则需要指定该端口。
仅当服务器正在运行多个站点,并且您要登录到 Default 站点之外的其他站点时,才需
要使用 --site (-t) 选项。如果未提供密码,则会提示您输入密码。如果指定了 --noprompt 选项并且未提供密码,则该命令将失败。
登录后,该会话将继续进行,直到其在服务器上过期或 logout 命令运行。
示例
使您登录到本地计算机上运行的 Tableau Server:
tabcmd login -s http://localhost -u jsmith -p p@ssw0rd!
使您登录到 sales-server 上的 Sales 站点:
tabcmd login -s http://sales-server -t Sales -u administrator -p
p@ssw0rd!
tabcmd login -s http://sales-server:8000 -t Sales -u
administrator -p p@ssw0rd!
使您使用 SSL 登录到 sales-server 上的 Sales 站点:
tabcmd login -s https://sales-server -t Sales -u administrator -p
p@ssw0rd!
为 localhost 建立正向代理和端口:
tabcmd login --proxy myfwdproxyserver:8888 -s http://localhost -u
jsmith -p p@ssW0rd!
使您使用 SSL 登录到反向代理:
tabcmd login -s https://myreverseproxy -u jsmith -p p@ssW0rd!
选项
( 短)
-s
选项( 长)
参数
Tableau
--server Server 的
URL
说明
如果您正在从 Tableau Server 计算机
运行命令,则可以使用
http://localhost。否则,指定计算机的
URL,例如
http://bigbox.myco.com 或
http://bigbox。
该站点的站点 ID。这就是网址中用
来特别标识站点的 ID。 例如,名为
Tableau
West Coast Sales 的站点的 ID 可能为
Server 站
WestCoastSales。如果服务器正在运
点的站点
行多个站点,并且您要登录到
ID
Default 站点之外的其他站点,则使
用此选项。
-t
--site
-u
Tableau
-Server
Tableau Server 用户的用户名。
username
username
-p
Tableau
-Server
password
password
Tableau Server 用户的密码。如果未
提供密码,则会提示您输入密码。
-x
--proxy
Host:Port
用于指定 tabcmd 请求的 HTTP 代理
服务器和端口。
--noprompt
不提示输入密码。如果未指定密码,
则 login 命令将失败。
--noproxy
请勿使用 HTTP 代理服务器。
--[no-]
cookie
登录时保存会话 ID。后续命令将不
需要登录名。默认情况下启用
Cookie (--cookie)。
-timeout
SECONDS
秒数
处理 login 命令前服务器应等待的
秒数。默认值:30 秒。
logout
从服务器注销。
示例
tabcmd logout
publish filename.twb(x)/filename.tds(x)/filename.tde
将给定工作簿 (.twb(x))、数据源 (.tds(x)) 或数据提取 (.tde) 发布到 Tableau Server。默认
情况下,无需数据库用户名和密码即可发布工作簿中的所有工作表。
示例
tabcmd publish "analysis.twbx" -n "Sales_Analysis" --db-user
"jsmith" --db-password "p@ssw0rd"
选项
( 短)
选项( 长)
参数
说明
-n
--name
服务
器上
工作
簿或
数据
源的
名称
如果省略,则工作簿、数据源或数
据提取将以文件名来命名。
-o
--overwrite
-r
--project
如果服务器上已存在该工作簿、
数据源或数据提取,则将其覆盖。
项目
名称
将工作簿、数据源或数据提取发
布到指定项目。如果未指定,则发
布到“Default”项目。
--dbusername
使用此选项可将数据库用户名与
工作簿、数据源或数据提取一起
发布。
--dbpassword
使用此选项可将数据库密码与工
作簿、数据源或数据提取一起发
布。
--save-dbpassword
将提供的数据库密码存储在服务
器上。
-thumbnailusername
如果工作簿中包含用户筛选器,
则将基于指定用户可看到的内容
生成缩略图。设置 --
选项
( 短)
选项( 长)
参数
说明
thumbnail-group 选项后,无法
指定此选项。
-thumbnailgroup
如果工作簿中包含用户筛选器,
则将基于指定组可看到的内容生
成缩略图。设置 --thumbnailusername 选项后,无法指定此
选项。
--tabbed
发布带有选项卡式视图的工作簿
时,每个工作表都成为一个选项
卡,查看者可以使用这些选项卡
在工作簿中导航。请注意,此设置
将替代任何工作表级安全设置。
--append
将数据提取文件附加到现有的数
据源中。
--replace
使用数据提取文件替换现有的数
据源。
--disableuploader
禁用增量文件上传器。
--disabletdecompression
停止压缩数据提取文件,直到上
传完成。
--restart
重新启动文件上传过程。
如果工作簿中包含用户筛选器,则必须指定一个缩略图选项。
refreshextracts workbook-name/datasource-name
对属于指定工作簿或数据源的数据提取执行完全或增量刷新。此命令使用服务器上显
示的工作簿或数据源的名称,而不使用发布时的文件名。
示例
tabcmd refreshextracts --datasource sales_ds
tabcmd refreshextracts --workbook "My Workbook"
tabcmd refreshextracts --url SalesAnalysis
选项
选项( 长)
( 短)
参数
说明
-incremental
运行增量刷新操作。
-synchronous
立即在前台运行完全刷新操作。
--workbook
工作
簿名
称
包含要刷新的数据提取的工作簿的名
称。如果工作簿名称中含有空格,请将名
称放入引号内。
-datasource
数据
源名
称
包含要刷新的数据提取的数据源的名
称。
--project
项目
名称
与 --workbook 或 --datasource 结合
使用可确定 Default 以外的项目中的工作
簿或数据源。如果未指定,则使
用“Default”项目。
--url
工作
簿的
URL
名称
显示在 URL 中的工作簿的名称。发布
为“Sales Analysis”工作簿的 URL 名称
为“SalesAnalysis”。
removeusers group-name
从具有给定组名称的组删除 --users 参数中列出的用户。
示例
tabcmd removeusers "Development" --users "users.csv"
选项
选项( 长)
( 短)
--users
参数
说明
filename.csv
从指定的组删除给定文件中的用户。该
文件应是每行一个用户名的简单列表。
--[no-]
complete
要求所有行都必须有效以便更改成功。
如果未指定,则使用 --complete。
runschedule schedule-name
运行指定的计划。此命令按原样使用服务器上的计划名称。
示例
tabcmd runschedule "5AM Sales Refresh"
set setting
在服务器上启用指定设置。服务器的“维护”页面上提供了有关各项设置的详细信息。
在设置名称前使用感叹号可禁用该设置。可启用或禁用以下设置:
l
embedded_credentials
l
public_users_list
l
remember_passwords_forever
示例
tabcmd set embedded_credentials
syncgroup group-name
将具有给定组名称的组与 Active Directory 同步。此命令还可用于在服务器上创建基于
现有 Active Directory 组的新组。
示例
tabcmd syncgroup "Development"
选项
选项( 长)
( 短)
--license
参数
说明
viewer
为组中的所有用户设置许可级
interactor
别。
unlicensed
-system
administrator site none
为组中的所有用户分配或删
除“管理员”权限。管理员用户类
型可以是“系统”、“站点”或“无”。
默认值为“无”( 新用户不会获得
管理员权限) ,现有用户保持不
变。
--[no-]
publisher
为组中的所有用户分配或删
除“发布”权限。如果未指定,则将
不向新用户分配此权限,且现有
用户的权限不变。
选项
选项( 长)
( 短)
参数
说明
--[no-]
complete
要求所有行都必须有效以便更改
成功。如果未指定,则使用 -complete。
--silentprogress
禁止显示进度消息。
version
打印 tabcmd 实用工具的当前安装的版本信息。
示例
tabcmd version
tabadmin
您可以使用 tabadmin 命令行工具执行某些管理任务以及更改 Tableau Server 配置设
置。若要访问此工具,请以管理员身份打开命令提示符,并使用下面的命令更改目录:
32 位:cd "C:\Program Files\Tableau\Tableau Server\8.0\bin"
64 位:cd "C:\Program Files (x86)\Tableau\Tableau Server\8.0\bin"
若要查看所有可用 tabadmin 命令的列表,请键入以下内容:
tabadmin help commands
有关更多信息,请参见以下主题:
tabadmin set
一个最常用的 tabadmin 命令是 tabadmin set,使用此命令,可以更改 Tableau Server
配置选项的值。语法如下:
tabadmin set option-name value
若要使用此命令,请执行以下操作:
1. 停止服务器。
2. 键入 tabadmin set,后跟选项名称和值。
例如,若要将 tabadmin 选项 backgrounder.querylimit 的默认值从 7200 秒( 2 小时,
默认值) 更改为 9000 秒,请键入以下内容:
tabadmin set backgrounder.querylimit 9000
如果所设置选项的值以连字符开始,请使用嵌套引号:
tabadmin set option-name "'-value'"
tabadmin set option-name "'-value1 -value2'"
3. 使用 tabadmin set 后,输入 configure 命令:
tabadmin configure
4. 最后,启动 Tableau Server。
tabadmin 设 置 选 项
使用下表可了解您可以使用 tabadmin set 命令配置的 Tableau Server 选项的更多信息。
有关完整的端口列表,请参见 TCP/IP 端口。
选项
默认值
说明
auditing.enabled
true
允许访问 PostgreSQL( Tableau Server 自己
的数据库) 历史审计表。有关详细信息,请
参见创建自定义管理视图。
backgrounder.querylimit
7200
完成一次数据提取刷新的最长允许时间,
以秒为单位( 7200 秒 = 2 小时) 。
dataengine.port
27042
数据引擎的运行端口。
dataserver.port
9700
数据服务器的运行端口。
gateway.public.host
计算机名称
服务器的典型名称,用于对 Tableau Server
进行外部访问。如果将 Tableau Server 配置
为使用代理服务器,则该名称是代理服务
器( 而不是 Tableau Server) 的典型名称。
gateway.public.port
80( 如果是
SSL,则为
443)
仅适用于代理服务器环境。代理服务器所
侦听的外部端口。
gateway.timeout
1800
网关在请求失败前等待特定事件的最长时
间,以秒为单位( 1800 秒 = 30 分) 。
gateway.trusted
代理服务器计
仅适用于代理服务器环境。代理服务器的
算机的 IP 地
IP 地址。
址
gateway.trusted_hosts
代理服务器的 仅适用于代理服务器环境。代理服务器的
备用名称
任何备用主机名。
java.heap.size
128m
Tomcat 堆( 存储库和 solr) 的大小。除非
Tableau 提供建议,通常无需更改此选项。
pgsql.port
8060
PostgreSQL 所侦听的端口。
rsync.timeout
600
完成文件同步所允许的最长时间( 以秒为
单位) ( 600 秒 = 10 分钟) 。文件同步在配置
高可用性或移动数据引擎和存储库的过程
中发生。
service.jmx_enabled
false
设置为 true 则可将 JMX 端口用于可选的
监视和故障排除。有关详细信息,请参见
启用 JMX 端口。
service.max_procs
进程数
最大服务器进程数。
选项
默认值
说明
subscriptions.enabled
false
控制是否可在系统范围内配置订阅。请参
见管理订阅。
subscriptions.timeout
1800
处理订阅的后台进程超时后的秒数。
solr.port
8080
solr 所侦听的端口。此值必须与
tomcat.http.port 的值相同。
tomcat.http.port
8080
Tomcat 的运行端口。
tomcat.https.port
8443
Tomcat 的 SSL 端口( 未使用) 。
tomcat.server.port
8085
tomcat 侦听关机消息的端口。
vizqlserver.browser.render true
低于由
vizqlserver.browser.render_
threshold 或
vizqlserver.browser.render_
threshold_mobile 设置的阈值的视图由
客户端 Web 浏览器( 而非服务器) 呈现。有
关详细信息,请参见关于客户端呈现。
vizqlserver.browser.rende100
r_threshold
默认值 (100) 表示个人电脑上显示的视图
的高复杂度。复杂度因素包括标记数、标
题数、参考线数和注释数。高于此复杂度
的视图由服务器呈现,而不是个人电脑的
Web 浏览器。
vizqlserver.browser.rende20
r_threshold_mobile
默认值 (20) 表示平板电脑上显示的视图的
高复杂度。复杂度因素包括标记数、标题
数、参考线数和注释数。高于此复杂度的
视图由服务器呈现,而不是平板电脑的
Web 浏览器。
vizqlserver.port
9100
VizQL 服务器的基本端口。
vizqlserver.protect_
sessions
true
当设置为 true( 默认值) 时,可防止 VizQL
会话在原始用户注销后被重用。
vizqlserver.querylimit
1800
更新视图的最长允许时间,以秒为单位。
vizqlserver.session.expiry.5
minimum
VizQL 进程开始内存不足的情况下允许丢
弃 VizQL 会话前的空闲时间分钟数。
vizqlserver.session.expiry.t30
imeout
丢弃 VizQL 会话前的空闲时间分钟数。
vizqlserver.showdownload true
控制视图上方“下载”按钮的显示。
vizqlserver.showshare
控制视图上方“共享”按钮的显示。
true
vizqlserver.trustedticket.loinfo
g_level
受信任的身份验证的日志记录级别,写入
选项
默认值
说明
ProgramData\Tableau\Tableau
Server\data\tabsvc\logs\vizqlserver\vizql-*.log。若要获取更多信息,
请设置为 debug。
历史事件记录从 PostgreSQL 数据库
( Tableau Server 自己的数据库) 删除后的天
数。有关详细信息,请参见创建自定义管
理视图。
wgserver.audit_history_
expiration_days
183
wgserver.domain.fqdn
%USERDOM- 要使用的 Active Directory 服务器的完全限
AIN% 的值
定域名。
wgserver.password_
autocomplete.enabled
false
控制是否允许 Web 浏览器自动填充密码字
段。
wgserver.session.idle_limit 240
登录 Web 应用程序发生超时前的空闲时间
分钟数。
wgserver.show_view_
titles_not_names
只有从版本 6.0 或更低版本升级到 7.0 后,
才能使用此选项。真值将保留早期行为并
使 Tableau Server 将视图标题显示为其标
识符( 例如,在搜索结果中) ;伪值会使服务
器将视图名称显示为其标识符。
true
此选项会为您要接受其受信任请求的计算
机获取一个逗号分隔的受信任 IP 地址( 非
主机名) 列表。如果要将 Web 服务器与
Tableau Server 放在同一台计算机上,则常
见值为 127.0.0.1。此选项可在嵌入视图时
在 Web 服务器与 Tableau Server 之间建立
受信任关系时使用。
wgserver.trusted_hosts
workerX.gateway.port
80( 如果是
SSL,则为
443)
Apache 为 workerX 进行侦听的外部端
口。worker0.gateway.port 是 Tableau Server
的外部端口。在分布式环境中,worker0 是
主 Tableau Server。
workerX.vizqlserver.procs
进程数
VizQL 服务器数。
workerX.vizqlserver.port
9100
workerX 上用于 vizQL 服务器的基本端口。
workerX.wgserver.port
8000
workerX 上用于 Web 应用程序服务器的基
本端口。
workerX.wgserver.procs
处理器数
Web 应用程序服务器进程数。
将设置恢复为默认值
通过执行以下操作,可恢复 Tableau Server 配置设置的默认值:
1. 停止服务器。
2. 还是在 bin 目录中,通过键入以下内容恢复特定设置的默认值:
tabadmin set option-name --default
例如,若要将 tabadmin vizqlserver.session.expiry.timeout 选项设置回其默认值 30
分钟,请键入以下内容:
tabadmin set vizqlserver.session.expiry.timeout --default
或者,可以使用较短的 -d 命令。例如:
tabadmin set vizqlserver.querylimit -d
3. 然后运行 configure 命令:
tabadmin configure
4. 启动服务器。
tabadmin stop
若要使用 tabadmin 停止 Tableau Server,请执行以下操作:
1. 以管理员身份打开命令提示符:
2. 键入以下命令:
64 位:cd "C:\Program Files (x86)\Tableau\Tableau
Server\8.0\bin"
32 位:cd "C:\Program Files\Tableau\Tableau Server\8.0\bin"
3. 键入以下命令停止服务器:
tabadmin stop
tabadmin start
若要使用 tabadmin 启动 Tableau Server,请执行以下操作:
1. 以管理员身份打开命令提示符:
2. 键入以下命令:
64 位:cd "C:\Program Files (x86)\Tableau\Tableau
Server\8.0\bin"
32 位:cd "C:\Program Files\Tableau\Tableau Server\8.0\bin"
3. 键入以下命令启动服务器:
tabadmin start
数据库维护
可使用 tabadmin 命令行工具备份和还原 Tableau 数据。Tableau 数据包括 Tableau
Server 自己的 PostgreSQL 数据库,其中存储工作簿和用户元数据、数据提取 (.tde) 文
件以及服务器配置数据。若要自动备份此数据,可使用以下主题中介绍的命令以及内
置的 Windows 任务计划程序。
备 份 Tableau 数 据
对 Tableau 数据进行备份十分重要,这样就可以在发生系统故障时还原已发布的视图
和其他信息。Tableau Server 管理的数据包含 Tableau 自己的 PostgreSQL 数据库,其中
包含工作簿和用户元数据、数据提取 (.tde) 文件以及配置数据。创建备份时,所有这些
内容全都放置在一个扩展名为 .tsbak 的文件中。如果运行 Tableau Server 的分布式安
装,此步骤将在主服务器上执行,即使处理 .tde 文件的数据引擎位于工作服务器上也
是如此。因此为了使其成为有效备份,请确保将 .tsbak 存储在 Tableau Server 计算机以
外的计算机上。
可以使用下面的步骤创建 .tsbak 文件。Tableau 卸载,这是升级到新版本的第一个步
骤,也会自动创建 .tsbak 文件。该 .tsbak 文件可用于自动将数据迁移到较新版本。
运行 backup 命令还将移除早于七天的 Tableau Server 日志文件以及显示在特定
Tableau Server 管理视图 中的一些信息。
1. 以管理员身份打开命令提示符,然后键入以下内容:
32 位:cd "C:\Program Files\Tableau\Tableau Server\8.0\bin"
64 位:cd "C:\Program Files (x86)\Tableau\Tableau
Server\8.0\bin"
2. 通过键入 tabadmin backup <filename> --stop-server 创建备份文件,
其中 <filename> 是备份文件的名称或位置和名称。例如:
tabadmin backup tabserver --stop-server
或
tabadmin backup C:\backups\tableau\tabserver --stop-server
--stop-server 选项用于停止服务器以进行备份,并在备份完成时重新启动服
务器。如果要进行简单备份,则必须使用此选项或 --unsafe 选项,以在当服务
器正在运行时进行备份。属于批处理操作一部分的备份不需要这些选项。
您还可以选择使用 -d 将当前日期追加到文件名和 -t,后跟路径,以指定备份过
程中创建的临时文件的位置。例如:
tabadmin backup tabserver --stop-server -d -t
C:\mytemp\tableau
还原备份内容
进行还原时,备份文件 (.tsbak) 中的内容将覆盖 Tableau PostgreSQL 数据库、数据提取
以及配置文件的内容。如果您运行的是 Tableau Server 的分布式安装,那么此步骤会在
主 Tableau Server 上执行。
从数据库备份文件进行还原:
1. 通过键入以下命令来停止服务器:
tabadmin stop
2. 通过键入以下命令从备份文件还原数据库:
tabadmin restore <filename>
在上面的行中,将 <filename> 替换为要用来进行还原的备份文件的名称。
要仅还原数据而不还原配置设置,请键入以下命令:
tabadmin restore --no-config <filename>
3.
通过键入以下命令来重新启动 Tableau Server 进程:
tabadmin start
还原备份内容中的数据提取
创建 uninstall-<version>.tsbak 文件( 例如 uninstall-7.0.tsbak) 是卸载过程中的一个操作。
升级到版本 8.0之后,可使用此文件来还原数据提取,例如您在升级过程中意外删除了
dataengine 文件夹时。若要使用 uninstall-<version>.tsbak 还原数据提取,请执行以下操
作:
1. 停止服务器。
2. 在 Tableau Server 8.0 版的 bin 目录中键入以下命令:
Windows Server 2012、Windows Server 2008、Windows Vista、Windows 7、Windows
8:tabadmin restore \ProgramData\Tableau\Tableau
Server\uninstall-7.0.tsbak
64 位 Windows Server 2003:tabadmin restore \Program Files (x86)
\Tableau\Tableau Server\uninstall-7.0.tsbak
32 位 Windows Server 2003:tabadmin restore \Program
Files\Tableau\Tableau Server\uninstall-7.0.tsbak
疑难解答
使用 Tableau Server遇到问题时,可以使用以下主题来解决。有关受信任的身份验证方
面的问题解答提示,请参见受信任的身份验证疑难解答:
日志和临时文件
Tableau Service 会生成多个日志和临时文件,可帮助您了解和跟踪最近的活动,帮助
对产生的任何问题进行调试。如果需要节省硬盘空间,可以不时删除这些文件。
若要了解日志文件的位置、用途、如何存档以及如何通过运行清理命令节省空间,请
参见以下主题。
日志文件位置
Tableau Server 日志文件位于以下文件夹中:
Tableau Service 日志
以下日志文件对与 Web 应用程序、数据库和索引有关的活动进行跟踪:
C:\ProgramData\Tableau\Tableau Server\data\tabsvc
VizQL 日志
这些日志文件跟踪与显示视图有关的活动( 如查询数据库和生成图像) :
C:\ProgramData\Tableau\Tableau
Server\data\tabsvc\vizqlserver\Logs
临 时 文件
下面的文件夹中所有以 exe_ 开始的文件都是 Tableau Server 文件,可以删除。
C:\ProgramData\Tableau\Tableau Server\temp
对日志文件进行存档
可以使用 ziplogs 命令对 Tableau Server 日志文件进行存档。此命令创建一个包含所有
日志文件的 zip 文件,在使用 Tableau 支持时,这十分有用。ziplogs 命令不删除日志文
件,而是将这些文件复制到 zip 文件中。如果您运行的是 Tableau Server 的分布式安
装,则此步骤在主服务器上执行。zip 文件将包含所有工作服务器日志。
1. 以管理员身份打开命令提示符,转到 Tableau Server 的 bin 目录。例如:
32 位:cd "C:\Program Files\Tableau\Tableau Server\8.0\bin"
64 位:cd "C:\Program Files (x86)\Tableau\Tableau
Server\8.0\bin"
2. 通过键入以下命令停止 Tableau Server:
tabadmin stop
3. 通过键入 tabadmin ziplogs -l -n <filename> 创建 zip 文件,其中
<filename> 是要创建的 zip 文件的名称。选择一个唯一名称( 不带空
格) 。Tableau 不会覆盖现有文件。例如:
tabadmin ziplogs -l -n my_logs
如果不指定文件名,则文件名为 logs.zip。也可以使用 -d mm/dd/yyyy 包括
自某个日期开始生成的日志。例如:
tabadmin ziplogs -l -n -d 02/14/2013
上述命令会创建名为 logs.zip 的 zip 文件,该文件包含从 2012 年 2 月 14 日至
今的日志( 不包括更早的日志) 。-n 选项用于捕获有关服务器环境的信息,包括所
使用的端口。若要查看所有 ziplogs 选项的列表,请键入 tabadmin ziplogs h。
4. 通过键入以下命令重新启动 Tableau Server:
tabadmin restart
在 Tableau Server 的 bin 目录中可以找到经过压缩的日志文件。
删除日志文件
cleanup 命令将移除七天前的 Tableau Server 进程日志和 HTTP 表条目以节省空间。
这将影响 Tableau Server 管理视图 中显示的一些信息。
l
在命令提示符处,键入以下命令:
tabadmin cleanup --restart
通常,在运行此命令前应将服务器关闭。不过,如果服务器正在运行,则应
包括 --restart 选项以确保成功清理和恢复。
处理未许可的服务器
Tableau 提供了两种许可模型:基于用户和基于内核。基于用户的许可要求每个活动用
户帐户都需要有一个许可证。基于用户的许可证具有定义的容量或它所允许的用户数
目。每个用户在服务器上都分配有唯一用户名,在连接到服务器时需要进行身份识
别。软件可以安装在一台计算机上,也可以在分布式服务器环境中的任意多台计算机
上进行分布式安装。
基于内核的许可对系统中用户帐户的数目没有限制,但会限制 Tableau Server 能够使
用的处理器内核的最大数目。您可以将服务器安装在一台计算机上或安装在多台计算
机上以创建一个群集,但所有计算机上内核的总数不能超出获得许可的内核数目,并
且特定计算机上的所有内核都要拥有许可证。
未许可的基于用户的服务器
进行基于用户的许可的服务器未获得许可的最常见原因是产品密钥过期或维护合同
过期。通过选择“开始”>“所有程序”>“Tableau Server”>“管理产品密钥”,可以查看产
品密钥和添加新密钥。
未许可的基于内核的服务器
基于内核的服务器可出于多种原因而未获得许可。其中一个常见问题是主计算机或工
作计算机的内核数超出了许可证允许的数目。当服务器未获得许可时,您可能无法启
动或管理该服务器。不过,您可以使用 tabadmin 命令行工具来管理许可证。按以下步
骤操作可查看您的许可证列表和计算机内核数。
1. 打开命令提示符,然后键入以下内容:cd C:\Program Files (x86)
\Tableau\Tableau Server\8.0\bin
2. 键入以下命令:tabadmin licenses.
处 理 未 许 可 的 VizQL Server 进 程
Tableau Server“维护”页面上有若干状态指示器,有助于您了解 Tableau Server 进程的
状态。如果出现 “未许可”橙色状态框,则表示某个 VizQL 服务器进程无法检索 Tableau
Server 许可证信息。
可能有若干原因造成进程无法访问此信息。例如,可能存在网络问题,使得工作计算
机上运行的 VizQL 进程无法与主计算机通信。或者,该进程收到的请求数可能超出了
其当时的接受能力,导致无法处理许可请求。这造成一些用户可以访问视图,而另一
些用户则不能访问。
若要解决该问题,请先停止再启动 Tableau Server。
VizQL“内 存 不 足 ”错 误
如果 VizQL 进程达到了同时查看的会话数的限制,则可能出现“内存不足”错误,该错误
还会写入位于以下位置的 vizqlserver*.txt 日志:
C:\ProgramData\Tableau\Tableau
Server\data\tabsvc\vizqlserver\Logs
出现此错误时,VizQL 进程不会终止,但不再接受更多连接。可以通过以下方法来处理
此问题:
l
l
增加 VizQL 进程数:这可能意味着您需要添加一个或多个工作服务器。有关如何
完成这一操作的信息,请参见安装和配置工作服务器。
编辑 vizqlserver.session.expiry.timeout:使用 tabadmin 更改
vizqlserver.session.expiry.timeout 设置,将其默认值( 30 分钟) 改为较短的时段,例
如 10 分钟或 5 分钟。这将使得空闲会话更快到期,从而释放内存用于新会话。
Cookie 限 制 错 误
用户登录到 Tableau Server 时,会话 Cookie 会存储到他们的本地浏览器中。Tableau
Server 利用存储的 Cookie 来保留通过身份验证且可访问服务器的已登录用户。由于
Cookie 设置的域或子域与浏览器地址栏中的域或子域相同,因此该 Cookie 被认定为第
一方 Cookie。如果用户浏览器配置为阻止第一方 Cookie,则它们将无法登录到 Tableau
Server。
如果用户通过嵌入式视图或在配置了受信任的身份验证的环境中登录到 Tableau
Server,则会发生同样的情况:系统会存储此 Cookie。但在这种情况下,浏览器会将此
Cookie 当做第三方 Cookie 来处理。这是由于 Cookie 设置的域与浏览器地址栏中显示
的域不同。如果用户 Web 浏览器设置为阻止第三方 Cookie,则此 Cookie 将无法通过
Tableau Server 所需的身份验证。要避免出现这种情况,Web 浏览器必须配置为允许第
三方 Cookie。
数据源疑难解答
对于使用 Tableau Server 数据源的用户,最多需要满足三个条件:
l
l
l
数据源的权限:任何连接到数据源的人员必须同时具有该数据源的“连接”和“查
看”权限。这同样适用于访问与数据源相连的视图的用户。任何人要发布和修改
数据源,都必须获得“发布”许可并具有写入/另存为和下载/另存到 Web 的权限。
有关更多信息,请参见使用权限和设置数据源的权限。
能够通过数据库身份验证:您可通过多种方式连接到 Tableau 中的数据并控制谁
可以访问哪些数据。基本上,无论哪个实体要连接数据库,都必须能够通过身份
验证。该实体可以是执行数据提取刷新的 Tableau Server。该实体可以是连接到
数据源随后再连接到实时数据库的 Tableau Desktop 用户。该实体还可以是要访
问连接到实时数据库的视图的 Tableau Server 用户。若要了解这些选项的更多信
息,请参见数据安全。
数据库驱动程序:如果在 Tableau Desktop 中创建和发布数据源的人需要安装其
他数据库驱动程序,则您可能也需要在 Tableau Server 上安装这些驱动程序。如
果您正在运行分布式安装的 Tableau Server,例如,数据服务器进程在工作服务
器上运行,则必须在该工作服务器上和主服务器上安装任何需要的数据库驱动
程序。其他进程也需要驱动程序。有关更多信息,请参见数据库驱动程序。
数据源错误消息
下面是工作簿作者和其他用户使用数据源和视图时可能遇到的一些错误:
访问此 Tableau Server 数据源的权限被拒绝:连接到数据源需要拥有“连接”权限。有关
更多信息,请参见使用权限和设置数据源的权限 。
未找到数据源:如果已从 Tableau Server 中删除数据源,或者使用视图的用户的“连接
到数据”页面需要更新,则该用户可能会看到此错误。若要更新 Tableau Desktop 中
的“连接到数据”页面,请单击“刷新”图标:
无法连接到此 Tableau Server 数据源:如果数据源的连接信息已发生改变( 例如,由于
数据库服务器名称已更改) ,则可能会出现此错误。检查该数据源的“数据连接”信息并
确认其设置正确。
无法列出 Tableau Server 数据源:如果用户尝试访问 Tableau Server 数据源且 Tableau
Server 和 Tableau Desktop 之间存在连接问题,则可能发生此错误。
无法连接到多维数据集数据源:不支持与多维数据集数据源( 如 MSAS) 的连接。数据
必须是数据提取或与关系数据库的实时连接。
订阅疑难解答
“此 电 子 邮 件 中 的 视 图 快 照 无 法 正 确 呈 现 。”
如果您接收的订阅出现此错误消息,可能是由以下几种原因导致的:
l
l
l
缺失凭据:某些视图是与嵌入式凭据一起发布的。如果嵌入式凭据现已过时或视
图并未与嵌入式凭据一起发布,则您可能会收到以上错误消息。
数据库暂时瘫痪:如果视图具有实时数据库连接,且数据库在生成订阅时暂时瘫
痪,则您可能会收到以上错误消息。
后台进程超时:默认情况下,处理订阅的后台进程如果在 30 分钟后还未完成,就
算超时。大部分情况下,30 分钟足够了。但如果后台进程在处理极大且非常复杂
的仪表板,30 分钟可能就不够。您可以检查后台任务管理视图,看看是否出现了
这种情况。要提高超时阈值,请使用 tabadmin 选项 subscriptions.timeout。
无法订阅
如果您在 Tableau Server 上可以看到视图并且该视图的右上角有一个订阅图标 ( ),则
您可以订阅该视图。
需要存在以下两项,您才能订阅视图:需要正确配置 Tableau Server( 请参见管理订
阅) ,并且您订阅的视图必须已嵌入其数据源的凭据或者根本不需要凭据。后一种情况
的示例连接到不需要刷新的数据提取的工作簿,或其数据位于发布时工作簿附带的文
件中的工作簿。嵌入凭据的步骤在 Tableau Desktop 中执行( 有关详细信息,请参见
Tableau Desktop 帮助) 。
没有订阅图标
可以在 Tableau Server 上看到视图但无法订阅它。具有实时数据库连接的视图会出现
这种情况,当您首次单击该视图时,会提示您提供数据库凭据。订阅包括视图( 或工作
簿) 、数据和计划。为了交付数据,Tableau Server 需要嵌入式数据库凭据或不需要凭据
的数据。至于实时数据库连接,Tableau Server 没有相关凭据,只有单个用户拥有凭
据。这就是为什么您只能订阅不需要凭据或已嵌入凭据的视图的原因所在。
如果 Tableau Server 配置为使用受信任的身份验证,您也可能可以看到视图但无法订
阅它( 没有订阅图标) 。有关更多信息,请参见订阅要求。
接 收 的 订 阅 无 效 或 “破 损 ”
如果除了生产实例,您还配置了 Tableau Server 测试或开发实例上的订阅,请禁用非生
产实例上的订阅。在所有实例上将订阅保持为启用状态会导致您用户接收到看起来有
效但实际无法运作的订阅,或接收到已在视图或工作簿上取消的订阅。
订 阅 没 有 到 达 ( “发 送 电 子 邮 件 时 出 错 。无 法 向 SMTP 主 机 发 送 命 令 。”)
如果订阅显示为已发送( 根据后台任务管理视图) 但没有到达,并且您的 SMTP 服务器
使用的是加密 (SSL) 会话,您可能会在 Windows 事件查看器中看到以上错误消息。订
阅只支持未加密的 SMTP 连接。解决方案是使用未加密的 SMTP 服务器。
JavaScript API
With Tableau's JavaScript API you can integrate Tableau visualizations into your own web
applications. The API lets you tightly control your users' interactions and combine functionality
that otherwise couldn't be combined. For example, you can code a single control that filters a
group of marks, selects some of those marks, and presents their data for download. See the
topics below for details:
l
Requirements
l
Concepts
l
Tutorial
l
API Reference
Requirements
The requirements for Tableau's JavaScript API are as follows:
Tableau Server: To program with Tableau's JavaScript API you need Tableau Server,
version 8.0 or higher. The API is powered by the file tableau_v8.js, which is located in the
following folder: Program Files (x86)\Tableau\Tableau
Server\8.0\wgserver\public\javascripts\api. Your web application shouldn't
be on the same computer as Tableau Server, but it needs to be able to access it.
Supported browsers: Your end-users can experience the web application you create in most
supported web browsers, specifically: Chrome, Firefox, Safari 3.2.1 and higher, and Internet
Explorer 8.0 and higher. If you are using Internet Explorer 8.0, it must have compatability mode
disabled.
Concepts
This topic is designed for people familiar with JavaScript and object-oriented programming
concepts. You should also be familiar with Tableau visualizations from a user's point of view. If
you are just getting started, a good place to begin is the Tutorial.
Programming Approach
Tableau's JavaScript API uses an object model. The entry point into the object model is to
instantiate a new Viz object as follows:
var viz = new tableauSoftware.Viz(/* params omitted */);
Nearly every Tableau object allows you to navigate back to its parent Viz object by way of
"parent" properties on the object.
Accessing the API
The API is about programmatically controlling views embedded from Tableau Server. To use
it, you need access to a Tableau server running version 8.0 or higher, and a published
workbook on that server. The API is provided through the file tableau_v8.js (minimized) or
tableau_v8.debug.js, which install in the following folder on Tableau Server:
Program Files (x86)\Tableau\Tableau
Server\8.0\wgserver\public\javascripts\api
If you don't have a Tableau Server on-premise, Tableau Public is a free Tableau Server
implementation that you can also use to access the JavaScript API. The workbooks published
to Tableau Public must be packaged .twbx workbooks (data extract and workbook bundled
together). Worbooks published to Tableau Public can't use live database connections or rely
on extract refresh schedules (Tableau can't connect to databases behind your firewall). The
Tutorial uses a workbook published to Tableau Public for its example.
Bootstrapping
There is only one entry point into the API: instantiating a new Viz object, which creates the
HTML necessary to embed a Tableau visualization. To instantiate a new Viz object, simply
call the Viz constructor via new, passing the required parentElement and URL parameters
and an optional set of options. The URL parameter is where you specify the name of the
Tableau server:
var placeholderDiv = document.getElementById("tableauViz");
var url = "http://tabserver/views/workbookname/viewname";
var options = {
hideTabs: true,
width: "800px",
height: "700px"
};
var viz = new tableauSoftware.Viz(placeholderDiv, url, options);
Trusted Authentication
If Tableau Server is using trusted authentication and the trusted ticket server is configured to
return the ticket value itself, add a ticket option. For example:
var placeholderDiv = document.getElementById("tableauViz");
var url = "http://tabserver/views/workbookname/viewname";
var options = {
hideTabs: true,
width: "800px",
height: "700px",
ticket: "123456789"
};
var viz = new tableauSoftware.Viz(placeholderDiv, url, options);
If the trusted ticket server is configured to return a full URL, specify the ticket in the URL by first
adding trusted after the server name, followed by the ticket. For example:
var placeholderDiv = document.getElementById("tableauViz");
var url =
"http://tabserver/trusted/123456789/views/workbookname/viewname";
var options = {
hideTabs: true,
width: "800px",
height: "700px",
};
var viz = new tableauSoftware.Viz(placeholderDiv, url, options);
Property Getters and Setters
Getters and setters are always functions that start with get or set. They can be called
multiple times with little performance impact (in other words, they should simply return cached
fields or do very simple calculations). Properties are always synchronous and return
immediately with the value, rather than having a callback function.
Call Behavior - Asynchronous
By default, calls are asynchronous since many of them may require a roundtrip to the server.
Methods use the following naming convention:
l
l
Asynchronous calls are indicated by an Async suffix on the method name, for example,
Worksheet.applyFilterAsync().
Asynchronous calls return a Promise object, allowing chaining.
The Tableau JavaScript API uses the CommonJS Promises/A standard. The premise behind
Tableau's implementation is that asynchronous methods return an object that has a then
method in the following form:
then(fulfilledHandler, errorHandler)
The fulfilledHandler is called when the promise is fulfilled (on success). The
errorHandler is called when a promise fails. All arguments are optional and non-function
values are ignored.
Chaining Promises
The promised result of an asynchronous method is passed as the parameter to the next then
() method. For example:
var activeSheet;
viz.getWorkbook().activateSheetAsync("Sheet 1")
.then(selectLemon).then(filterToLemonAndMint);
function selectLemon(sheet) {
activeSheet = sheet;
return sheet.selectMarksAsync("Product", "Lemon", "replace");
}
function filterToLemonAndMint() {
return activeSheet.applyFilterAsync("Product", ["Lemon",
"Mint"], "replace");
}
The result of activateSheetAsync() is a promise to eventually return the Sheet object
that was activated, which is passed as the first parameter to the selectLemon() method.
Notice that the selectLemon() method returns a Promise object (the return value of the
selectMarksAsync() method), not the result after the marks have been selected.
However, since it’s a Promise object, the next then() method is not called until that promise
is fulfilled.
If a link in the chain is added after the promise has been fulfilled, the callback will be
immediately called with the value that was previously returned. As the programmer, this means
you don't need to determine if the response has already been received from the server. The
asynchronous methods will always be called, whether it's now or later.
var promise = viz.getWorkbook().activateSheetAsync("Sheet 1");
// Pretend that activatSheeteAsync() has already returned from
the server.
promise.then(callback);
// callback will be called immediately using the Sheet object
// returned from activateSheetAsync()
Return Values of Then() Methods
Whatever is returned in a then() method will get passed as the first parameter to the next
then() method. It can be a scalar value (Number, Boolean, String, etc.), an object, or
another Promise. The infrastructure will automatically wrap non-Promise values into a
Promise value so that they can be chained.
viz.getWorkbook().activateSheetAsync("Sheet 1")
.then(function (sheet) {
return "First link";
})
.then(function (message) {
if (message === "First link") { alert("Expected"); }
// no return value here means nothing is passed to the next
link
})
.then(function () {
});
Breaking Out of a Chain
Technically, there’s no way to break out of a chain since that would invalidate the guarantee
that subsequent links in the chain will be called. If there is an exception thrown in part of the
chain, the rest of the chain is run but the errorHandler is called instead of the
fulfilledHandler.
If a link in the chain depends on the results of earlier links, then you should write an if
statement to check your condition. Here's an example:
viz.getWorkbook().activateSheetAsync("Sheet 1")
.then(function (sheet) {
// I’m returning a Promise
return sheet.selectMarksAsync("Product", "NoProduct",
"replace");
})
.then(function () {
return viz.getWorkbook().getActiveSheet().getSelectedMarksAsync
();
})
.then(function (marks) {
// The getSelectedMarksAsync call succeeded, but no marks were
selected
// because there are not any marks corresponding to
"NoProduct".
if (marks.length === 0) {
throw new Error("No marks selected");
}
var firstMarkValue = marks[0].getPairs().get("Product").value;
return sheet.applyFilterAsync("Product", firstMarkValue,
"replace");
})
.then(function (filterName) {
// applyFilterAsync succeeded
}, function(err) {
if (err.message === "No marks selected") {
alert("This was caused by the first link above");
}
})
.otherwise(function (err) {
alert("We handled the error above, so it’s not propagated to
this handler.");
});
If a callback is not provided (or is null or undefined), then the results are passed to the next link
in the chain:
viz.getWorkbook().activateSheetAsync("Sheet 1")
.then()
.then(function (sheet) {
// this is called
});
In this way, you can specify a single otherwise function to handle all errors in the chain. The
always function works the same way, but it is called regardless of success or failure. The
then/otherwise/always functions work similarly to a try/catch/finally block.
viz.getWorkbook().activateSheetAsync("Sheet 1")
.then(function () {
return sheet.selectMarksAsync(...);
})
.then(function (marks) {
// Do something with the marks.
})
.otherwise(function (err) {
// I’m handling all errors in one place.
console.log(err.message);
})
.always(function () {
// Do some cleanup or logging
});
Collections
Many classes have collections of items, where each item has a key (typically an ID or a name).
Examples include a collection of sheets keyed by name or the list of parameters on a sheet
keyed by name. Collections are publicly immutable, exposing read-only functionality. Each
Collection array is keyed with its elements’ identifiers. For example, the result of
Workbook.getPublishedSheetsInfo() is an array with the index corresponding to
the position of the sheet in the workbook. It is also keyed by the sheet name so that you can
access it like this:
var sheet = workbook.getPublishedSheetsInfo()[0];
var sameSheet = workbook.getPublishedSheetsInfo().get("Sheet 1");
Collection Interface
Name
Return
Type
get(key : Collection
string)
item type
has(key bool
: string)
Description
Gets the element in the collection associated with the key, or
undefined if there is nothing associated with it.
Returns true if there is an element in the collection associated
with the key; otherwise, false.
Events
The Viz class acts as the central event hub. This way you only have to go to one place for all
events. It also means that events can be raised on an object that may not have been created
yet. For example, the marksselection event can be raised for a particular sheet even
though the Sheet object hasn't been created yet. Each event contains an anonymous object
with information pertaining to that event, such as the sheet the event occurred on.
Listening to an event is done by calling Viz.addEventListener(type, callback)
and passing in a function callback. Here's an example of listening to an event:
viz.addEventListener("marksSelection", function (marks) {
changeMySelectionUI(marks);
});
Removing a listener is done by calling Viz.removeEventListener(type, listener)
and passing in the same callback function that was passed into Viz.addEventListener
(). For example:
function changeMySelectionUI(marks) {
viz.removeEventListener("marksSelection",
changeMySelectionUI);
}
viz.addEventListener("marksSelection", changeMySelectionUI);
Events are multicast delegates, meaning that multiple listeners are supported. The order in
which notifications are called is not specified. Every event callback takes a single object
containing a pointer to the Viz that raised the event. Each event also adds additional fields to
the event, as specified in the API Reference.
Filtering
When you program filtering you are mimicking the user behavior of clicking a filter in a view to
narrow down the data that is displayed. Here's an example of filtering on a single value:
worksheet.applyFilterAsync("Container", "Jumbo Box",
tableauSoftware.FilterUpdateType.REPLACE);
There is a difference between querying existing filter state and setting new or existing filters.
Querying filters is done via Worksheet.getFiltersAsync() which returns a collection
of Filter classes. Setting filters is done via Worksheet.applyFilterAsync (and its
variants) and is a function call that doesn't require you to instantiate a Filter class.
When you specify fields in a filter, you should use the caption as shown in the user interface,
not the database field name. For example, you should use Container (the caption) instead of
Product Container (the actual field name). In some cases, Tableau Desktop renames fields
after they've been dragged to a shelf. For example the Date field might be renamed to YEAR
(Date) after being dragged to the rows shelf. In this case, you should use YEAR(Date) as the
parameter. The exception is hierarchical filters, which use the full hierarchical name (for
example, [Product].[All Product].[Espresso]). Captions can use the optional []
delimiters around names.
Here are samples for many types of filtering:
var worksheet;
viz.getWorkbook().activateSheetAsync("Sheet 4").then(function
(sheet) {
worksheet = sheet;
})
// Single value
.then(function () {
return worksheet.applyFilterAsync("Product Type", "Coffee",
tableauSoftware.FilterUpdateType.REPLACE);
})
// Multiple values
.then(function () {
return worksheet.applyFilterAsync(
"Product Type", ["Coffee", "Tea"],
tableauSoftware.FilterUpdateType.REPLACE);
})
// Multiple Values - adding and removing
.then(function () {
return worksheet.applyFilterAsync("Product", ["Lemon", "Mint"],
tableauSoftware.FilterUpdateType.ADD);
})
.then(function () {
return worksheet.applyFilterAsync("Product", ["Caffe Latte",
"Green Tea"],
tableauSoftware.FilterUpdateType.REMOVE);
})
// All values
.then(function () {
return worksheet.applyFilterAsync("Product Type", "",
tableauSoftware.FilterUpdateType.ALL);
})
// Date Range
.then(function () {
return; worksheet.applyRangeFilterAsync("Date", {
min: new Date(Date.UTC(2010, 3, 1)),
max: new Date(Date.UTC(2010, 12, 31))
});
})
// Clearing a Filter
.then(function () {
return worksheet.clearFilterAsync("Date");
})
// Relative Date
.then(function () {
return worksheet.applyRelativeDateFilterAsync("Date", {
anchorDate: new Date(Date.UTC(2011, 5, 1)),
periodType: tableauSoftware.PeriodType.YEAR,
rangeType: tableauSoftware.DateRangeType.LASTN,
rangeN: 1
});
})
// Quantitative Filters
// SUM(Sales) > 2000 and SUM(Sales) < 4000
.then(function () {
return worksheet.applyRangeFilterAsync("SUM(Sales)", {
min: 2000,
max: 4000
});
})
// SUM(Sales) > 1000
.then(function () {
return worksheet.applyRangeFilterAsync("SUM(Sales)", {
min: 1000
});
})
// Hierarchical Filters - selecting all on a level
.then(function () {
return worksheet.applyHierarchicalFilterAsync("[Product].
[Product Categories]", {
levels: [0, 1]
}, tableauSoftware.FilterUpdateType.ADD);
}, function (err) { /* ignore errors */ })
// Hierarchical Filters - adding one item
.then(function () {
return worksheet.applyHierarchicalFilterAsync(
"[Product].[Product Categories].[Product Name]",
"Accessories.Bike Racks.Hitch Rack - 4-Bike",
tableauSoftware.FilterUpdateType.REPLACE);
}, function (err) { /* ignore errors */ })
// Hierarchical Filters - adding multiple items
.then(function () {
return worksheet.applyHierarchicalFilterAsync(
"[Product].[Product Categories].[Product Name]",
[
"Accessories.Bike Racks.Hitch Rack - 4-Bike",
"Accessories.Bike Stands.All-Purpose Bike Stand"
],
tableauSoftware.FilterUpdateType.REPLACE);
}, function (err) { /* ignore errors */ })
.otherwise(function (err) {
console.log(err);
});
Selecting Marks
Selecting marks is almost identical to filtering. For filtering,you use one of the
Worksheet.applyFilterAsync() methods. For selecting marks, you use
Worksheet.selectMarksAsync(). The parameters for mark selection are almost
identical to those used for filtering.
worksheet.selectMarksAsync("Product", "Caffe Latte",
tableauSoftware.SelectionUpdateType.REPLACE);
Here are samples of other types of selecting you can use:
var worksheet;
viz.getWorkbook().activateSheetAsync("Sheet 4").then(function
(sheet) {
worksheet = sheet;
})
// Single dimensions work just like filtering
// Single dimension - single value
.then(function () {
return worksheet.selectMarksAsync("Product", "Mint",
tableauSoftware.SelectionUpdateType.REPLACE);
})
// Single dimension - Multiple values
.then(function () {
return worksheet.selectMarksAsync(
"Product", ["Chamomile", "Mint"],
tableauSoftware.SelectionUpdateType.REPLACE);
})
// Single dimension - Multiple values (delta)
.then(function () {
return worksheet.selectMarksAsync("Product", ["Lemon", "Earl
Grey"],
tableauSoftware.SelectionUpdateType.ADD);
})
.then(function () {
return worksheet.selectMarksAsync(
"Product", ["Chamomile", "Earl Grey"],
tableauSoftware.SelectionUpdateType.REMOVE);
})
// Quantitative selection
.then(function () {
return worksheet.selectMarksAsync({
"State": ["Florida", "Missouri"],
"SUM(Sales)": { min: 3000, max: 4000 }
}, tableauSoftware.SelectionUpdateType.REPLACE);
})
// Hierarchical dimensions
.then(function () {
return worksheet.selectMarksAsync(
"[Product].[Product Categories].[Category]",
"Bikes",
tableauSoftware.SelectionUpdateType.REPLACE);
}, function (err) { /* ignore errors */ })
// Multiple dimensions - multiple values
// ((State = Washington OR Oregon) AND Product = Lemon)
// OR
// (State = Oregon AND Product = Chamomile)
.then(function () {
return worksheet.selectMarksAsync({
"State": ["Washington", "Oregon"],
"Product": "Lemon"
}, tableauSoftware.SelectionUpdateType.REPLACE);
})
.then(function () {
return worksheet.selectMarksAsync({
"State": "Oregon",
"Product": "Chamomile"
}, tableauSoftware.SelectionUpdateType.ADD);
})
// Round-tripping selection
.then(function () {
return worksheet.selectMarksAsync(
"Product",
"Lemon",
tableauSoftware.SelectionUpdateType.REPLACE);
})
.then(function () {
return worksheet.getSelectedMarksAsync();
}).then(function (marks) {
// filter out only the Washington and Oregon marks
var onlyWashingtonAndOregon = [];
for (var i = 0, len = marks.length; i < len; i++) {
var m = marks[i];
var pair = m.getPairs().get("State");
if (pair &&
(pair.value === "Washington" || pair.value === "Oregon")) {
onlyWashingtonAndOregon.push(m);
}
}
return worksheet.selectMarksAsync(
onlyWashingtonAndOregon,
tableauSoftware.SelectionUpdateType.REPLACE);
})
.otherwise(function (err) {
console.log(err);
});
API Reference
Style and Conventions
Tableau's JavaScript API follows these JavaScript standards:
l
l
l
l
Classes are PascalCase (initial capital letter, with each subsequent word capitalized)
Namespaces, methods, parameters, and variables are camelCase (initial lowercase letter, with each subsequent word capitalized)
Constants and enum values are UPPERCASE_UNDERSCORE_DELIMITED
Protected variables or methods start with an initial underscore '_' character,
indicating that it should not be referenced by the programmer.
Top-Level Class Diagram
The following class diagram shows the relationships between the top-level classes, as well as
the inheritance hierarchy for the Sheet, Dashboard, and Worksheet classes. Note that
there's always a way to traverse back up the containment hierarchy with parent pointers, with
the exception of VizManager, as it's a static class and always accessible.
Asynchronous and Error Classes
Promise Class
Represents a promise to return a value from an asynchronous method in the future. The
Tableau JavaScript API implements the Promises/A specification.
Methods
Name
Return Description
Type
then(callback: Promise Creates a link in the asynchronous callable chain. The
Function,
callback function is called on success. The errback
errback:
function is called when there is an error. Both parameters
Function)
are optional.
always
Promise Registers a callback that will be called when a promise is
(callback:
resolved or rejected. Shortcut for then(callback,
Function)
callback).
otherwise
Promise Registers a rejection handler. Shortcut for then(null,
(errback:
errback).
Function)
TableauException Class
The TableauException class is not a real class, but simply adds an id field to the standard
JavaScript Error object when an exception is thrown from within the API. As the
programmer, this allows you to uniquely identify the error without having to parse the error
string. It also allows you to add localized messages.
Constructor
There is no public constructor. The only way to get a reference to a TableauException is within
a catch block.
Fields
Name
Type
Description
tableauSoftwareErrorCode ErrorCode Represents an ErrorCode enum
value.
message
string
This is already defined on the standard
Error object, but the message will
contain a description of the exception
that the API code specifies.
ErrorCode Enum
Here's a list of the different exceptions that the API can throw:
Name
BROWSER_
Return Type
browserNotCapable
Description
The browser is not capable of
NOT_
CAPABLE
DOWNLOAD_ downloadWorkbookNotAllowed
WORKBOOK_
NOT_
ALLOWED
FILTER_
filterCannotBePerformed
CANNOT_BE_
PERFORMED
INDEX_OUT_ indexOutOfRange
OF_RANGE
INTERNAL_
ERROR
internalError
INVALID_
CUSTOM_
VIEW_NAME
INVALID_
DATE_
PARAMETER
INVALID_
FILTER_
FIELDNAME
INVALID_
FILTER_
FIELDNAME_
OR_VALUE
invalidCustomViewName
INVALID_
FILTER_
FIELDVALUE
INVALID_
PARAMETER
invalidFilterFieldValue
INVALID_
SELECTION_
DATE
invalidSelectionDate
INVALID_
SELECTION_
FIELDNAME
invalidSelectionFieldName
invalidDateParameter
invalidFilterFieldName
invalidFilterFieldNameOrValue
invalidParameter
supporting the Tableau
JavaScript API.
The permissions on a workbook
or a view do not allow
downloading the workbook.
An error occurred while
attempting to perform a filter
operation.
Attempted to switch to a sheet
by index that does not exist in
the workbook.
An error occurred within the
Tableau JavaScript API.
Contact Tableau Support.
An operation was attempted on
a custom view that does not
exist.
An invalid date was specified in
a method that required a date
parameter.
A filter operation was attempted
on a field that does not exist in
the data source.
Either a filter operation was
attempted on a field that does
not exist in the data source, or
the value supplied in the filter
operation is the wrong data type
or format.
A filter operation was attempted
using a value that is the wrong
data type or format.
A parameter is not the correct
data type or format. The name
of the parameter is specified in
the Error.message field.
An invalid date value was
specified in a
Sheet.selectMarksAsync
() call for a date field.
A field was specified in a
Sheet.selectMarksAsync
() call that does not exist in the
data source.
INVALID_
SELECTION_
VALUE
invalidSelectionValue
An invalid value was specified in
a
Sheet.selectMarksAsync
() call.
INVALID_SIZE invalidSize
A negative size was specified or
the maxSize value is less than
minSize in
Sheet.changeSizeAsync().
INVALID_
invalidSizeBehaviorOnWorkshe- A behavior other than
SheetSizeBehavior.AUTOSIZE_
et
MATIC was specified in
BEHAVIOR_
Sheet.changeSizeAsync
ON_
() when the sheet is a
WORKSHEET
Worksheet instance.
INVALID_URL invalidUrl
The URL specified in the Viz
class constructor is not valid.
MISSING_
missingMaxSize
The maxSize field is missing in
Sheet.changeSizeAsync
MAX_SIZE
() when specifying
SheetSizeBehavior.ATMOST.
MISSING_
missingMinSize
The minSize field is missing in
Sheet.changeSizeAsync
MIN_SIZE
() when specifying
SheetSizeBehavior.ATLEAST.
MISSING_
missingMinMaxSize
Either or both of the minSize
MINMAX_SIZE
or maxSize fields is missing in
Sheet.changeSizeAsync
() when specifying
SheetSizeBehavior.RANGE.
MISSING_
missingRangeNForRelativeDat- The rangeN field is missing for
RANGEN_
eFilters
a relative date filter of type
FOR_
LASTN or NEXTN.
RELATIVE_
DATE_
FILTERS
NO_URL_
noUrlForHiddenWorksheet
An attempt was made to access
FOR_
Sheet.getUrl() on a hidden
HIDDEN_
sheet. Hidden sheets do not
WORKSHEET
have URLs.
NO_URL_OR_ noUrlOrParentElementNotFoun- One or both of the
PARENT_
d
parentElement or the URL
ELEMENT_
parameters is not specified in
NOT_FOUND
NOT_
ACTIVE_
SHEET
notActiveSheet
NULL_OR_
EMPTY_
PARAMETER
SERVER_
ERROR
nullOrEmptyParameter
SHEET_NOT_
IN_
WORKBOOK
STALE_
DATA_
REFERENCE
sheetNotInWorkbook
UNSUPPORTED_EVENT_
NAME
unsupportedEventName
VIZ_
ALREADY_
IN_MANAGER
vizAlreadyInManager
serverError
staleDataReference
the Viz constructor.
An operation was attempted on
a sheet that is not active or
embedded within the active
dashboard.
A required parameter was not
specified, null, or an empty
string/array.
A general-purpose server error
occurred. Details are contained
in the Error object.
An operation was attempted on
a sheet that does not exist in the
workbook.
An operation is performed on a
CustomView object that is no
longer valid (it has been
removed).
An unknown event name was
specified in the call to
Viz.addEventListener or
Viz.removeEventListener.
A Viz object has already been
created as a child of the
parentElement specified in
the Viz constructor.
Viz Classes
Class Diagram
VizManager Class
Manages all of the Viz instances on the page, but does not manage vizzes (views) earlier than
version 8.0. This is a static class, meaning that all properties and methods are static and there
is only a single instance of the class.
Properties
Name
getVizs()
Type
Viz[]
Description
Collection of version 8.0 views on the hosting page.
Viz Class
Wraps an <iframe> showing one or more sheets in a Tableau workbook. Contains all of the
chrome surrounding the view.
Constructor
Signature
Viz
(parentElement:
domNode, url:
string, options:
VizCreateOptions
)
Description
Creates a new Tableau Viz inside of the given HTML container,
which is typically a <div> element. Each option as well as the
options parameter is optional. If there is already a Viz
associated with the parentElement, an exception is thrown.
Before reusing the parentElement you must first call
dispose().
Properties
Name
getAreTabsHidden()
Type
bool
Description
Indicates whether the tabs are
displayed in the UI. It does not
actually hide individual tabs.
getIsToolbarHidden()
bool
Indicates whether the toolbar is
displayed.
getIsHidden()
bool
Indicates whether the viz is
displayed on the hosting page.
getParentElement()
domNode Returns the node that was
specified in the constructor.
getUrl()
string
The URL of the viz, as specified in
the constructor
getWorkbook()
Workbook One Workbook is supported per
viz.
getAreAutomaticUpdatesPaused bool
Indicates whether automatic
()
updates are currently paused.
Events
Events are added or removed via the following two calls.
Name
addEventListener(
type:
TableauEventName,
listener: Function)
removeEventListener(
type:
TableauEventName,
listener: Function)
Return
Type
None
Description
None
Removes an event listener from the
specified event.
Adds an event listener to the specified event.
Methods
Name
show()
hide()
dispose()
Type
None
None
Description
Shows or hides the <iframe>
hosting the viz.
Cleans up any resources associated
with the viz, removes the viz from the
VizManager, and removes any DOM
elements from parentElement.
Basically, it restores the page to
what it was before instantiating a
new Viz object.
Pauses or resumes layout updates.
This is useful if you are resizing the
viz or performing multiple calls that
could affect the layout.
pauseAutomaticUpdatesAsync() None
resumeAutomaticUpdatesAsync
()
toggleAutomaticUpdatesAsync
()
revertAllAsync()
Promise Equivalent to clicking on the Revert
refreshData()
None
showDownloadWorkbookDialog
()
None
showExportImageDialog()
None
showExportPDFDialog()
None
showExportDataDialog(
worksheetInDashboard: Sheet
or SheetInfo or string)
None
showExportCrossTabDialog(
worksheetInDashboard: Sheet
or SheetInfo or string)
None
showShareDialog()
None
setFrameSize(width: int, height:
int)
None
All toolbar button, which restores the
workbook to its starting state.
Equivalent to clicking on the Refresh
Data toolbar button.
Equivalent to clicking on the
Download toolbar button, which
downloads a copy of the original
workbook.
Equivalent to clicking on the Export
Image toolbar button, which creates
a PNG file of the current viz.
Equivalent to clicking on the Export
PDF toolbar button, which shows a
dialog allowing the user to select
options for the export.
Shows the Export Data dialog, which
is currently a popup window. The
worksheetInDashboard
parameter is optional. If not
specified, the currently active
Worksheet is used.
Shows the Export CrossTab dialog.
The worksheetInDashboard
parameter is optional. If not
specified, the currently active
Worksheet is used.
Equivalent to clicking on the Share
toolbar button, which displays a
dialog allowing the user to share the
viz by email or by embedding its
HTML in a web page.
Sets the size of the iFrame, which
causes the viz to expand or collapse
to fit the iFrame if the viz’s current
sheet’s size is set to AUTOMATIC.
VizCreateOptions Record
These are the options that are specified in the Viz constructor.
Fields
Name
hideTabs
hideToolbar
toolbarPosition
Type
bool
bool
Description
Indicates whether tabs are hidden or shown.
Indicates whether the toolbar is hidden or
shown.
ToolbarPosition Indicates where the toolbar should be placed
height
string
width
string
onFirstInteractive callback(viz:
Viz)
if hideToolbar is false.
Can be any valid CSS size specifier. If not
specified, defaults to 600px.
Can be any valid CSS size specifier. If not
specified, defaults to 800px.
Callback when the viz first becomes
interactive. This is only called once, but it’s
guaranteed to be called. If the viz is already
interactive, it will be called immediately.
ToolbarPosition Enum
Enumeration
Name
TOP
BOTTOM
Description
Positions the toolbar along the top of the viz.
Positions the toolbar along the bottom of the viz.
Viz Event Classes
TableauEventName Enum
These are strings passed to Viz.addEventListener/removeEventListener. Note that the value
of the enums are all lowercase strings with no underscores. For example, CUSTOM_VIEW_
LOAD is customviewload. Either the fully-qualified enum
(tableauSoftware.TableauEventName.FILTER_CHANGE) or the raw string
(filterchange) is acceptable.
Name
CUSTOM_VIEW_
LOAD
CUSTOM_VIEW_
REMOVE
CUSTOM_VIEW_
SAVE
CUSTOM_VIEW_
SET_DEFAULT
FILTER_
CHANGE
MARKS_
SELECTION
PARAMETER_
VALUE_
CHANGE
TAB_SWITCH
Event Class
Passed in the
Callback
CustomViewEvent
CustomViewEvent
CustomViewEvent
CustomViewEvent
FilterEvent
MarksEvent
ParameterEvent
TabSwitchEvent
Description
Raised when a custom view has finished
loading.
Raised when the user removes a custom
view.
Raised when the user saves a new or
existing custom view.
Raised when a custom view has been
made the default view for this viz.
Raised when any filter has changed
state. The viz may not be interactive yet.
Raised when marks are selected or
deselected.
Raised when any parameter has
changed state.
Raised after the tab switched, but the viz
may not yet be interactive.
TableauEvent Class
Properties
Name
getViz()
Type
Viz
Description
Gets the Viz object associated with the
event.
getEventName TableauEventName Gets the name of the event which is a string,
()
but is also one of the items in the
TableauEventName enum.
CustomViewEvent Class
Properties
Name
getViz()
Type
Viz
Description
Gets the Viz object associated with the
event.
getEventName TableauEventName Gets the name of the event which is a string,
()
but is also one of the items in the
TableauEventName enum.
Methods
Name
Return Type
getCustomViewAsync Promise<
()
CustomView>
Description
Gets the CustomView object
associated with the event.
FilterEvent Class
Properties
Name
getViz()
Type
Viz
Description
Gets the Viz object associated with the
event.
getWorksheet Worksheet
Gets the Worksheet object associated with
()
the event.
getEventName TableauEventName Gets the name of the event which is a string,
()
but is also one of the items in the
TableauEventName enum.
getFieldName string
Gets the name of the field.
()
Methods
Name
Return Type
getFilterAsync() Promise<Field>
Description
Gets the Field object associated with the event.
MarksEvent Class
Properties
Name
getViz()
Type
Viz
Description
Gets the Viz object associated with the
event.
getWorksheet Worksheet
Gets the Worksheet object associated with
()
the event.
getEventName TableauEventName Gets the name of the event which is a string,
()
but is also one of the items in the
TableauEventName enum.
Methods
Name
Return Type Description
getMarksAsync Promise<Mark Gets the selected marks on the Worksheet that
()
[]>
triggered the event.
ParameterEvent Class
Properties
Name
getViz()
Type
Viz
Description
Gets the Viz object associated with the
event.
getEventName()
TableauEventName Gets the name of the event which is a
string, but is also one of the items in the
TableauEventName enum.
getParameterName string
Gets the name of the parameter that
()
changed.
Methods
Name
Return Type
Description
getParameterAsync Promise<Parameter> Gets the Parameter object that
()
triggered the event.
TabSwitchEvent Class
Properties
Name
getViz()
getEventName()
getOldSheetName
()
Type
Viz
Description
Gets the Viz object associated with the
event.
TableauEventName Gets the name of the event which is a
string, but is also one of the items in the
TableauEventName enum.
string
Gets the name of the sheet that was
active before the tab switch event
occurred.
getNewSheetName string
()
Gets the name of the sheet that is
currently active.
Workbook Classes
Class Diagram
Workbook Class
A Workbook has a collection of Sheets represented as tabs. It also has associated objects like
DataSources and CustomViews.
Properties
Name
getViz()
Type
Viz
Description
Gets the Viz object that contains the
workbook.
getActiveSheet()
Sheet
Gets the currently active sheet (the active
tab)
getActiveCustomView() CustomView Gets the currently active custom view, or
null if no custom view is active.
getPublishedSheetsInfo SheetInfo[]
Note that this is synchronous, meaning
()
that all of the sheets are expected when
loaded.
getName()
string
Gets the name of the workbook saved to
the server. Note that this is not
necessarily the file name.
Methods
Name
revertAllAsync()
Return Type
Promise
Description
Reverts the
workbook to
its last saved
state.
getParametersAsync()
Promise<Parameter[]> Fetches the
parameters
for this
workbook.
changeParameterValueAsync(
Promise<Parameter>
Changes the
name: string,
value of the
value: object)
Parameter
with the given
name and
returns the
new
Parameter.
getCustomViewsAsync()
Promise<CustomView[] Gets the
>
collection of
CustomView
objects
associated
with the
workbook.
showCustomViewAsync(
Promise<CustomView> Changes the
customViewName: string)
viz to show
the named
saved state.
removeCustomViewAsync(
Promise<CustomView> Removes the
customViewName: string)
named
custom view.
rememberCustomViewAsync(
Promise<CustomView> Remembers
customViewName: string)
the current
state of the
workbook by
assigning a
custom view
name.
setActiveCustomViewAsDefaultAsync None
Sets the
()
active custom
view as the
default.
DataSource Class
The Workbook contains one or more data sources. Each Worksheet will have a primary
data source and can have multiple secondary data sources.
Properties
Name
getName()
getIsPrimary
()
getFields()
Type Description
string The name of the DataSource as seen in the UI.
bool Indicates whether this DataSource is a primary or a
secondary data source.
Field Gets an array of Fields associated with the DataSource.
[]
Field Class
A field contains information about what data source it belongs to, its role, and the ability to fetch
the domain values.
Properties
Name
Type
getName()
string
getAggregation FieldAggregationType
()
getDataSource
()
getRole()
DataSource
FieldRoleType
Description
Gets the field name (i.e. caption).
Gets the type of aggregation, which is
one of the following values: SUM, AVG,
MIN, MAX, STDEV, STDEVP, VAR,
VARP, COUNT, COUNTD, MEDIAN,
ATTR, NONE, YEAR, QTR, MONTH, DAY,
HOUR, MINUTE, SECOND, WEEK,
WEEKDAY, MONTHYEAR, MDY, END,
TRUNC_YEAR, TRUNC_QTR, TRUNC_
MONTH, TRUNC_WEEK, TRUNC_DAY,
TRUNC_HOUR, TRUNC_MINUTE,
TRUNC_SECOND, QUART1, QUART3,
SKEWNESS, KURTOSIS, INOUT, USER
Gets the data source to which this field
belongs.
One of the following values: DIMENSION,
MEASURE, UKNOWN
CustomView Class
Represents a named snapshot of the workbook at a specific moment.
Properties
Name
getName()
setName()
getAdvertised()
setAdvertised()
Type
string
Description
User-friendly name for the custom view
bool
Indicates whether the custom view is public or private.
getDefault()
getOwnerName
()
getUrl()
getWorkbook()
bool
string
Gets or sets whether this is the default custom view.
Gets the user that created the custom view.
string
Unique URL to load this view again.
Workbook Gets the Workbook to which this CustomView
belongs.
Methods
Name
Return Type
Description
saveAsync Promise<CustomView> After saveAsync() is called, the result of
()
the getUrl method is no longer blank.
Sheet Classes
Class Diagram
SheetInfo Class
Contains information about a Worksheet or a Dashboard and no methods. Returned as
part of Workbook.getPublishedSheetsInfo().
Constructor
There is no public constructor. You can only get instances of this class from
Workbook.getPublishedSheetsInfo().
Properties
Name
Type
Description
getName()
getIndex()
string
int
Gets the name of the sheet.
Gets the index of the sheet within the published tabs.
Note that hidden tabs are still counted in the ordering,
as long as they are published.
getIsActive()
bool
Gets a value indicating whether the sheet is the
currently active sheet.Due to a technical limitation in
version 8.0, this will always return false if the object is a
Worksheet instance that is part of a Dashboard.
getIsHidden() bool
Gets a value indicating whether the sheet is hidden in
the UI. Note that if the entire tab control is hidden, it
does not affect the state of this flag. This sheet may still
report that it is visible even when the tabs control is
hidden.
getSheetType SheetType Gets the type of the sheet. SheetType is an enum
()
with the following values: WORKSHEET and
DASHBOARD.
getSize()
SheetSize Gets the size information that the author specified
when publishing the workbook.
getUrl()
string
Gets the URL for this sheet.
getWorkbook Workbook Gets the Workbook to which this Sheet belongs.
()
Sheet Class
Constructor
There is no public constructor. You can only get instances of this class from
Workbook.getActiveSheet()or Dashboard.getObjects().
Properties
Name
getName()
getIndex()
Type
string
int
Description
Gets the name of the sheet.
Gets the index of the sheet within the published tabs.
Note that hidden tabs are still counted in the ordering,
as long as they are published.
getIsActive()
bool
Gets a value indicating whether the sheet is the
currently active sheet.
getIsHidden() bool
Gets a value indicating whether the sheet is hidden in
the UI. Note that if the entire tab control is hidden, it
does not affect the state of this flag. This sheet may still
report that it is visible even when the tabs control is
hidden.
getSheetType SheetType Gets the type of the sheet. SheetType is an enum
()
with the following values: WORKSHEET and
DASHBOARD.
getSize()
SheetSize Gets the size information that the author specified
when publishing the workbook.
getUrl()
getWorkbook
()
string
Workbook
Gets the URL for this sheet.
Gets the Workbook to which this Sheet belongs.
Methods
Name
Return
Description
Type
changeSizeAsync Promise< Sets the size information on a sheet. Note that if the
(size: SheetSize)
SheetSize sheet is a Worksheet, only
>
SheetSizeBehavior.AUTOMATIC is allowed
since you can’t actually set a Worksheet to a fixed
size.
SheetSize Record
Describes the way a Sheet should be sized.
Fields
Name
Type
Description
behavior SheetSizeBehavior Contains an enumeration value of one of the
following: AUTOMATIC, EXACTLY, RANGE,
ATLEAST, and ATMOST.
maxSize int
This is only defined when behavior is EXACTLY,
RANGE or ATMOST.
int
This is only defined when behavior is EXACTLY,
minSize
RANGE, or ATLEAST.
Worksheet Class
Represents a worksheet tab in the workbook or a dashboard object. These are two separate
concepts: a worksheet and a worksheet instance. However, for simplicity in the API, they are
both combined into the Worksheet class.
Constructor
There is no public constructor. You can only get instances of this class from
Workbook.getPublishedSheets() or Dashboard.getObjects().
Properties
Name
Type
Description
getParentDashboard Dashboard Returns the Dashboard object to which this
()
Worksheet belongs (if it’s on a dashboard).
Otherwise, it returns null.
Methods
Name
Return Type
Description
getDataSourcesAsync Promise<DataSource Gets the primary and all of the
()
[]>
secondary data sources for this
worksheet. Note that by
convention the primary data
source should always be the first
element.
Filtering methods are described in Worksheet Class (Filtering). Marks selection methods are
described in Worksheet Class (Selecting Marks).
Dashboard Class
Contains a collection of DashboardObject instances and a notion of the active object.
Constructor
There is no constructor. You get an instance of this from
Workbook.getPublishedSheets().
Properties
Name
Type
getObjects() DashboardObject[]
getWorkshe- Worksheet[]
ets()
Description
Gets the collection of objects.
Gets the collection of worksheets contained in the
dashboard. Note that this is a helper method and is
equivalent to looping through getObjects() and
collecting all of the
DashboardObject.Worksheet pointers when
DashboardObject.getType() ===
tableauSoftware.DashboardObjectType.WORKSHEET.
DashboardObject Class
Represents one of a series of different areas of the dashboard.
Constructor
There is no constructor. You get an instance of this from Dashboard.getObjects().
Properties
Name
Type
Description
getObjectType DashboardObjectType Gets what the object represents, which is
()
an enum with the following values:
BLANK, WORKSHEET, QUICK_FILTER,
PARAMETER_CONTROL, PAGE_
FILTER, LEGEND, TITLE, TEXT,
IMAGE, WEB_PAGE.
getDashboard Dashboard
Gets the Dashboard object that contains
()
this object.
getWorksheet Worksheet
If getType() returns WORKSHEET, this
()
contains a pointer to the Worksheet
object.
getPosition()
Point
getSize()
Size
Gets the coordinates relative to the top-left
corner of the dashboard of the object.
Gets the size of the object.
Parameter Classes
Class Diagram
Parameter Class
Contains information about a workbook parameter. To actually set a parameter’s value, call
workbook.changeParameterValueAsync().
Properties
Name
getName()
Type
string
getCurrentValue()
DataValue
getDataType()
ParameterDataType
getAllowableValuesT- ParameterAllowableValuesype()
Type
getAllowableValues()
DataValue[]
Description
A unique identifier for the
parameter, as specified by
the user.
The current value of the
parameter.
The data type of the
parameter can be one of the
following: FLOAT,
INTEGER, STRING,
BOOLEAN, DATE,
DATETIME.
The type of allowable
values that the parameter
can accept. It can be one of
the following enumeration
items: ALL, LIST, RANGE.
If the parameter is restricted
to a list of allowable values,
this property contains the
array of those values. Note
that this is not a standard
collection, but a JavaScript
getMinValue()
DataValue
getMaxValue()
DataValue
getStepSize()
Number
getDateStepPeriod()
PeriodType
array.
If
getAllowableValuesType is RANGE, this defines
the minimum allowable
value, inclusive. Otherwise
it’s undefined/null.
If
getAllowableValuesType is RANGE, this defines
the maximum allowable
value, inclusive. Otherwise
it’s undefined/null.
If
getAllowableValuesType is RANGE, this defines
the step size used in the
parameter UI control slider.
Otherwise it’s
undefined/null.
If
getAllowableValuesType is RANGE and
getDataType is DATE or
DATETIME, this defines the
step date period used in the
Parameter UI control slider.
Otherwise it’s
undefined/null.
Filtering
There is a difference between querying existing filter state and setting new or existing filters.
Querying filters is done via Worksheet.getFiltersAsync() which returns a collection of
Filter classes. Setting filters is done via Worksheet.applyFilterAsync (and its
variants) and is a function call that doesn't require you to instantiate a Filter class.
When you specify fields in a filter, you should use the caption as shown in the UI, not the
database field name. For example, use Container (the caption) instead of Product
Container (the actual field name). The exception is hierarchical filters, which use the full
hierarchical name (for example, [Product].[All Product].[Espresso]). Captions
can use the optional [] delimiters around names.
Class Diagram
Worksheet Class (Filtering)
These methods are on the Worksheet class, but are listed here for convenience.
Methods
Name
getFiltersAsync()
applyFilterAsync(
fieldName: string,
values: object[] or object,
updateType: FilterUpdateType,
options?: FilterOptions)
applyRangeFilterAsync(
fieldName: string,
range: RangeFilterOptions)
applyRelativeDateFilterAsync(
fieldName: string,
options:
RelativeDateFilterOptions)
applyHierarchicalFilterAsync(
fieldName: string,
values: object,
options:
HierarchicalFilterOptions)
clearFilterAsync(fieldName:
string)
Return Type
Promise<Filter
[]>
Promise<string>
Promise<string>
Description
Fetches the collection of
filters used on the sheet.
Applies a simple categorical
filter (non-date). See the
filtering examples for more
details on these functions.
Returns the fieldName that
was filtered.
Applies a quantitative filter.
Promise<string>
Applies a relative date filter.
Promise<string>
Applies a hierarchical filter.
The values parameter is
either a single value, an array
of values, or an object { levels:
["1", "2"] }.
Clears the filter, no matter
what kind of filter it is. Note
that the filter is removed as
long as no associated quick
Promise<string>
filter is showing for the field. If
there is a quick filter showing,
then the filter is kept, but it’s
reset to the “All” state
(effectually canceling the
filter). For relative date filters,
however, an error is returned
since there is no “All” state for
a relative date filter. To clear a
relative date filter with a quick
filter showing, you can call
applyRelativeDateFilter() instead using a range
that makes sense for the
specific field.
FilterOptions Record
Passed into the applyFilter methods to control advanced filtering options.
Fields
Name
isExcludeMode
Type
bool
Description
Determines whether the
filter will apply in exclude
mode or include mode. The
default is include, which
means that you use the
fields as part of a filter.
Exclude mode means that
you include everything else
except the specified fields.
RangeFilterOptions Record
Passed into the applyRangeFilterAsync method to control advanced filtering options.
Fields
Name
min
Type
int
max
int
nullOption
NullOption
Description
Minimum value for the range
(inclusive). Optional. Leave
blank if you want a <= filter.
Maximum value for the
range (inclusive). Optional.
Leave blank if you want a >=
filter.
The null values to include.
RelativeDateFilterOptions Record
Passed into the applyRelativeDateFilterAsync method to control advanced filtering
options.
Fields
Name
anchorDate
periodType
rangeType
rangeN
Type
Date
PeriodType
DateRangeType
int
Description
The UTC date from which to filter.
Year, quarter, month, etc.
LAST, LASTN, NEXT, etc.
The number used when the rangeType is LASTN
or NEXTN.
Filter Class
An abstract base class for all of the various filter types.
Properties
Name
getWorksheet
()
getFilterType
()
getFieldName
()
Type
Description
Worksheet Gets the parent worksheet
FilterType
string
Gets the type of the filter. See FilterType Enum for the
values in the enum.
Gets the name of the field being filtered. Note that this
is the caption as shown in the UI and not the actual
database field name.
Methods
Name
getFieldAsync()
Return Type
Promise<Field>
Description
Gets the field that is currently being filtered.
NullOption Enum
An enumeration that indicates what to do with null values for a given filter or mark selection call.
Enumeration
Name
NULL_VALUES
NON_NULL_VALUES
ALL_VALUES
Description
Only include null values in the filter.
Only include non-null values in the filter.
Include null and non-null values in the filter.
CategoricalFilter Class
Properties
Name
Type
getIsExcludeMode bool
()
getAppliedValues DataValue
Description
Gets a value indicating whether the filter is exclude
or include (default).
Gets the collection of values that are currently set
()
[]
on the filter. Note that this is a native JavaScript
array and not a keyed collection.
QuantitativeFilter Class
Properties
Name
getDomainMinValue
()
getDomainMaxValue
()
getMinValue()
Type
Description
DataValue Gets the minimum value as specified in the
domain.
DataValue Gets the maximum value as specified in the
domain.
DataValue Gets the minimum value, inclusive, applied to
the filter.
getMaxValue()
DataValue Gets the maximum value, inclusive, applied to
the filter.
getIncludeNullValues bool
Indicates whether null values are included in
()
the filter.
RelativeDataFilter Class
Properties
Name
Type
getPeriod() PeriodType
Description
The date period of the filter. See PeriodType Enum
for the values in the enum.
getRange() DateRangeType The range of the date filter (years, months, etc.).
See DateRangeType Enum for the values in the
enum.
getRangeN int
When getRange returns LASTN or NEXTN, this is
()
the N value (how many years, months, etc.).
DataValue Record
A DataValue contains both the raw and formatted value for a filter or parameter. Date values
are always expressed in UTC dates.
Properties
Name
value
Type Description
object Contains the raw native value as a JavaScript type, which is
one of String, Number, Boolean, or Date
formattedValue string The value formatted according to the locale and the
formatting applied to the field or parameter.
FilterType Enum
An enumeration of the valid types of filters that can be applied.
Enumeration
Name
CATEGORICAL
Description
Categorical filters are used to filter to a set of values within the
domain.
QUANTITATIVE Quantitative filters are used to filter to a range of values from a
continuous domain.
HIERARCHICAL Hierarchical filters are used to filter to a set of values organized
into a hierarchy within the domain.
RELATIVE_
Relative date filters are used to filter a date/time domain to a
DATE
range of values relative to a fixed point in time.
FilterUpdateType Enum
An enumeration of the valid types of filtering that can be done.
Enumeration
Name
ALL
Description
Adds all values to the filter. Equivalent to checking the (All) value in a
quick filter.
REPLACE Replaces the current filter values with new ones specified in the call.
ADD
Adds the filter values as specified in the call to the current filter values.
Equivalent to checking a value in a quick filter.
REMOVE
Removes the filter values as specified in the call from the current filter
values. Equivalent to unchecking a value in a quick filter.
PeriodType Enum
An enumeration of a date period used in filters and in parameters.
Enumeration
Name
YEARS
QUARTERS
MONTHS
WEEKS
DAYS
HOURS
MINUTES
SECONDS
DateRangeType Enum
An enumeration of the valid date ranges for a relative date filter.
Enumeration
Name
Description
LAST
LASTN
NEXT
NEXTN
CURRENT
TODATE
Refers to the last day, week, month, etc. of the date period.
Refers to the last N days, weeks, months, etc. of the date period.
Refers to the next day, week, month, etc. of the date period.
Refers to the next N days, weeks, months, etc. of the date period.
Refers to the current day, week, month, etc. of the date period.
Refers to everything up to and including the current day, week, month,
etc. of the date period.
Marks Selection
Selecting marks is almost identical to filtering. For filtering, you use one of the
Worksheet.applyFilterAsync() methods. For selecting marks, you use
Worksheet.selectMarksAsync(). The parameters for marks selection are almost
identical to those used for filtering.This provides a very simple, easy to learn, and consistent
way to accomplish the two most common use cases for the API: filtering and selection.
Worksheet Class (Selecting Marks)
These methods are on the Worksheet class, but are shown here for convenience.
Methods
Name
Return Type
clearSelectedMarksAsync void
()
getSelectedMarksAsync() Promise<Mark
[]>
selectMarksAsync(
void
fieldName: string,
value: object or object[],
updateType:
SelectionUpdateType)
selectMarksAsync(
void
fieldValuesMap: object,
updateType:
SelectionUpdateType)
selectMarksAsync(
marks: Mark[],
updateType:
SelectionUpdateType)
Description
Clears the selection for this
worksheet.
Gets the collection of marks that are
currently selected.
Selects the marks and returns them.
Allows selection based on this syntax
for the first parameter:
{
"Field1": value,
"Field2": [1, 2, 3]
}
void
Mark Class
A mark represents a single data point on the viz. It is independent of the type of viz (bar, line,
pie, etc.).
Constructor
Signature
Pair(fieldName: string, value:
object)
Description
Creates a new Pair with the specified field
name/value pairing
Properties
Name
getPairs
()
Type Description
Pair[] Gets a collection of field name/value pairs associated with the
mark.
Pair Class
A pair contains a field name and a value (both the raw and formatted values).
Constructor
Signature
Mark(pairs: Pair[])
Description
Creates a new Mark with the specified pairs.
Fields
Name
fieldName
value
Type Description
string The field name to which the value is applied.
object Contains the raw native value for the field as a JavaScript
type, which is one of String, Number, Boolean, or Date.
formattedValue string The value formatted according to the locale and the
formatting applied to the field.
SelectionUpdateType Enum
An enumeration of the valid types of marks selection that can be done.
Enumeration
Name
Description
REPLACE Replaces the current marks values with new ones specified in the call.
ADD
Adds the values as specified in the call to the current selection.
Equivalent to control-clicking in desktop.
REMOVE
Removes the values as specified in the call from the current selection.
Equivalent to control-clicking an already selected mark in desktop.
Other Classes
Size Record
Represents a width and height in pixels. This is implemented as a plain JavaScript object (it’s
not a class).
Fields
Name
Type
Description
width
height
int
int
Expressed in pixel units.
Expressed in pixel units.
Point Record
Represents an x/y coordinate in pixels. This is implemented as a plain JavaScript object (it’s not
a class).
Fields
Name
x
y
Type
int
int
Description
Expressed in pixel units.
Expressed in pixel units.
联系方式
有关销售咨询,请联系 sales@tableausoftware.com。
有关客户支持,请联系 support@tableausoftware.com。
有关其他咨询,请联系 info@tableausoftware.com。
版权所有
©2013 Tableau Software, Incorporated and its licensors. All rights reserved.
专利 - http://www.tableausoftware.com/ip
代码部分 copyright ©2002 The Board of Trustees of the Leland Stanford Junior University. All
rights reserved.
有关第三方版权声明的列表,请参见随 Tableau Server 安装的以下文件:
32 位:C:\Program Files\Tableau\Tableau Server\8.0\COPYRIGHTS.rtf
64 位:C:\Program Files (x86)\Tableau\Tableau Server\8.0\COPYRIGHTS.rtf
本产品包含由 Andy Clark 开发的软件。
本产品包含由 Apache Software Foundation 开发的软件 (http://www.apache.org/)。
Download