You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python获取筛选后的Tableau仪表板ID

使用Tableau Server Client(TSC)下载筛选后仪表板为PNG的完整指南

一、获取仪表板/视图ID的核心步骤

Tableau资源层级为 站点 → 工作簿 → 仪表板/视图,你需要先定位目标工作簿,再从中提取对应仪表板的ID,具体实现如下:

1. 建立服务器连接

import tableauserverclient as TSC

# 替换为你的服务器配置
server_url = "https://your-tableau-server-url"
username = "your-account"
password = "your-password"
site_name = "your-site"  # 默认站点填空字符串""

# 初始化认证与连接
tableau_auth = TSC.TableauAuth(username, password, site_name)
server = TSC.Server(server_url, use_server_version=True)

with server.auth.sign_in(tableau_auth):
    # 后续操作都在此上下文内执行
    pass

2. 定位工作簿并提取仪表板ID

with server.auth.sign_in(tableau_auth):
    # 获取服务器上的所有工作簿
    all_workbooks, _ = server.workbooks.get()
    
    # 找到目标工作簿(替换为你的工作簿名称)
    target_workbook = next((wb for wb in all_workbooks if wb.name == "你的工作簿名称"), None)
    if not target_workbook:
        print("未找到目标工作簿")
        exit()
    
    # 加载工作簿的视图/仪表板详情
    server.workbooks.populate_views(target_workbook)
    
    # 遍历输出所有仪表板的名称和ID
    for view in target_workbook.views:
        if view.type == "dashboard":
            print(f"仪表板名称: {view.name}, ID: {view.id}")

执行后就能拿到目标仪表板的唯一ID,这是后续下载操作的核心标识。

二、理解筛选层级与动态应用筛选

Tableau的筛选分为三个层级,你不需要提前创建“筛选后”的仪表板,而是通过动态添加筛选参数生成带筛选的PNG:

  • 全局筛选:作用于整个工作簿,参数格式为全局字段名:值
  • 工作表筛选:仅作用于指定工作表,参数格式为工作表名称.字段名:值
  • 仪表板筛选:作用于仪表板内关联视图,直接用字段名即可(字段名需唯一)

应用筛选并下载PNG的代码示例

with server.auth.sign_in(tableau_auth):
    # 替换为你拿到的仪表板ID
    dashboard_id = "your-dashboard-id"
    
    # 配置图片请求选项,添加筛选参数
    image_options = TSC.ImageRequestOptions(
        image_format=TSC.ImageRequestOptions.ImageFormat.PNG,
        # 多个筛选用逗号分隔,字段名需与Tableau内完全一致
        filters="Region:West,Product Category:Electronics"
        # 工作表级筛选示例:"Sales Sheet.Region:East"
    )
    
    # 下载图片字节流
    image_bytes = server.views.get_image(dashboard_id, image_options)
    
    # 保存为本地PNG文件
    with open("filtered_dashboard.png", "wb") as f:
        f.write(image_bytes)
    
    print("筛选后的仪表板PNG已保存")

注意事项

  • 筛选字段名需与Tableau仪表板内的名称完全匹配(区分大小写)
  • 字段名含空格时直接保留原格式,无需转义
  • 若需应用多维度筛选,用逗号分隔不同的字段:值对

内容的提问来源于stack exchange,提问作者Coder OF Pyhton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 04:25:10