Tableau api 带有混合数据源的Datediff

Tableau api 带有混合数据源的Datediff,tableau-api,Tableau Api,我有两个日期字段,它们来自两个不同的数据源。一个来自事件记录的CSV文件“开放时间”,另一个来自SharePoint列表“上线”。这两个数据源在一个共同的字符串值上混合,该字符串值称为“DB Name” 此外,SP列表“DB名称”字段与CSV中的事件记录具有1对多关系 我需要找到我想用作过滤器的计算列的“开放时间”和“上线”之间的天数差。基本上,如果“开放时间”是“上线”日期后30天或更短,我希望包括事件记录 我不知道如何在一个记录一个记录的基础上做到这一点。有人有这方面的代码示例吗 我必须在T

我有两个日期字段,它们来自两个不同的数据源。一个来自事件记录的CSV文件“开放时间”,另一个来自SharePoint列表“上线”。这两个数据源在一个共同的字符串值上混合,该字符串值称为“DB Name”

此外,SP列表“DB名称”字段与CSV中的事件记录具有1对多关系

我需要找到我想用作过滤器的计算列的“开放时间”和“上线”之间的天数差。基本上,如果“开放时间”是“上线”日期后30天或更短,我希望包括事件记录

我不知道如何在一个记录一个记录的基础上做到这一点。有人有这方面的代码示例吗

我必须在Tableau 8.2中这样做,我不能更改任何一个数据源中的数据


提前感谢您的帮助。

最好的解决方案是实际加入这些来源。但如果这不是一个选项,混合有一些技巧,但也有局限性

如果您有一对多关系,那么应该使用“多”部分作为主要数据源。这样,当你这样做的时候

DATEDIFF('day',MAX([Open Time]),MAX([SharePoint].[Go Live]))
关系将是多对一,而不是一对多,MAX()将不起任何作用


限制是,只有在工作表上明确显示[Open time]时,此选项才有效,否则将只取最大值。

感谢您的回复,您能解释一下“明确显示Open time”部分吗?您需要在工作表上添加[Open time]字段。Tableau将始终按照工作表中可用的最低详细程度进行汇总。如果您没有在工作表上解释[开放时间],它将在其他任何字段上聚合,在这种情况下,[上线]是一个,而[开放时间]是多个。是否仍应将其格式设置为
DATEDIFF('day',MAX([Open Time])、MAX([SharePoint].[Go Live])
既然SharePoint列表不是受支持的表格数据源,您如何连接到SP列表?你在用OData吗?定期提取Excel转储?使用MS Access作为中间层?我使用的是Odata连接。