Zoho Analytics下如何选取未被前置发票占用的最小documentrank
解决方案
实现逻辑
利用窗口函数统计每个客户下当前发票之前无关联文档的发票数量,直接推导目标文档排名:
- 先标记每行发票是否无关联文档
- 按客户分组、发票排名升序排序,统计当前发票之前无关联文档的发票总数
- 目标文档排名 = 当前发票排名 - 前置无关联文档发票数
- 过滤出无关联文档的行,或是文档排名等于目标排名的行,即可得到预期结果
适配Zoho Analytics的查询语句
SELECT clientid, invoicerank, documentrank, documentdate FROM ( SELECT clientid, invoicerank, documentrank, documentdate, IF(documentrank IS NULL, 1, 0) AS is_null, SUM(is_null) OVER ( PARTITION BY clientid ORDER BY invoicerank ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ) AS pre_null_cnt FROM 替换为你的实际数据表名 ) t WHERE documentrank IS NULL OR documentrank = invoicerank - pre_null_cnt
内容的提问来源于stack exchange,提问作者M Rhodes
相关产品推荐
相关产品推荐

