很难想到一个好的头衔。
我有一张包含代理商和推荐人的表格。数据显示在按代理人排序的小计部分中。
当Agent =推荐时,很容易得到一个计数。
但是,按代理人排序时,是否可以在整个找到的集合中获取引荐计数?
例如,史密斯是10条记录的代理人。
史密斯也是8个唱片的推荐,3个史密斯是代理人,5个琼斯是代理人。
在小计部分,按代理排序,当Smith是代理和推荐时,我可以得到3。我怎么能把史密斯作为发现集中8条记录的Refferal的相同部分?
我在想可能是Execute SQL但是我不知道有足够的SQL写一个有意义的语句。或者我应该选择那个?
谢谢!
答案 0 :(得分:0)
我不是100%明确你如何设置这个,但我会假设你只处理你提到的两个表 - 推荐和代理 - 而你的报告是基于Referrals表,它有两个相关字段:Referrer和Agent。
首先要意识到的是,如果你试图报告被推荐的一组推荐,由Agent代理,你就不能在史密斯的小学AND琼斯的小学中出现推荐记录......它是/或
我可以想出几种方法来制作您正在寻找的报告:
不是报告整个发现的集合,而是报告较小的发现集(按人),然后通过将每个单独的发现集报告相互附加来汇总您的报告。例如:创建一个脚本,该脚本可以找到所有使用Smith作为代理或引用者的引用,并且这将为您提供18(从您的示例)的已找到集(和计数);迭代所有代理,并从收集的数据中汇总报告。
创建推荐表的新子表,其中包含推荐人推荐人的每个实例的记录,以及推荐人代理的每个实例(但仅在与推荐人不同时 )...然后,从该表中报告。
正如您所说,这听起来好像可以使用ExecuteSQL命令完成。我不知道你在寻找什么样的输出,你的字段名称会有所不同(我使用“AgentName”,“agent”和“referrer”),但它会是这样的:
Go To Layout [ "Agents" ]
Show All
Go To Record/Request [ First ]
Loop
Set Variable [ $ThisAgent ; AgentName & " referrals: " & Evaluate ( ExecuteSQL ( "SELECT 1 FROM Referrals WHERE ( agent LIKE 'SMITH' OR referrer LIKE 'SMITH')" ; "" ; "+" ) ) ]
Set Variable [ $ReportText ; List ( $ReportText ; $ThisAgent ) ]
Go To Record/Request [ Exit after last, Next ]
End Loop
set Variable [ $$MergeVariableForReportDisplay ; $ReportText ]