TCC - isNull 产生不一致的结果

Posted

技术标签:

【中文标题】TCC - isNull 产生不一致的结果【英文标题】:TCC - isNull producing inconsistent results 【发布时间】:2021-02-04 18:10:21 【问题描述】:

我正在通过 TCC 编写一份报告,该报告通过使用复杂预测应用了各种过滤器,通过申请为我提供了申请人数。其中一个复杂的预测计算了一个申请人列表,其中他们的候选人资料中的特定 UDF 为 Null。我正在使用 Recruiting 17.4 产品、实体:申请和 TCC 版本 17.4。此外,主查询的别名是“mainQuery”。

由于某种原因,此查询对所有申请产生的计数为 0:

<quer:projection alias="TotalWithoutSurveys" xmlns:quer="http://www.taleo.com/ws/integration/query">
  <quer:query projectedClass="Application" alias="Q1">
    <quer:projections>
      <quer:projection>
        <quer:count>
          <quer:field path="Candidate,Number"/>
        </quer:count>
      </quer:projection>
    </quer:projections>
    <quer:filterings>
      <quer:filtering>
        <quer:equal>
          <quer:field path="Requisition,ContestNumber"/>
          <quer:field ownerQuery="mainQuery" path="ContestNumber"/>
        </quer:equal>
      </quer:filtering>
      <quer:filtering>
        <quer:isNull>
          <quer:field path="Candidate,Gallup_5fTeacher_5fScore"/>
        </quer:isNull>
      </quer:filtering>
    </quer:filterings>
  </quer:query>
</quer:projection>

如果我替换这个块:

    <quer:isNull>
      <quer:field path="Candidate,Gallup_5fTeacher_5fScore"/>
    </quer:isNull>

用这个块:

    <quer:isNotNull>
      <quer:field path="Candidate,Gallup_5fTeacher_5fScore"/>
    </quer:isNotNull>

它为此查询生成正确的值(尽管对我的目的不正确)。更奇怪的是,如果我用这个块替换它:

    <quer:equal>
      <quer:replaceNull>
        <quer:field path="Candidate,Gallup_5fTeacher_5fScore"/>
        <quer:string>None</quer:string>
      </quer:replaceNull>
      <quer:string>None</quer:string>
    </quer:equal>

它工作正常。知道我做错了什么吗?

【问题讨论】:

【参考方案1】:

即使我也经历过“IsNull”对 UDF 无效的情况。

作为替代方案,您可以使用 'isNotNull' 和 'Not' 来做到这一点

<quer:filtering xmlns:quer="http://www.taleo.com/ws/integration/query">
   <quer:not>
      <quer:isNotNull>
         <quer:field path="Requisition,JobInformation,AD_5fdea_5fEmp"/>
      </quer:isNotNull>
   </quer:not>
</quer:filtering>

【讨论】:

以上是关于TCC - isNull 产生不一致的结果的主要内容,如果未能解决你的问题,请参考以下文章

Spark rdd.count() 产生不一致的结果

使用 DateComponent 构造 NSDate 会产生不一致的结果

XGBoost:softprob 和 softmax 产生不一致的结果

MPI_Allgather 产生不一致的结果

在自定义 UITableViewCell 中调整 UIImageView 的大小会产生不一致的结果

经过多次执行后,CUDA程序的结果不一致