Spotfire® Web 客户端用户指南

合并函数

合并是一种将大量大致连续值分成少量“合并”的分组方法。

函数 说明
AutoBinNumeric 试图将指定列中的值分组成定义的合并数。但是,合并数可能多于或少于定义的数目,因为该方法总是在易于阅读的限制(尽可能使合并数平均)下生成合并。

第一个参数是要合并的列,第二个参数是目标合并数。

示例:

AutoBinNumeric([Column], 10)

BinByDateTime 根据自然日期、日期时间或时间层级将值分组成合并。

第一个参数是要合并的 DateTimeDateTime 列。第二个参数是层级中级别的定义。层级级别应以包含所需的日期部分且由点分隔的字符串格式写入,例如“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”- 毫秒。

或者,Arg2 也可以是以下组合:

isoyear”- ISO 8601 周数年。

isoweek”- ISO 8601 周数。

示例:

BinByDateTime([Column],"Year.Quarter.Month.Day",2)

对于名为“订单日期”的日期列,以上表达式在自定义表达式中使用时会让列选择器和层级滑块如下所示:

修剪级别 0 会将滑块控点设置到“年”位置,1 意味着季度,2 意味着月,3 意味着日。

BinByDateTime([Column],"ISOYear.ISOWeek",1)

要根据 ISO 8601 对日期列使用合并,请使用 isoyearisoweek 日期部分,而不是常规的日期部分。

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 根据自然日期或日期时间层级将值分组成合并,并通过级别切换指定的月份数。

第一个参数是要合并的 DateDateTime 列。第二个参数是以包含所需的日期部分且由点分隔的字符串格式写入的层级级别定义(例如“Year.Quarter.Month”)。仅支持季度。第三个参数是指定了要显示的层级级别的修剪级别。第四个参数(可选)时要切换的月份数。

如果未指定第四个参数,则会使用文档属性 FiscalYearOffset 的值。

示例:

FiscalBinByDateTime([Date Column], "Year.Quarter.Month", 1, 2)

FiscalBinByDateTime([Date Column], "Year.Quarter.Month", 2)

注: 如果将使用自定义表达式并且带有合并的轴设置为“评估以下位置的轴表达式:仅当前筛选”(仅在使用 Windows 客户端时适用),将在每次筛选时重新计算合并。

另请参见函数

示例

考虑具有以下值的列:

如果使用以下合并方法对列进行合并,则会产生以下限制:

合并方法 结果
AutoBinNumeric([Column],5)

BinByEvenDistance([Column],5)

BinByEvenDistribution([Column],5)

BinByEvenIntervals([Column],5)

BinBySpecificLimits([Column],-2,4,10,16,22)

提示:您可以通过对列执行更改格式操作来减少(或者去除)轴上显示的小数位数。