BI4.1 WebI:维对象

时间:2016-03-04 11:24:55

标签: sap dimension multivalue

我为自己的类型维变量获得#MULTIVALUE。

常见行为(?):根据我的培训和我读过的所有内容,维度对象的典型行为应该是每列显示一个不同的值(在左侧带标题的表中) )。例如,如果当前上下文是[月]并且四月有两个事件,那么将变量拖到表中应该将上下文扩展到[月]; [事件ID],导致四月的列被拆分为两列,有值(April,Inc 1)和(April,Inc 2)。

不幸的是,这在我的情况下不起作用,我想知道我做错了什么(以及什么)或者是不正当行为/错误。

背景 我有一个数据提供者在事件历史中每次返回一堆维度对象,其中事件将状态更改为“已解决”。事件可能会重新打开几次,然后再次达到“已解决”状态。由于历史记录中缺少“重新打开”状态,如果在其更改历史记录中至少有2个状态为“已解决”的条目,则事件将计为“重新打开”。

重要的对象是:

  • [事件ID] - 每个事件的唯一ID
  • [创建日期] - 历史记录的创建日期 设置为“已解决”状态
  • [YearMonth] - Dimension,一个字符串变量,包含数据提供者的[Incident Last Resolved Date]维度的年份和月份,格式为“yyyy / MM”。由于事件解决程序的持续时间,它可能与最新的[创建日期]不同,不能可靠地用于比较!

我的方法: 首先,我计算每个事件的最后解决日期,并使其在每个记录中可用。我将measure [__true_resolved_date]定义为:

= Max([Create Date] In ([Incident ID];[Create Date])) In ([Incident ID])

然后我创建了一个类型维对象的变量[__reopened_incident],只是为了查看表中的所有结果变量(依赖于维对象的常见,分裂行为)。它包含一个IF子句,用于返回满足条件的所有记录的事件ID。

= If ([Create Date] <> [__true_resolved_date]) Then [Incident ID]

为了获得所有重新开启的事件的计数,我只计算了[__reopened_incident]中事件ID的数量,这可以正常工作。

我的问题是,在将此[__reopened_incident]变量拉入表格后,它会在4月份为单个重新打开的事件INC0123显示#MULTIVALUE。

显示的内容(事件名称已更改)

YearMonth              | 2015/04     | 2015/05
[__reopened_incident]  | #MULTIVALUE |
[__true_resolved_date] | 04-04-2015  | 05-05-2015

注意:“05-05-2015”是5月份单一事件的单一解决日期,而非相关解释

只要我将[创建日期]维度放到表格中,4月份的列就会被拆分:

YearMonth              | 2015/04     | 2015/04    | 2015/05
[__reopened_incident]  | INC0123     |            |
[__true_resolved_date] | 04-04-2015  | 04-04-2015 | 05-05-2015
[Create Date]          | 01-01-2014  | 04-04-2015 | 05-05-2015

我期望的是,不必将[创建日期]添加到块中:

YearMonth              | 2015/04     | 2015/04    | 2015/05
[__reopened_incident]  | INC0123     |            |
[__true_resolved_date] | 04-04-2015  | 04-04-2015 | 05-05-2015

在IF子句中使用其他比较,如If ([Create Date] < ToDate("01012015";"ddMMyyyy") ...完全正常,并将列拆分为两个,一个用于INC0123,一个用于空。 当与If ([Create Date] < _comp_date ...之类的(虚拟)度量进行比较时,它也有效,[_ comp_date]是度量=[Create Date]

如果我将表格的显示选项“避免重复行聚合”设置为True,我会在4月份获得两列,但在[__reopened_incident]的两列中仍然是#MULTIVALUE。

有谁知道为什么会这样?任何提示或想法都表示赞赏。

此致 迈克尔

ps:这只是为了找出,为什么列没有拆分。我不是在寻找另一种方法来确定“重新开放”状态。

0 个答案:

没有答案