应用高级函数

高级函数是在报告应用程序中执行特定的有用任务的工具。您可以使用高级函数在字段上执行复杂的计算或操作。

工作原理

高级函数能是在字段中执行复杂的计算或操作的工具。高级函数接受输入并返回输出。

您可以单独将高级函数应用于字段,也可以与聚合函数结合使用。将高级函数与聚合函数结合使用时,必须先应用聚合函数。

示例

场景

您正在处理风险数据表,并且需要在报告中包含风险 ID。您尝试在报告中添加风险编号字段作为列,但您没有看到显示的适当值。

在项目应用程序中,风险 ID 被存储为两个单独的字段:

  • 目标参考
  • 风险编号

您需要将“目标参考”列与“风险编号”列相连接,以便报告包含每个风险的连接风险 ID 值。

流程

要在报告中显示风险 ID 值 DA-001,请应用级联列高级函数将“目标参考”列与“风险编号”列连接起来:

  • 目标参考 DA
  • 风险编号 001 001

结果

新列 将列添加到目标参考已被添加到您的报告中。该列中的值显示为 DA001。

权限

只有报告管理员和报告撰写者可以将高级函数用来报告数据。

将高级函数应用于字段

  1. 打开报告应用程序

    浏览页面随即打开。

  2. 打开报告并导航至报告生成器中的数据选项卡。
  3. 执行以下任一操作,找到要应用高级函数的字段:
    • 搜索字段输入关键字。
    • 展开文件夹以导航到相应的字段:
      • 维度描述记录的数据属性,例如可能性严重性
      • 度量报告中需衡量的值,例如成本影响项目预算.
      • 日期表示日期值,例如控制已创建控制已更新

        有关详细信息,请参阅创建报告

  4. 将字段从数据字段列表中拖到过滤器列表中。
  5. 单击字段名称旁边的向下箭头 ,然后选择高级函数
  6. 可选。要将高级函数与聚合函数结合使用,请首先定义聚合函数。

  7. 选择函数下拉列表中选择高级函数类别:
    • 分析可应用于数值字段的分析函数
    • 日期和时间可应用于日期时间字段的日期和时间分析函数
    • 统计可应用于数值字段和日期时间字段的统计函数
    • 文本允许您连接字符、数值或日期时间字段
  8. 从列表中选择要应用的高级函数。

    您可以输入搜索术语来过滤高级函数列表。有关详细信息,请参阅可用的高级函数

  9. 根据需要定义任何附加参数。

    某些高级函数要求您指定附加参数,例如百分比阈值、开始日期或附加列。

  10. 可选。仅在图表中显示启用此选项,仅在可视化效果中的字段上应用高级函数(非表格格式)。
    提示

    您还可以将高级函数应用于图表中的字段,该字段可以与应用于表格中的字段的高级函数不同。有关详细信息,请参阅使用图表可视化报告数据

  11. 要将字段从一种数据类型转换为另一种数据类型,请单击数据转换选项卡,定义要应用于字段的相应聚合函数 ,单击添加,选择适当的数据转换器,然后单击保存

    有关详细信息,请参阅可用的数据转换器

  12. 单击保存

    结果高级函数独立应用于该字段,或者与聚合函数结合使用。

    提示

    您可以通过导航至报告生成器中的设计选项卡,单击列名旁边的下拉箭头 ,然后选择高级函数,来验证高级函数是否显示相应的结果并进行快速更新。

可用的高级函数

在报告应用程序中查看可用的高级函数列表。可用的高级函数取决于高级函数所应用的字段的数据类型。

分析

高级函数 描述
累积百分比

将值返回为合计值的运行百分比

向下舍去累积百分比

显示字段中的值占总数的运行百分比

可以指定最大百分比截止值,或设置为用户提示

累积合计值 返回字段中的值的运行总和
升序排名

以排名的形式返回值

返回的最高值被赋予排名“1”。

最低 10 排序

以排名的形式返回值

返回的最低值被赋予排名“1”。该函数仅返回 10 个最低排名。

最低 N 排序

以排名的形式返回值

返回的最低值被赋予排名“1”。该函数仅返回指定数量的最低排名。

