Как я могу не соединять связанные объекты в Taleo Connect Client? - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть запрос на экспорт для клиента Taleo Connect, который извлекает номера для каждого Application, отправленного определенной сущностью Candidate (модель Recruiting 15A).Кандидат фильтруется на основе его идентификатора кандидата 1234.

. Когда я запускаю свой запрос, в файле результатов перечисляются все приложения кандидата в одной записи, однако я бы хотел, чтобы каждый Application был указан какэто собственная запись.

Текущий результат:

CandidateID,ApplicationID
1234,(Applications:1)=15160;(Applications:2)=18433;(Applications:3)=19347

Ожидаемый результат:

CandidateID,ApplicationID
1234,15160
1234,18433
1234,19347

Как мне сделатьмой список запросов на экспорт отдельных записей для каждого приложения?


запрос на экспорт TCC (candidate_app_sq.xml):

<quer:query productCode="RC1501" model="http://www.taleo.com/ws/tee800/2009/01" projectedClass="Candidate" locale="en" mode="CSV-ENTITY" csvheader="true" largegraph="true" preventDuplicates="false" xmlns:quer="http://www.taleo.com/ws/integration/query">
  <quer:subQueries/>
  <quer:projections>
    <quer:projection alias="CandidateID">
      <quer:field path="Number"/>
    </quer:projection>
    <quer:projection alias="ApplicationID">
      <quer:field path="Applications,Number"/>
    </quer:projection>
  </quer:projections>
  <quer:projectionFilterings/>
  <quer:filterings>
    <quer:filtering>
      <quer:equal>
        <quer:field path="Number"/>
        <quer:string>1234</quer:string>
      </quer:equal>
    </quer:filtering>
  </quer:filterings>
  <quer:sortings/>
  <quer:sortingFilterings/>
  <quer:groupings/>
  <quer:joinings/>
</quer:query>

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Чтобы экспортировать отдельные строки для каждой записи, измените режим экспорта на CSV.

<quer:query productCode="RC1501" model="http://www.taleo.com/ws/tee800/2009/01"
    projectedClass="Candidate" locale="en" mode="CSV" csvheader="true" largegraph="true"
    preventDuplicates="false" xmlns:quer="http://www.taleo.com/ws/integration/query">

Объяснение

В руководстве пользователя Taleo Connect ( стр. 41 ) перечислены два режима экспорта для файлов CSV: CSV-Entity и CSV-Report. Когда для режима экспорта задано значение CSV-объекта, данные для каждого корневого объекта объединяются в одну строку.

  • CSV-сущность : на основе режима экспорта T-XML обрабатывает несколько значений и многоязычные поля. Все данные, относящиеся к корневому объекту, расположены в одной строке. Когда столбец содержит несколько значений (многоязычные или отношения максимальной мощности "N"), значения сериализуются внутри один столбец. Функции предотвращения дублирования, группировки и объединения не поддерживаются режимом экспорта объекта CSV.
  • CSV-отчет : Использует плоский формат файла (который может быть напрямую импортирован как электронная таблица Excel) для представления данных. Этот режим экспортирует точно такую ​​же информацию, что и режим XML, поэтому имеет те же сильные и слабые стороны.

Чтобы вывести отдельные строки для каждой записи, режим экспорта должен быть установлен на Отчет CSV (mode="CSV").

* +1034 * Пример
<quer:query productCode="RC1501" model="http://www.taleo.com/ws/tee800/2009/01" projectedClass="Candidate" 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="CandidateID">
      <quer:field path="Number"/>
    </quer:projection>
    <quer:projection alias="ApplicationID">
      <quer:field path="Applications,Number"/>
    </quer:projection>
  </quer:projections>
  <quer:projectionFilterings/>
  <quer:filterings>
    <quer:filtering>
      <quer:equal>
        <quer:field path="Number"/>
        <quer:string>1234</quer:string>
      </quer:equal>
    </quer:filtering>
  </quer:filterings>
  <quer:sortings/>
  <quer:sortingFilterings/>
  <quer:groupings/>
  <quer:joinings/>
</quer:query>

Результаты:

CandidateID,ApplicationID
1234,15160
1234,18433
1234,19347
0 голосов
/ 27 апреля 2018

Оказывается, я смотрел на это неправильно.

Вместо того, чтобы экспортировать конкретного кандидата и извлекать каждое приложение, решением было экспортировать список приложений и отфильтровать результаты по номеру кандидата.

Для этого я изменил свой запрос на экспорт, чтобы использовать объект Application в качестве projectedClass, и соответственно обновил пути проекции.

Запрос на экспорт :

<quer:query productCode="RC1501" model="http://www.taleo.com/ws/tee800/2009/01" projectedClass="Application" locale="en" mode="CSV-ENTITY" csvheader="true" largegraph="true" preventDuplicates="false" xmlns:quer="http://www.taleo.com/ws/integration/query">
  <quer:subQueries/>
  <quer:projections>
    <quer:projection alias="CandidateID">
      <quer:field path="Candidate,Number"/>
    </quer:projection>
    <quer:projection alias="ApplicationID">
      <quer:field path="Number"/>
    </quer:projection>
  </quer:projections>
  <quer:projectionFilterings/>
  <quer:filterings>
    <quer:filtering>
      <quer:equal>
        <quer:field path="Candidate,Number"/>
        <quer:string>1234</quer:string>
      </quer:equal>
    </quer:filtering>
  </quer:filterings>
  <quer:sortings/>
  <quer:sortingFilterings/>
  <quer:groupings/>
  <quer:joinings/>
</quer:query>

Вывод :

CandidateID,ApplicationID
1234,15160
1234,18433
1234,19347

Примечание. Не забудьте обновить пути проекции при изменении projectedClass.

Old Path (Candidate)      New Path (Application)
"Number"               →  "Candidate,Number"
"FirstName"            →  "Candidate,FirstName"
"LastName"             →  "Candidate,LastName"
"Application,BillRate" →  "BillRate"
"Application,Grade"    →  "Grade"
"Application,Number"   →  "Number"
.
...