全部展开/折叠
Before - 图表函数在该页面上
Before() 返回使用透视表的维度值评估的表达式,因为维度值显示在透视表的行段内当前列之前的列。
语法:
Before( [TOTAL] expr
[, offset [, count]])
信息注释 在除透视表之外的所有图表 类型中,此函数会返回 NULL 。
信息注释 当在图表的任何表达式中使用此图表函数时,不允许对图表中的 y 值进行排序或按表中的表达式列进行排序。因此,这些排序替代项会自动禁用。当您在可视化或表格中使用此图表函数时,可视化的排序将返回到此函数的排序输入。
参数
expr
表达式或字段包含要度量的数据。
offset
指定 offset n (大于 1)会将表达式评估从当前列开始向左移动 n 列。
指定 0 偏移量可以计算当前列上的表达式的值。
指定负偏移量数值后,使 Before 函数效果类似于具有相应正偏移量数值的 After 函数。
count
通过指定第三个参数 count (大于 1),函数将返回一连串值,每个值对应一个从原始单元格开始向左计数的 count 表格列。
TOTAL
如果表格是单维度或如果将 TOTAL 限定符用作参数,则当前列段数据总是与整列相等。 定义聚合范围
行段的第一列会返回 NULL 值,因为其前没有列。
如果透视表有多个水平维度,则当前行片断将只包括值与所有维度行中当前列相同的列,除显示字段排序间上一次水平维度的行之外。透视表的水平维度的内部字段排序只需依据从上至下的维度顺序定义。
示例:图表表达式
Before( Sum(Sales ))
返回相对于当前列紧邻左侧的上一列的 Sales 总和。
Before( Sum(Sales ), 2)
返回当前列左侧两列中的列中 Sales 的总和。
Before( Total Sum( Sales ))
返回相对于当前列紧邻左侧的上一列的 Sales 总和。
RangeAvg ( Before(Sum(x),1,3))
返回当前列左边三列内评估的 sum(x) 函数的三个结果的平均值。
示例 - Before 基本原理 图表表达式 概览
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
加载到名为 Example 的数据表中的数据集。
数据表中有以下字段:
加载脚本
Example:
Load * inline [
Year, Quarter, Sales
2023, Q1, 5000
2023, Q2, 4000
2023, Q3, 6000
2023, Q4, 7000
];
复制代码到剪贴板 结果
加载数据并打开工作表。创建一个新的透视表,并将此字段添加为行维度:
将此字段添加为列维度:
创建以下度量:
结果表 年 Q1 Q2 Q3 Q4 Sum(Sales) Before(Sum(Sales)) Sum(Sales) Before(Sum(Sales)) Sum(Sales) Before(Sum(Sales)) Sum(Sales) Before(Sum(Sales)) 2023 5000 - 4000 5000 6000 4000 7000 6000
查看结果,您可以看到 Before 函数如何返回紧邻每个 Quarter 的 Sum(Sales) 列做侧的上一列的值。例如,在 Q4 中,该期间的 Sum(Sales) 值为 7000 。Before 函数对于 Q4 的输出是 6000 ,其为紧邻 Q4 的 Sum(Sales) (即 Q3 的 Sum(Sales) )左侧的列的值。
示例 - 使用 Before 函数计算销售额同比增长 图表表达式 概览
数据集包含几年的销售数据。该公司希望根据上一年的价值,提供每年的总销售额和销售额增长情况。
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
加载到名为 Example 的数据表中的数据集。
数据表中有以下字段:
加载脚本
Example:
Load * inline [
Year, Sales
2021, 1300
2022, 1800
2023, 2000
2024, 2100
];
复制代码到剪贴板 结果
加载数据并打开工作表。创建一个新的透视表,并将此字段添加为列维度:
创建以下度量:
结果表 2021 2022 2023 2024 Sum(Sales) (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) Sum(Sales) (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) Sum(Sales) (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) Sum(Sales) (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) 1300 - 1800 38.46% 2000 11.11% 2100 5.00%
Before 函数的输出根据上一年的销售数字返回同比增长。例如,2022 的销售额总和高于2021 的 Sum(Sales) 达 38.46% 。
提示注释 在这种情况下,您也可以使用 After 函数执行相同的销售额增长计算。当您在函数参数中指定负偏移量时,它会使 After 函数的工作方式与具有相应正偏移量的 Before 函数相同。例如,以下表达式使用 After 函数(负偏移值为 -1 )返回的年销售额增长结果与 Before 函数相同: =(Sum(Sales)-After(Sum(Sales),-1))/(After(Sum(Sales),-1)) 。