Tableau api 如何在Tableau CustomSQL中注入(动态?)参数
我目前试图在Tableau中解决以下问题: 最后,我希望有一个Tableau仪表板,用户可以在其中选择客户,然后查看客户的KPI。到目前为止还没有什么壮观的场面 要获取客户的KPI,有一个带有参数“CustomerName”(返回该客户的KPI)的CustomSQL查询 现在的问题是: 我不想有一个硬编码的客户名称列表,因为它可能与Tableau参数。相反,应该从另一个数据源获取客户名称。我没有找到将参数“链接”到数据源和/或将静态参数以外的内容注入CustomSQL的方法。 我的问题:是否真的没有解决方案,或者我只是做错了什么(我希望如此) 我在这里找到了一个似乎有效的解决办法,但看起来。。。变通办法 一些背景信息: 我必须坚持使用CustomSQL,因为Tableau api 如何在Tableau CustomSQL中注入(动态?)参数,tableau-api,Tableau Api,我目前试图在Tableau中解决以下问题: 最后,我希望有一个Tableau仪表板,用户可以在其中选择客户,然后查看客户的KPI。到目前为止还没有什么壮观的场面 要获取客户的KPI,有一个带有参数“CustomerName”(返回该客户的KPI)的CustomSQL查询 现在的问题是: 我不想有一个硬编码的客户名称列表,因为它可能与Tableau参数。相反,应该从另一个数据源获取客户名称。我没有找到将参数“链接”到数据源和/或将静态参数以外的内容注入CustomSQL的方法。 我的问题:是否真的
- 我无法计算所有客户的所有KPI 然后根据表格进行过滤,因为数据量太大
- 用Tableau计算替换CustomSQL是不可行的 过滤器(已经尝试过了)最终导致了Tableau的出现 数据太多,而不是将工作推送到数据库)
您是否尝试过在数据库端使用
rawsql()
函数和存储函数?当需要从与当前使用的数据源完全无关的数据集中加载单个值时,我发现它非常有用。
例如,运行foo
存储函数,该函数接受2个日期和计算出的某物的总和,语法应该如下所示:
rawsql_int(your_db_schema.foo(%1,%2),[startDateFieldTableau],[endDateFieldTableau])
但您可以直接访问它:
rawsql_int("select sum(bar) from sales")
但这有点冒险
缺点:
- 它依赖于当前连接(您创建了一个计算字段(duh!)
- 它不会与extract一起工作(但您无论如何都在使用自定义sql,所以我相信您更喜欢实时连接)