我喜欢数据。它可用于管理价值和表达关系的方式从未间断令我惊叹。就此而言,可视化数据通常是共享见解的最强大方法之一,Tableau当然是(即使不是)市场上最受欢迎的数据可视化工具之一。对于非技术用户来说,使用直观的UI来开发丰富而有意义的图形非常简单,而且当提取内容存储在Tableau中时,引擎盖下还具有一些非常好的功能,可用于加快查询性能。
我绝对喜欢的Tableau功能是,您可以使用Tableau本身使用的相同GraphQL API查询元数据。暴露的部分元数据包括Tableau Site中存在的字段,工作表,表和数据存储的沿袭。通过如此广泛的API公开元数据是Tableau背后的团队的一个非常前瞻性的想法。
如何使用Tableau Metadata API
Tableau Metadata API通过GraphQL公开,Tableau包装在python库Tableau Server Client中。该库是最容易使用的API之一-Tableau简化了所有身份验证和序列化操作,以使用户可以仅关注他们要执行的查询。
优点:
- 该图允许查询Tableau中的许多不同实体和数据资产
- 即使请求大量多维关系,API的性能也非常好
- Python客户端非常简单直观,可以为用户处理身份验证和序列化
缺点:
- 该文档稀疏-尚不清楚何时期望提供上游或下游数据沿袭资产或何时将它们为空
- 每个数据资产的“完整”谱系不可用,您只能从上游一步或下游一步提取谱系(至少从使用API可以知道的谱系中)
- Tableau每季度左右发布一个新的API版本,但是文档未描述该版本中可用的功能
让我们看一些可用于查询Tableau元数据的代码。
认证方式
您可以通过使用用户名和密码进行身份验证来使用Tableau API,但是更安全和建议的方法是使用客户端令牌。我还在下面创建了一个简单的帮助器函数来验证和执行查询。
定义查询
Tableau Metadata API是一种开始学习GraphQL的绝佳方法,因为Tableau会为您处理所有序列化,并且它们的Graph遵循一套一致且易于理解的约定。
下面的函数执行一个查询,该查询将返回站点中存在的所有已计算字段。使用GraphQL的好处在于,我们可以同时要求Tableau返回所有引用每个计算字段的字段,并且甚至可以更深入地为每个引用计算字段的字段请求所有工作表。
创建您的数据沿袭
现在您有了Tableau中的元数据,如何构造和使用输出完全取决于您。本示例将定义边和节点。这些是网络关系和数据沿袭的基本构建块。
查看边缘和节点
现在,运行上述所有功能将导致创建可视化数据沿袭所需的对象。节点和边缘几乎可以插入任何网络可视化工具(例如NetworkX)中,以查看输出。
总结思想
我赞扬Tableau启用了这种形式的数据访问,尽管我认为这是一个利用率不足和利用不足的好处。许多公司没有完全充分利用Tableau中的此元数据。理解数据如何移动以及数据之间的依赖关系是一项至关重要的功能,尤其是当组织尝试维护良好管理的做法和对如何使用其数据的控制时。当您希望在公司内部利用Tableau元数据和数据沿袭时,请确保您正在采取额外的步骤将数据沿袭与上游流程联系起来,以提供对沿袭的完整而全面的了解。