如何在BOXI 3.7中显示变量中计算的所有值

时间:2014-09-02 20:03:05

标签: business-intelligence business-objects crosstab

我在BOXI 3.1 SP7工作。我是新手。

我有一个变量,其值基于另一列中的值。

我正在尝试在另一个交叉表中使用该变量。当我使用它时,它没有显示整个值集。

enter image description here

它有4个可能的值但它只显示1个值。其他值显示为#MULTIVALUE

我已将变量创建为维度

请帮我正确显示所有值。

这是变量定义。

   =If ([# Price Chngs] > 0) Then
( "Brazil" )
ElseIf ([# Account Changes] > 0 And [# Instruction Changes] > 0)
Then
( "Argentina" )
ElseIf ([# Trading Account Chngs] > 0)
Then
( "Argentina" )
ElseIf ([# Account Changes]>0 And [# Code Changes]>0 And [# Instruction Changes] > 0 )
Then
("Argentina")
ElseIf ([# Account Changes]>0 And [# Code Changes]>0 And [# Instruction Changes] > 0 And [# Date Changes] > 0)
Then
( "Argentina" )
ElseIf ([# Date Changes] > 0)
Then
( " Chile " )
ElseIf ([# Code Changes]>0)
Then
( "Argentina" )
ElseIf ([# Code Changes]>0 And [# Quantity Chngs] > 0)
Then
( " Brazil " )
Else 
 ( "Others" )

提前致谢。

3 个答案:

答案 0 :(得分:2)

#MULTIVALUE错误意味着您尝试在一个位置显示多个值,而WebI不知道如何聚合它们。对于测量对象而言,这是一个常见的错误,对于细节对象而言,这是一个较小的范围,但对于维度则不是。

获取维对象以触发#MULTIVALUE错误的唯一方法是创建一个单元而不是表,然后将维对象放在那里。由于无法聚合维度,因此Webi不知道如何显示维度并恢复为#MULTIVALUE

一些评论:

  • 查看屏幕截图,您似乎尝试构建自己的交叉表,而不是仅使用交叉表对象,然后添加维度和度量对象。查看教程Create a tableChange the layout of a table,了解如何创建不同类型的表格。

  • 您确定将变量创建为维度对象而不是度量吗?如果在变量定义中使用了聚合函数,则Webi可能已更改要测量的对象类型。

答案 1 :(得分:0)

此错误的含义是带有错误的行具有多个值,无论是在变量中计算的值,还是显示的值。有三种基本解决方案:

  • 添加所有输入变量([#Prown Chngs],[#Accounts Changes],[#Instruction Changes],[#Transder Account Chngs],[#Codel Changes],[#Date Changes],[#Quedue Chngs])作为报告元素
  • 将变量包装在Sum()
  • 在Sum()
  • 中包装变量中的每个变量

在没有看到您的数据的情况下,我无法推荐具体的解决方案,但上述解决方案之一可以让您走上正确的道路。

答案 2 :(得分:0)

通过查看结构来检查您的表定义。我注意到,交叉表中显示的一个值“价格/数量”不是变量定义中可能的值之一。我怀疑该变量未包含在您认为的表中。