与最后一个的偏差 计算当前值与上一个值(高一行)之间的差
与最后一个 N 的偏差 计算当前值与高指定数量的行中的值之间的差
降序排序

以排名的形式返回值

返回的最低值被赋予排名“1”。

与上一值的偏差

显示与先前值的偏差

使用的公式是:(当前值 - 先前值)/先前值

列的差 将一个列从另一个列中减去
被除数列 显示两个选定列相除的结果,其中当前列为分母,分子在设置中定义
除数列 显示两个选定列相除的结果,其中当前列为分子,分母在设置中定义
过滤器占总计的百分比

显示字段中的值总计的百分比,其中百分比根据定义的方向高于或低于指定的阈值

已分组占总计的百分比

返回处于指定的百分比阈值内或低于该阈值的值

该阈值(百分比阈值)由您指定。例如,百分比阈值 80% 会返回处于 20% 或 80% 内或低于该阈值的值,具体取决于它们是否处于列合计的最高 80% 以内。

列相乘 将一个列乘以另一个列
自然对数 返回给定字段值的以 e 为底的对数
空值到零 将空值返回为零
相对于最大绝对值的百分比

说明

当前不支持该高级函数。

与列的百分比 将值返回为另一个列的百分比
与最大值的百分比 返回该属性相对于该数据集内最大属性值的百分比。
相较于列的变化的百分比 返回该属性相对于整个数据集的合计属性值的百分比
初始值的百分比 将值返回为该列中的初始值的运行百分比
总计的百分比 将值返回为列合计的百分比
删除值

排除高于/低于指定阈值的值

列之和 返回两个所选列之和
最高 10 排序

以排名的形式返回值

返回的最高值被赋予排名“1”。该函数仅返回 10 个最高排名。

最高 N 排序

以排名的形式返回值

返回的最高值被赋予排名“1”。该函数仅返回 10 个最高排名,仅返回指定数量的最高排名。

带绑定的最高 N

将值返回为“最高 N 排序”,并且为相等的值预留位置

名次相同的值就是具有相同排名的值。这意味着如果每个排名有多个记录,则将结果限制为总共 n 个排名。

总计的最高/最低 N 百分比 返回组成总和列的最高或最低 n 百分比的记录
截去数据集

从数据集的顶部或底部删除 n

日期和时间

说明

报告应用程序服务器时间是 UTC,且当前日期字段以 UTC 显示。UTC 是一种替代格林尼治标准时间(GMT)的全球时间标准。在大多数情况下,这两个标准是等效的。对于基于 UTC 的日期时间数据,如果到 UTC 的转换向前或向后跨越了午夜,日期会调整一天。

高级函数 描述
日期之间的天数 返回所选日期和另一个日期列之间的天数
日期外推

通过定义的周期数,扩展表中显示的日期范围

周期数和单位均可被定义。

日期时段提取程序

返回特定的日期组件

例如,您可以提取一个特定值,如年度、季度或月份,附加一个年度值,或者通过将一个日期与当前日期进行比较来将该日期分类为期间。

距离现在的天数 返回所选日期和当前日期之间的天数(以天为单位的时间跨度)
日期之间的月数 返回所选日期和另一个日期列之间的月数
距离现在的月数 返回所选日期和当前日期之间的月数(以月为单位的时间跨度)
之间的周天数 返回所选日期和另一个日期列之间的工作日数
日期之间的年数 返回所选日期和另一个日期列之间的年数
迄今的年数 返回所选日期和当前日期之间的年数(以年为单位的时间跨度)

统计

高级函数 描述
十分位数

将所有值划分成 10 等份,然后根据每个值相对于最高值的次序,为其分配一个 1 到 10 的值

十分位数被用来测量值的散布情况。

偏差 返回该值偏离平均值的偏差数
线性回归

将数据显示为以稳定的速率增加或减少

平均值

返回平均值(值的总和/计数)。

您可以指定按某个维度字段对平均值进行分组。例如,您可能想计算按项目名称分组的小时的平均值。这样,就可以根据每个项目的值来计算每个项目的平均值,而不是返回整个列的平均值。

中值 返回将该列中的值分为上下两个部分的值
移动平均值

