沿指定的轴创建指定聚合值的序列。

T | make-series [ MakeSeriesParameters ] [ Column = ] Aggregation [ default = DefaultValue ] [ , ...] on AxisColumn [ from start ] [ to end ] step step [ by [ Column = ] GroupExpression [ , ...]]

标量 (scalar) 要使用的默认值,而不是不存在的值。 如果没有具有 AxisColumn GroupExpression 特定值的行,则将为数组的相应元素分配 DefaultValue 。 默认为 0。 对 聚合函数 (如 count() avg() )的调用,其中以列名作为参数。 请参阅 聚合函数列表 。 只能将返回数值结果的聚合函数与 make-series 运算符配合使用。 AxisColumn 序列的排序依据的列。 通常,列值的类型为 datetime 或 , timespan 但接受所有数值类型。 start 标量 (scalar) 要生成的每个序列的 AxisColumn 的低边界值。 如果未指定 start ,则它将是每个序列中具有数据的第一个箱或步骤。 标量 (scalar) AxisColumn 的高边界非非独占值。 时序的最后一个索引小于此值,并且将是 小于 结束 的起始步骤 的整数倍数。 如果未指定 end ,它将是最后一个箱或步骤的上限,其中包含每个序列的数据。 标量 (scalar) AxisColumn 数组的两个连续元素之间的差异或箱大小。 有关可能的时间间隔的列表,请参阅 时间间隔 GroupExpression 对提供一组非重复值的列的表达式。 通常,它是已提供一组受限值的列名。 MakeSeriesParameters 控制行为的 “名称 = ”形式的零个或多个空格分隔参数。 请参阅 支持的 make 系列参数

start end step 参数用于生成 AxisColumn 值的数组。 数组由 开始 结束 之间的值组成, 步骤值表示 一个数组元素与下一个数组元素之间的差异。 所有 Aggregation 值分别按顺序排列到此数组。

支持的 make 系列参数

T | make-series [ Column = ] Aggregation [ default = DefaultValue ] [ , ...] on AxisColumn in range( start , stop , step ) [ by [ Column = ] GroupExpression [ , ...]]

使用替代语法生成的序列与使用主语法生成的序列有两个方面的差异:

  • stop 值包含在内。
  • 使用 bin() 而不是 bin_at() 生成索引轴分箱,这意味着生成的序列中可能不包括 start。
  • 建议使用 make-series 的主语法,而不是备用语法。

    输入行将排列成与 by 表达式以及 bin_at( AxisColumn , step , start ) 表达式具有相同值的组 。 然后,对每个组计算指定的聚合函数,从而为每组生成行。 结果包含 by 列和 AxisColumn 列,还至少包含用于每个计算聚合的一列。 不支持对多个列或非数值结果进行 (聚合。)

    此中间结果包含的行数与 by bin_at( AxisColumn , step , start ) 值的不同组合数相同 。

    最后,中间结果中的行被排列为具有相同 by 表达式值的组,且所有聚合值都排列为数组( dynamic 类型的值)。 对于每个聚合,有一个列包含具有相同名称的数组。 最后一列是一个数组,其中包含根据指定步骤装箱的 AxisColumn 的值 。

    尽管可为聚合和分组表达式提供任意表达式,但使用简单的列名更加高效。

    聚合函数列表

    一张表,其中显示了从每家供应商订购的每种水果的数量和平均价格组成的数组,该表的排序依据是指定范围的时间戳。 水果与供应商的每个不同组合在输出中都占一行。 输出列显示水果、供应商,以及由以下元素组成的数组:计数、平均值和整个时间线 (2016-01-01 - 2016-01-10)。 所有数组都按各自的时间戳排序,并且所有间隙均用默认值(在本示例中为 0)填充。 忽略所有其他输入列。

    T | make-series PriceAvg=avg(Price) default=0
    on Purchase from datetime(2016-09-10) to datetime(2016-09-13) step 1d by Supplier, Fruit
    | take 0
    | make-series avg(metric) default=1.0 on timestamp from stime to etime step interval 
    | count 
    | take 0
    | make-series kind=nonempty avg(metric) default=1.0 on timestamp from stime to etime step interval 
    avg_metric
    timestamp