2013-03-12 2 views
0

좋은 제목을 생각하기가 어렵습니다.잠정적으로 계산하고 발견 된 집합, 동일한 값의 다른 필드에서 계산 - FileMaker 12

상담원과 추천이있는 테이블이 있습니다. 데이터는 에이전트별로 정렬 된 하위 부분에 표시됩니다.

상담원이 추천 일 때 쉽게 계산할 수 있습니다.

그러나 에이전트별로 정렬 할 때 발견 된 전체 집합에 대한 참조 수를 얻을 수 있습니까?

예를 들어, Smith는 10 개의 레코드에 대한 에이전트였습니다.

스미스는 8 레코드에 대한 추천이었으며, 3은 스미스가 에이전트이고 5가 존스가 에이전트였습니다.

하위 요약 부분에서 상담원별로 정렬되어 있습니다. 스미스가 상담원 및 추천 일 때 3을 얻을 수 있습니다. 스미스가 발견 된 세트의 8 레코드에 대한 Refferal이라는 동일한 부분을 어떻게 적용 할 수 있습니까?

아마도 SQL 실행을 고려하고 있었지만 의미있는 문장을 작성하기에 충분한 SQL을 알지 못합니다. 아니면 그걸로 가야합니까?

감사합니다.

답변

0

이 설정 방법에 대해 100 % 확실하지는 않지만 내가 언급 한 두 개의 표 (참조 및 에이전트) 만 다루고 있으며 보고서의 기반이된다고 가정합니다 Referral 테이블에는 두 개의 관련 필드 인 Referrer와 Agent가 있습니다.

가장 먼저 알아야 할 점은 에이전트에 의해 요약 된 발견 된 참조 집합에 대해보고하려고하면 Smith의 하위 요약 AND 존스 하위에 조회 레코드를 표시 할 수 없다는 것입니다. /또는.

내가 보고서를 생성 할 수있는 몇 가지 방법을 생각할 수

이 찾고있는 : 발견 대신 전체 발견 세트에 대한보고의

  1. , 보고서 작에 세트 (사람), 다음을 조립 각각의 발견 된 세트 보고서를 서로 첨부하여보고하십시오. 예 : 스미스와 함께 모든 추천을 에이전트 또는 리퍼러로 찾는 스크립트를 작성하면 발견 된 세트 (및 개수)가 18이됩니다 (예제에서). 모든 에이전트를 반복하고 수집 된 데이터에서 보고서를 조합합니다.

  2. 후 (참조 자 다른 하지만 경우에만) 위탁의 리퍼러의 각 인스턴스뿐만 아니라 추천의 에이전트의 각 인스턴스에 대해 기록과 함께 추천 테이블의 새 자식 테이블을 만듭니다 대신 그 테이블에서보고하십시오.

  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 ] 
    
관련 문제