Tableau api 具有动态模式的Tableau WDC
查看Tableau web数据连接器的文档,我似乎必须在检索数据之前定义数据模式?是否可以从RESTAPI检索数据,然后从REST响应填充模式 用例是我有一个RESTAPI,我将参数传递给它,根据参数的不同,返回的数据模式会有所不同。来自API的JSON响应包括一个“schema”部分,用于记录JSON数据部分的schema部分 此处是JSON响应的简化版本:Tableau api 具有动态模式的Tableau WDC,tableau-api,Tableau Api,查看Tableau web数据连接器的文档,我似乎必须在检索数据之前定义数据模式?是否可以从RESTAPI检索数据,然后从REST响应填充模式 用例是我有一个RESTAPI,我将参数传递给它,根据参数的不同,返回的数据模式会有所不同。来自API的JSON响应包括一个“schema”部分,用于记录JSON数据部分的schema部分 此处是JSON响应的简化版本: { 'fields': [{ 'name': 'id', 'fieldType': 'int' }, { 'na
{
'fields': [{
'name': 'id',
'fieldType': 'int'
},
{
'name': 'name',
'fieldType': 'string'
},
{
'name': 'value',
'fieldType': 'long'
}],
'data': [{
'record1': {
'id': '1',
'name': 'larry',
'value': '1596429'
}
},
{
'record2': {
'id': '2',
'name': 'Curly',
'value': '5464767'
}
}]
}
“模式”在json的“字段”部分中定义,数据全部在“数据”部分中,但模式将根据传递给API的参数而改变
我无法实现这一点,我发现的所有示例似乎都表明我需要定义模式,然后检索数据,但是如果返回的数据模式根据提交的参数发生更改,那么模型很快就会崩溃
是否有一种方法可以首先检索数据,然后根据API的响应数据动态定义模式?没有任何东西可以阻止您在WDC的getSchema函数中提取数据。您可以在该阶段发出请求,从端点获得的“fields”对象中获取所需的信息,对其进行解析以匹配Tableau的需求,并将其作为模式传入。您仍然需要在getData函数中再次提取数据。您可以发出第二个请求,也可以将第一个请求中的数据存储在变量中,然后从该变量中提取数据。但是,请注意,如果刷新WDC并且架构已更改,则可能会弄乱在数据源上构建的任何工作表。没有任何东西可以阻止您在WDC的getSchema函数中提取数据。您可以在该阶段发出请求,从端点获得的“fields”对象中获取所需的信息,对其进行解析以匹配Tableau的需求,并将其作为模式传入。您仍然需要在getData函数中再次提取数据。您可以发出第二个请求,也可以将第一个请求中的数据存储在变量中,然后从该变量中提取数据。但是,请注意,如果刷新WDC并且模式已更改,则可能会弄乱在数据源上构建的任何工作表