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 会处理对该连接器的后续请求,因此您也可以依靠它来执行此操作。
我正在构建一个连接到 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 会处理对该连接器的后续请求,因此您也可以依靠它来执行此操作。