0

很难想出一个好的标题。

我有一张代理和推荐人的桌子。数据显示在按代理排序的小计部分中。

当代理 = 推荐时,很容易获得计数。

但是,当按代理排序时,是否可以获得整个搜索结果中的推荐数?

例如,史密斯是 10 条记录的代理人。

Smith 也是 8 条记录的推荐人,其中 3 条 Smith 是代理人,5 条 Jones 是代理人。

在小结部分,按代理排序,当史密斯是代理和推荐人时,我可以得到 3。我怎样才能把史密斯是搜索结果中 8 条记录的推荐人放在同一部分?

我在想也许执行 SQL,但我不知道足够的 SQL 来编写有意义的语句。还是我应该这样做?

谢谢!

4

1 回答 1

0

我不是 100% 清楚你是如何设置的,但我假设你只处理你提到的两个表 - 推荐和代理 - 并且你的报告基于推荐表,其中有两个相关字段:Referrer 和 Agent。

首先要意识到的是,如果您要报告一组已找到的推荐人,并由代理进行汇总,您不能在 Smith 的子汇总和琼斯的子汇总中显示推荐记录……它是非此即彼。

我可以想出几种方法来生成您正在寻找的报告:

  1. 不是报告整个搜索结果,而是报告较小的搜索结果(按人),然后通过将每个单独的搜索结果报告彼此附加来组合您的报告。例如:创建一个脚本,以查找所有以 Smith 作为代理或推荐人的推荐人,这将为您提供 18 个搜索结果(和计数)(来自您的示例);遍历所有代理,并根据收集的数据组装报告。

  2. 创建 Referral 表的新子表,其中包含 Referral 的referrer 的每个实例的记录,以及 Referral 的代理的每个实例(但仅在与 referrer 不同时)......然后,改为从该表中报告。

  3. 正如您所建议的,这听起来可以使用 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 ]
    
于 2013-03-27T03:40:34.017 回答