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))
提出 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))