0

摘要:我正在尝试编写一个脚本,该脚本将根据“问题代码”提取候选人“答案”,并让每个候选人仅提取一行数据。

问题:

  1. “答案”字段带来了多个问题的答案(这又带来了多行;每个问题/答案 1 行),我只关心一个问题的答案。
  2. 如果我从问题代码 (DQ_009) 中过滤掉整个脚本,它只会筛选出已回答问题的候选人,而不会筛选出未回答问题的候选人。
  3. 我不是专业的开发人员/代码编写者。我被要求这样做是因为没有其他人知道发生了什么。

我在寻找什么:我试图弄清楚如何在 TCC 中使用复杂的投影或子查询(或其他东西,我不确定正确的方法),这只会带来特定的答案问题,但也为没有回答的人提供它(尽管留空)。

代码说明:

  1. 在我提供的代码中,我从脚本的“源”复制并粘贴了它。我让它过滤候选编号 36620,这是一个没有回答问题的候选,因此没有通过一个值。
  2. 我试图让它只在它等于“DQ_009”时通过“问题”部分的值(最终为“是”、“否”,或者如果候选人没有回答问题,因此不存在,我希望它只是空白,所以它仍然为它们提取一行数据)。

非常感谢任何帮助。

<quer:query productCode="RC1704" model="http://www.taleo.com/ws/tee800/2009/01" projectedClass="Profile" locale="en" mode="CSV" csvheader="true" largegraph="true" preventDuplicates="false" xmlns:quer="http://www.taleo.com/ws/integration/query">
  <quer:subQueries/>
  <quer:projections>
    <quer:projection alias="Candidate_ID">
      <quer:field path="ProfileInformation,Candidate,Number"/>
    </quer:projection>
    <quer:projection alias="Visa_Needed">
      <quer:field path="ProfileInformation,Candidate,QuestionAnswers,Answer,Description"/>
    </quer:projection>
    <quer:projection alias="Question">
      <quer:field path="ProfileInformation,Candidate,QuestionAnswers,Question,Code"/>
    </quer:projection>
  </quer:projections>
  <quer:projectionFilterings/>
  <quer:filterings>
    <quer:filtering>
      <quer:equal>
        <quer:field path="ProfileInformation,Candidate,Number"/>
        <quer:long>36620</quer:long>
      </quer:equal>
    </quer:filtering>
  </quer:filterings>
  <quer:sortings/>
  <quer:sortingFilterings/>
  <quer:groupings/>
  <quer:joinings/>
</quer:query>
4

1 回答 1

0

这是一种使用复杂投影的方法。请注意,我将您的查询修改为从“候选人”实体而不是“个人资料”开始,以缩短字段路径。

使用复杂投影,您可以修改主查询的过滤器,以提取未回答问题的候选人。

<?xml version="1.0" encoding="UTF-8"?>
<quer:query productCode="RC1704" model="http://www.taleo.com/ws/tee800/2009/01" projectedClass="Candidate" locale="en" alias="MainQuery" mode="CSV" csvheader="true" largegraph="true" preventDuplicates="false" xmlns:quer="http://www.taleo.com/ws/integration/query">
    <quer:subQueries/>
    <quer:projections>
        <quer:projection alias="Candidate_ID">
            <quer:field path="Number"/>
        </quer:projection>
        <quer:projection alias="Visa_Needed">
            <quer:query projectedClass="Candidate" alias="VisaAnswer">
                <quer:projections>
                    <quer:projection alias="AnswerDesc">
                        <quer:field path="QuestionAnswers,Answer,Description"/>
                    </quer:projection>
                </quer:projections>
                <quer:filterings>
                    <quer:filtering>
                        <quer:equal>
                            <quer:field path="QuestionAnswers,Question,Code"/>
                            <quer:string>DQ_009</quer:string>
                        </quer:equal>
                    </quer:filtering>
                    <quer:filtering>
                        <quer:equal>
                            <quer:field path="Number"/>
                            <quer:field ownerQuery="MainQuery" path="Number"/>
                        </quer:equal>
                    </quer:filtering>
                </quer:filterings>
            </quer:query>
        </quer:projection>
    </quer:projections>
    <quer:projectionFilterings/>
    <quer:filterings>
        <quer:filtering>
            <quer:equal>
                <quer:field path="Number"/>
                <quer:long>36620</quer:long>
            </quer:equal>
        </quer:filtering>
    </quer:filterings>
    <quer:sortings/>
    <quer:sortingFilterings/>
    <quer:groupings/>
    <quer:joinings/>
</quer:query>
于 2021-01-21T21:16:13.317 回答