NetSuite Saved Search隐藏功能 之 行间比较
Saved Search如何实现临近行之间的数值比较?
例如,在Top 10 SKU中,实现第N名与N+1名之间的差值显示;多个收款记录之间的间隔天数;历史采购价格之间的变化。
其实在Saved Search中存在两个隐秘函数:
LAG(expression, offset, default) OVER (PARTITION BY partition_column ORDER BY order_column)
LEAD(expression, offset, default) OVER (PARTITION BY partition_column ORDER BY order_column)
参数说明
·expression :要获取的列或计算值
·offset :相对于当前行的偏移量(默认值为 1,即上一行或下一行)
·default :当偏移超出范围时,返回的默认值(可选)
·PARTITION BY partition_column :(可选)对数据进行分区,使 LAG() 或 LEAD() 在每个分区内计算
·ORDER BY order_column :确定行的排序方式,必须提供,否则函数无法确定“前一行”或“后一行”
演示如下:
我们对SKU的Total Value进行排序,然后列出行间差值。
//与上行SKU记录的Total Value对比,计算差值
{totalvalue}-LEAD({totalvalue}, 1) OVER (ORDER BY {totalvalue})
//与下行SKU记录的Total Value对比,计算差值
{totalvalue}-LAG({totalvalue}, 1) OVER (ORDER BY {totalvalue})
如果有任何关于NetSuite的问题,欢迎来谈。邮箱:service@truston.group