理解报表数据模型:函数

为了简化针对报表数据模型的查询的开发和设计,向报表设计器提供了几个实用程序函数。

数据模型2.0.0公开了关于跨站点链接资产的信息。所有以前的信息仍然可用,并且格式相同。在数据模型2.0.0中,有一个网站列在dim_asset维度中,该维度列出资产所属的站点。

年龄

在1.2.0版本中添加

描述:计算指定日期与现在之间的时间差。与内置的age函数不同,这个函数接受要计算的单位作为参数。这个函数将根据指定的单位计算年龄和轮数。有效的单位值为(输出精度):

  • (2位精度)
  • 个月(2位精度)
  • (2位精度)
  • (1位精度)
  • 小时(1位精度)
  • 分钟(0位精度)

年龄的计算不考虑时区,并使用启发式的时间值。换句话说,年龄是根据从日期到现在所经过的时间计算的,而不是日历时间。例如,假设一年有365.25天,一个月有30.4天。

输入:(timestamp, text)计算年龄的日期,以及计算的单位。

输出:(数字)年龄的值,以指定的单位表示,精度基于输入单位。

baselineComparison

描述:一个自定义聚合函数,它在一个分组表达式内对来自两个快照的一组标识符进行比较,以返回一个基线计算结果,“新”、“旧”或“相同”。这个结果表明被分组的实体是仅以最近的状态(“New”)出现,还是仅以以前的状态(“Old”)出现,还是同时以两种状态出现(“Same”)。此聚合可以对具有时间特性的对象的标识符进行聚合(例如扫描标识符)。

输入:(bigint, bigint)处于新状态或旧状态的任何值的标识符,后面跟着最近状态的标识符。

输出:(文本)一个值,指示基线的计算值是“新”、“旧”还是“相同”。

csv

在1.2.0版本中添加

描述:返回聚合组中定义的以逗号分隔的值列表。这个函数可以用来替换语法array_to_string(array_agg(column), ',')。在创建值列表时,顺序被定义为在聚合中观察到的顺序。

输入:(text)要放在输出列表中的文本值。

输出:(文本)聚合中所有值的逗号分隔列表。

htmlToText

在1.2.0版本中添加

描述:将HTML内容和结构格式化为扁平的纯文本格式。此函数可用于转换包含内容元数据的字段,如漏洞证明、漏洞描述、解决方案修复等。

输入:(文本)包含要格式化的嵌入HTML内容的值。

输出:(text)纯文本表示。

lastScan

描述:返回资源最近扫描的标识符。

输入:(bigint)资源的标识符。

输出:(bigint)最近在资源上成功完成的扫描标识符。因为每个资产都必须完成一次扫描,所以保证不会返回null。

maximumSeverity

在1.2.0版本中添加

描述:返回聚合组内的最大严重性值。在包含多个严重性不同的漏洞的分组中使用时,可以使用此聚合来选择所有漏洞的最高严重性。例如,集合严重的温和的严重的.此聚合应该仅用于包含漏洞严重程度排名的列。

输入:(文本)要选择的严重性值。

输出:(文本)组内发现的最大严重性值:至关重要的温和的,或严重的

previousScan

描述:返回资产最近一次扫描之前发生的扫描的标识符(请参阅函数lastScan)。

输入:(bigint)资源的标识符。

输出:(bigint)资产最近一次扫描之前发生的扫描的标识符。如果一个资源只被扫描一次,这将返回null。

proofAsText

1.2.0版已弃用。使用htmlToText()。

描述:将漏洞实例的证明格式化为扁平的纯文本格式输出。这个函数是htmlToText()函数的别名。

输入:(text)要格式化的证明值,可以为空。

输出:(文本)格式化为显示为纯文本的证明值。

scanAsOf

描述:返回在指定日期之前在资源上发生的扫描的标识符(独占)。

输入:(bigint, timestamp)资源的标识符和之前要搜索的日期。

输出:(bigint)在指定日期之前在资产上发生的扫描的标识符,如果在指定日期之前没有在资产上发生扫描,则为空。

scanAsOfDate

在1.2.0版本中添加

描述:返回在指定日期之前在资源上发生的扫描的标识符。看到scanAsOf ()如果您正在使用时间戳字段。

输入:(bigint, date)资源的标识符和之前要搜索的日期。

输出:(bigint)在指定日期之前在资产上发生的扫描的标识符,如果在指定日期之前没有在资产上发生扫描,则为空。