【干货/难点/重点/重复行】解决查询中结果重复的问题
场景
A. 用户在用Item关联查询库存地点的时候,结果行会重复。
B. 用户在查询交易的时候,总是会返回比预想更多的行数(如会把明细行、Tax行、Shipping行带出来)
问题分析
这类问题在新手中出现的非常多。比如想查询某个交易的主体信息,却把所有的明细和tax等行都查出来了;比如查询关联字段,只要被关联的对象是一对多的关系,结果行肯定会比预想返回的行多;
具体举个例子:
某自定义记录上A字段a关联Transaction的List/Record,当我们查询记录A时,如果Join了a对应的transaction的字段,那么查询结果会返回所有的a对应的transaction的信息,包括主体信息、行信息以及其他附属如税、shipping等的行信息。
再举个例子:
在查询某个包含Item的transaction或者自定义记录时,Join了Item的Inventory Location的时候,可能会返回多条结果,我们会发现item下面的所有location记录都会显示出来。
这些都是因为saved search的运行机制决定的。这一类问题会比较头痛,有时候为了实现一个很简单的功能甚至绞尽脑汁去想用开发来解决,事倍功半!
解决方案
以下方案用来解决场景A,供参考!知识点为DECODE函数:
1. Navigate to Lists> Search> Save searches> New
2. Select Transactions
3. Under the Criteria tab> Select the following filters:
---Type is Purchase Order
---Location is none of -none-
---Location field is Inactive = No
---Date
---Formula (Text)
DECODE({location}, {item.inventorylocation},'1','0')
Starts with = 1
4. Under the Results tab> Add the following columns:
---Item fields is Inventory Location
---Item fields is Location On hand
5. Rename the search and hit Save and Run.