OBIEE 列公式创建唯一

OBIEE Column Formula To Create Unique

提出 OBIEE 分析问题。

我们有一个序列化库存 SA,我们有一个分析显示我们的整个库存有几列信息。但是,一些未序列化的项目已添加到我们的库存中,因此序列号栏为空白。没问题,我只是在序列列中添加了一个公式,所以如果序列为空,只需将其替换为单词或数字(现在我将其设置为 0),但出现了另一个问题。您会看到,由于我们的库存以前是仅序列化的项目,因此我们有一个数量列,其中每个唯一项目都报告 1。现在我们库存中的非序列化项目,数量可能不是 1。 这会产生一个问题,因为我们通常将此分析提取到 CSV 文件中,然后导入到一个神秘的系统中,该系统将每一行作为一个唯一的项目来读取。

有没有我可以在序列号列中使用的公式,也许可以看到数量是 4,并在分析中为这个带有伪序列号(例如 noserial 0、noserial1)的非序列化项目创建 4 行、noserial2 和 noserial3?这样,每一行仍然是我们库存中每个物理项目的唯一序列号。

shelf item serial quantity
Shelf12 ARMCPU ARM3020 1
Shelf12 ARMCPU ARM1231 1
Shelf12 ARMCPU ARM1299 1
Shelf15 INTELCPU INT1221 1
Shelf17 AMDCPU AMD9282 1
Shelf17 AMDCPU AMD8742 1
Shelf19 100CAP 0 2
Shelf20 080CAP 0 8

以上是现在的样子。我理想中的样子是:

shelf item serial quantity
Shelf17 AMDCPU AMD8742 1
Shelf19 100CAP NOSER00 1
Shelf19 100CAP NOSER01 1
Shelf20 080CAP NOSER02 1
Shelf20 080CAP NOSER03 1
Shelf20 080CAP NOSER04 1
Shelf20 080CAP NOSER05 1
Shelf20 080CAP NOSER06 1
Shelf20 080CAP NOSER07 1
Shelf20 080CAP NOSER08 1
Shelf20 080CAP NOSER09 1

谢谢。

不确定分析中的基础聚合情况如何。

这应该为每个 NULL 条目创建一个不同的序列号。

在计算列中使用 RSUM(1)。

例如:IFNULL("SERIAL",'NOSERIAL'||CAST(RSUM(1) as CHAR(10))