Data Studio Community Connectors:结合基于时间和非时间的指标

Data Studio Community Connectors: Combine time and non-time based metrics

我正在构建一个连接到 API 的连接器,它为基于时间序列的指标(例如 'number of users per day')和静态指标(例如 'project status').

如果我要构建单个连接器,我必须在时间序列值中插入静态指标,对吗?

所以,如果我的架构是

[{name=day}, {name=users}, {name=status}]

那么我的价值观会是这样

['20181101', 150, '85%']
['20181102', 125, '85%']
['20181103', 134, '85%']
['20181104', 185, '85%']
['20181105', 111, '85%']
['20181106', 123, '85%']

因为 'status' 字段不依赖于时间。

虽然这似乎可行,但看起来效率很低。我是否遗漏了什么,或者我应该为静态指标端点构建一个单独的连接器?

谢谢!

根据您的描述,您似乎在尝试合并两个独立的 table。如果您有一个带日期的时间序列数据,以及一个单独的没有日期的项目状态系列,那么将您的连接器拆分为 return 两个不同的系列。

getSchema 方法传递了一个请求对象,因为它超出了 getConfig() 调用的范围。因此,可以根据参数拆分该模式。例如:

   function getSchema(request){
       switch(request.configParams.myTableOption){
           case 'tableOption1': 
               return mySchemaObject.tableOption1;
           case 'tableOption1': 
               return mySchemaObject.tableOption1;
       }
    }

当然是超级简化了,但是那应该提供一个更灵活的连接器,它可以 return 不同的 table 类型。您还必须类似地将 getData() 拆分为 return 正确的数据,但是相同的 configParam 会处理对该连接器的后续请求,因此您也可以依靠它来执行此操作。