【问题标题】:Pushdown removes decimals at aggregator (sum) Informatica Powercenter下推删除聚合器(总和)处的小数 Informatica Powercenter
【发布时间】:2019-01-11 10:49:00
【问题描述】:

我有一个映射,我在源表和目标表中使用聚合器对一些金额求和,该字段定义为十进制 (15, 2)。这些表位于 Teradata 中。当我在没有下推的情况下运行工作流程时,我得到了正确的数量,带有小数,例如 16,11。如果我检查下推选项(完全下推),我发现插入到目标表中的结果丢失了小数(在我们的示例中为 16.00)。我猜当数据到达聚合器时它仍然有小数部分,并且在聚合器之后它会丢失它,因为如果它已经丢失了小数部分,结果将小于 16。我已经查看了 sql形成下推,它似乎没有将任何东西转换为整数。我还尝试将数据转换为表达式和聚合器以强制 Teradata 进行正确的转换,但我得到了相同的结果。 有谁知道是什么原因造成的?

非常感谢您

【问题讨论】:

    标签: teradata informatica-powercenter


    【解决方案1】:

    完全下推导致运行 SQL 语句并且 Informatica 不处理数据,因此您需要详细查看查询。

    您可以尝试检查一些有限数据量的查询,一些子集 - 以使分析更容易。

    请检查Allow Temporary View for Pushdown 会话属性是否已启用。如果是这样,请特别注意 PM_ 正在创建的视图。查看定义。

    【讨论】:

      【解决方案2】:

      以防万一有人遇到类似问题,问题是 null 被传递给联合,然后该字段被解释为 char。

      【讨论】:

      • Union 的第一个 Select 确定结果列的数据类型,NULL 具有 Integer 数据类型(不是 Char)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多