首页 > 解决方案 > CognosTM1 错误:值上或之前的语法错误

问题描述

我正在尝试从 Tm1 多维数据集将数值( mesure )插入数据库。tm1 中的变量“Value”类型为 Numeric,Database 中的“Value”类型为十进制。

我试图检查变量是否包含字符串值,所以我将它们放在一个单独的文件中。如果它们是数字,我将它们插入数据库。

但似乎我的 sql 查询中有一个错误,其中指出:

Syntax Error on or before Value

我不知道为什么它给我一个错误,即使我检查了它并验证它是否是数字。

这是我的代码片段:

 zType = DTYPE( 'Sales', Sales );

    IF(zType @= 'N');

    SQL_INSERT_N2 = 'INSERT INTO DB VALUES ( '''| dim1|''' ,  '''| dim2|''',  '''|Value|''') ' ; #error in this line

 ELSE;

 zValue =NumberToString( Value ) ;

 zText = dim1 | ';' | dim2 | ';' | Value | ; 

 ASCIIOUTPUT( zFile, zText );

ENDIF;

标签: business-intelligencecognoscognos-10cognos-8cognos-tm1

解决方案


问题是我通过添加将数值声明为字符串值'''|Value|'''

所以它应该是这样的:

SQL= 'INSERT INTO DB VALUES ( '''| dim1|''' ,  '''| dim2|''',  '|NumberToString(Value)|') ' ;   

推荐阅读