Tableau api 表中基于时间的数据聚合

Tableau api 表中基于时间的数据聚合,tableau-api,Tableau Api,我正在尝试创建基于时间维度的聚合数据,如下所示: 数据示例: 日期时间、流ID、卷 t0,1100 t1,2200 t2,3300 t2,4400 t2,5100 t3,4100 当我在DateTime维度上可视化sum(Volume)时,Tableau正确地将时间t2的总体积显示为时间t2(300+400+100)的所有记录的总和 我还试图获得一个视图,该视图显示基于一天中小时数的表格,如下所示: 日期时间 012…23 ------------------------------------

我正在尝试创建基于时间维度的聚合数据,如下所示: 数据示例:
日期时间、流ID、卷
t0,1100
t1,2200
t2,3300
t2,4400
t2,5100
t3,4100

当我在DateTime维度上可视化sum(Volume)时,Tableau正确地将时间t2的总体积显示为时间t2(300+400+100)的所有记录的总和
我还试图获得一个视图,该视图显示基于一天中小时数的表格,如下所示:
日期时间
012…23
-----------------------------------------------------
总体积yz…t
最大容量AC…d

我希望Max Volume是小时内的“本地最大值”(在本例中,是在同一日期时间t2内发生的所有FlowID实例中的所有卷记录的总和)

我已经对running_max函数进行了如下研究:
运行_max(sum([Volume]),-2,0),但这只会给出时间t2的最后两条记录。 我不知道究竟有多少条记录在同一时间,所以我不能确定地使用-2或-3

有什么想法吗?

试试window_max(sum(Volume)),这是一个表计算。因此,您还需要指定用于寻址的维度,即使用计算。这和公式一样重要,可能需要一些实验才能正确


根据您的描述,我认为您需要使用FlowId进行计算。

只需按照描述设置适当的[DateTime]聚合-从该页面显示的菜单中,您需要蓝色矩形中的“小时”


然后将MAX([Volume])放在行上,您应该会没事。

您声明希望MAX Volume为“在本例中是”。。。你是说“最大的”。。。?如果是这样的话,那么仅仅是Max(Volume)就足够了,也就是说,将聚合函数更改为Max?我希望Max Volume行是在同一日期时间值存在的所有卷值之和的Max。在这种情况下,如果时间t1和t2在同一个小时标记内(DateTime表下的小时1),则t1的所有FlowID之和为200(只有一条记录),t2的所有FlowID之和为800(300+400+100),因此表中第1列的最大体积应为800(时间t1和t2的最大体积之和,即最大(200800))我试过了。window_max的问题是您必须设置窗口的大小。相反,我想改用DateTime字段。也就是说,我希望聚合发生在DateTime字段相同的情况下(更好的是,如果DateTime字段中的值彼此在一个范围内,例如5秒),您不必设置窗口的大小。window_max()的后两个参数是可选的。如果不使用最后两个参数,那么Tableau将返回整个窗口的最大值,该值由用于分区的维度定义。也就是说,查看可视化中的所有维度,选择一个(或多个)用于使用维度进行计算。所有其他维度决定了窗口的分区。您不必设置窗口的大小。window_max()的后两个参数是可选的。如果不使用最后两个参数,那么Tableau将返回整个窗口的最大值,该值由用于分区的维度定义。查看可视化中的所有维度,选择一个(或多个)用于使用维度进行计算。所有其他维度决定分区。因此,使用FlowId进行计算,并将VIZ中的DateTime字段设置为维度,而不是度量值,如果要将时间分为非标准块,请使用计算字段。