如何在Cognos studio中创建报表时拆分来自数据库的数据

时间:2015-04-20 09:40:21

标签: cognos cognos-10 cognos-bi cognos-8

我从报告中的这样一个数据库的单一列中获取价值

姓名:Raghu年龄:23​​岁血型:o +地址:班加罗尔

但我需要它看起来像这样

姓名:Raghu
年龄:23​​

血型:o +
地址:班加罗尔

我的意思是新的一行

1 个答案:

答案 0 :(得分:0)

首先,强制性建议:使用名称/年龄/地址/血型等字段创建一个新表,并在加载到Cognos之前解析此数据。

然而,可以在精简版中进行文本解析。

让我们假设你的字段中包含所有数据的字段叫做[field1]。

为每个数据点创建“查询计算”字段。我将使用名称作为例子:

[雇员]

SUBSTRING([field1];POSITION('Name:';[field1])+5);POSITION('Age:';[field1])-POSITION('Name:';[field1])+5)

子字符串解析来自field1的数据,在找到'名称后出现5个字符:'并结束在哪里'年龄:'开始(减去起始位置以获得长度)。

[年龄]

SUBSTRING([field1];POSITION('Age:';[field1])+4);POSITION('blood group:';[field1])-POSITION('Age:';[field1])+4)

年龄与格式相似。你减去4而不是5,因为'年龄:'是四个字符。

使用该方法获取除最后一列之外的所有列。让我们说最后一栏是'地址:',像这样捕捉:

SUBSTRING([field1];POSITION('Address:';[field1])+8);-1)

-1将告诉SUBSTRING命令继续到数据行的末尾。