合并函数
合并是一种将大量大致连续值分成少量“合并”的分组方法。
函数 | 说明 |
---|---|
AutoBinNumeric | 试图将指定列中的值分组成定义的合并数。但是,合并数可能多于或少于定义的数目,因为该方法总是在易于阅读的限制(尽可能使合并数平均)下生成合并。
第一个参数是要合并的列,第二个参数是目标合并数。
示例: AutoBinNumeric([Column], 10) |
BinByDateTime | 根据自然日期、日期时间或时间层级将值分组成合并。
第一个参数是要合并的Date、Time或DateTime列。第二个参数是层级中级别的定义。层级级别应以包含所需的日期部分且由点分隔的字符串格式写入,例如“Year.Quarter.Month”。第三个参数是指定了要显示的层级级别的修剪级别。 如果基于 BinByDateTime 表达式编写自定义表达式,您将看到具有所有指定可用层级的列选择器,但层级滑块控点位于指定修剪级别。
Arg2 的有效参数包括以下项的组合: “year”或“yy”- 年。 “quarter”或“qq”- 季度。 “month”或“mm”- 月。 “day of year”或“dy”- 年中第几日。 “day”或“dd”- 日。 “week”或“wk”- 周。 “day of week”或“dw”- 工作日。 “hour”或“hh”- 时。 “minute”或“mi”- 分。 “second”或“ss”- 秒。 “millisecond”或“ms”- 毫秒。
示例: BinByDateTime([Column],"Year.Quarter.Month.Day",2) 对于名为“订单日期”的日期列,以上表达式在自定义表达式中使用时会让列选择器和层级滑块如下所示: 修剪级别 0 会将滑块控点设置到“年”位置,1 意味着季度,2 意味着月,3 意味着日。 |
BinByEvenDistance | 对指定列中的值进行分组,以使所有合并之间等间距。
第一个参数是要合并的列,第二个参数是间隔长度。第三个(可选)参数指定开始计数的位置。如果未指定开始参数,则第一个合并从零开始。
示例: BinByEvenDistance([Column], 10) BinByEvenDistance([Column], 10, 5) |
BinByEvenDistribution | 对指定列中的值进行分组,以使每个合并(组)具有与其他合并一样的唯一值数。最后一个合并的唯一值数可能大于其他合并。
第一个参数是要合并的列,第二个参数是合并数。无效值将产生无效的结果。
示例: BinByEvenDistribution([Column], 5) BinByEvenDistribution(Rank([Column])*Count() + RowId(), 3) |
BinByEvenIntervals | 对指定列中的值进行分组,以使值范围划分为等间隔。第一个参数是要合并的列,第二个参数是合并数。
示例: BinByEvenIntervals([Column], 5) |
BinBySpecificLimits | 按照定义的合并(组)限制,对指定列中的值进行分组。第一个参数是要合并的列,后续参数是用于合并的限制。包含大于最大限制的值的所有行将具有相同的合并值。无效值将产生无效的结果。
示例: BinBySpecificLimits([Column], 1, 2, 3, 10) |
BinByStdDev | 根据从平均值得出的值距离(以标准偏差计),将值分组成不同的合并。第一个参数是要合并的列,后续参数是自平均值起要显示的标准偏差数。标准偏差参数应为升序,所有值应为正数。
示例: BinByStdDev([Column], 0.5, 1) 这样将为以下各项创建合并: ≤ -1 标准偏差 -1 标准偏差 -0.5 标准偏差 0.5 标准偏差 1 标准偏差 > 1 标准偏差 |
BinBySubstring | 根据值的开头或结尾字符将值分组成合并。这意味着您可以使用该方法将所有“A”开头的值分为一个合并、“B”开头的值分为另一个合并,等等。
第一个参数是要合并的String列,后续参数是子字符串中的字符数。如果第二个参数为负数,则子字符串从值的末尾开始。
示例: BinBySubstring([Column], 1) BinBySubstring([Column], -4) BinBySubstring(String([Integer Column]), 1) |
BinByTimeSpan | 根据时间间隔将值分组成合并。
第一个参数是要合并的TimeSpan列。第二个参数是以字符串形式书写的层级定义,其中包含所需的时间间隔部分,并用点进行分隔(例如“Hours.Minutes”)。第三个参数是基于零的修剪级别,指定了要显示的层级级别。 Arg2 的有效参数包括以下项的组合: “Days”- 日。 “Hours”- 时。 “Minutes”- 分。 “Seconds”- 秒。 “Milliseconds”- 毫秒。 示例: BinByTimeSpan([Column],"Days.Hours.Minutes.Seconds",2) 对于名为“时差”的TimeSpan列,以上表达式在自定义表达式中使用时会让列选择器和层级滑块如下所示: |
FiscalBinByDateTime | 根据自然日期或日期时间层级将值分组成合并,并通过级别切换指定的月份数。
第一个参数是要合并的Date或DateTime列。第二个参数是以字符串形式书写的层级定义,其中包含所需的日期部分,并用点进行分隔(例如“Year.Quarter.Month”)。仅支持Year、Quarter和Month。第三个参数是指定了要显示的层级级别的修剪级别。第四个参数(可选)时要切换的月份数。 如果未指定第四个参数,则会使用文档属性 FiscalYearOffset 的值。
示例: FiscalBinByDateTime([Date Column], "Year.Quarter.Month", 1, 2) FiscalBinByDateTime([Date Column], "Year.Quarter.Month", 2) |
示例
考虑具有以下值的列:
如果列的合并使用了以下合并方法,则产生的限制如下:
合并方法 | 结果 |
---|---|
AutoBinNumeric([Column],5) | ![]() |
BinByEvenDistance([Column],5) | ![]() |
BinByEvenDistribution([Column],5) | ![]() |
BinByEvenIntervals([Column],5) | ![]() |
BinBySpecificLimits([Column],-2,4,10,16,22) | ![]() |