移动平均值趋势线可消除数据中的波动,以更加清楚地显示模式或趋势

移动平均值使用特定数量的数据点(由“期限”选项设置),对其进行平均,然后使用平均值作为该条线中的点。例如,如果将“期限”设置为 2,则使用前两个数据点的平均值作为移动平均值趋势线中的第一个点。第二个和第三个数据点的平均值被用作趋势线中的第二个点,依此类推。

移动总计 过去 n 个期限的合计值
单纯预测

移动平均值预测模型的特例,其中,用于平滑的周期数是 1。

因此,期限 t 的预测只是上一个期限 t-1 的观察值。该函数只能被用于预测未来的一个期限。

多项式回归

显示数据波动的曲线

此函数可用于针对大型数据集分析损益。通过数据中波动的数量或曲线中出现的弯曲(波峰和波谷)的数量可以确定多项式的阶。2 阶多项式趋势线通常只有一个波峰或波谷。3 阶多项式趋势线通常具有一到两个波峰或波谷。4 阶多项式趋势线通常具有多达三个波峰或波谷。

四分位数

将返回的值划分成四等份,然后根据每个值相对于最高值的次序,为其分配一个 1 到 4 的值

四分位数被用来测量值的散布情况。

标准偏差 返回列的标准偏差
与平均值的标准偏差 根据平均值来度量一组数据的离差
标准分数 计算每个值高于或低于平均值多少个标准偏差
分段式回归
说明

当前不支持该高级函数。

趋势 根据延长的周期显示度量趋势
三次指数平滑 返回基于输入数据集的三次指数平滑结果
方差 计算列的方差
加权移动平均值 返回加权移动平均值,值越新,所应用的权重越大

文本

高级函数 描述
级联列 将该值与来自另一字段的值连接

常用的高级函数

查看常用的高级函数列表,并查看如何将这些函数应用于 Diligent One 数据的示例。

分析

高级函数 描述 示例
列的差 将一个列从另一个列中减去

计算为项目维持的预算:

  • 字段小时 (已应用求和聚合函数)
  • 项目预算
  • 附加列项目名称
列相乘 将一个列乘以另一个列

生成风险评分:

  • 字段影响
  • 可能性
总计的百分比 将值返回为列合计的百分比

计算每个团队成员的时间中已被花在项目上的百分比:

  • 字段小时 (已应用求和聚合函数)
  • 报告节项目成员
  • 附加列项目名称
与列的百分比 将值返回为另一个列的百分比

计算项目预算中已使用的百分比。

  • 字段小时 (已应用求和聚合函数)
  • 项目预算
  • 附加列项目名称

日期和时间

高级函数 描述 示例
日期之间的天数 返回所选日期和另一个日期列之间的天数

计算问题创建和补救之间的天数:

  • 字段问题创建
  • 开始日期问题补救
距离现在的天数 返回所选日期和当前日期之间的天数(以天为单位的时间跨度)

计算问题的开放天数。

  • 字段问题创建
  • 应用一个过滤器以便只有未结问题被包括在结果中:

    问题已关闭?等于否

之间的周天数 返回所选日期和另一个日期列之间的工作日数

计算问题的开放工作日数。

  • 字段问题创建
  • 应用一个过滤器以便只有未结问题被包括在结果中:

    问题已关闭?等于否

可用的数据转换器

数据转换器处理数据以将字段从一种数据类型转换为另一种数据类型。可用的转换器取决于字段的数据类型和应用于该字段的聚合函数。

说明

数据转换器仅转换字段以用于显示目的。转换后的字段不能用于过滤器或计算字段。

说明

以下数据转换器不受支持:

  • 文件名 BLOB 转换器
  • Java 时间戳转换器
  • 时区转换器
  • WKT 几何图形
转换器 转换...
数值除法转换器 数值,将它们除以指定的值
将数值转换为文本 将数值域转换为文本域
将文本转换为数值 包含数值的文本字段为数值字段
SQL 时间戳转换器文本 文本值为使用特定日期格式的 SQL 日期值
SQL 时间戳转换器文本 文本值为使用特定时间戳格式的 SQL 时间戳值