OBIEE 逻辑表达式 - 按属性求和

Posted

技术标签:

【中文标题】OBIEE 逻辑表达式 - 按属性求和【英文标题】:OBIEE Logical Expression - Sum by attribute 【发布时间】:2017-06-01 19:49:30 【问题描述】:

我正在尝试在逻辑表源表达式构建器中创建一个计算列。

在我的例子中,一个订单是由行项目组成的,每行都有一个数量。

我想根据订单上所有订单项的总数量添加一个新属性。

我想做的是这样的:

SUM(quantity) BY ORDER_ID

但是那个语法不起作用。

这是我所拥有的:

CASE WHEN SUM("FINQ".""."XXDW"."xxdw_f_orders_items"."quantity") >= 100 THEN '>=100' ELSE '<100' END

【问题讨论】:

【参考方案1】:

您不需要 SUM。正如我在论坛上所说,您必须创建一个物理表达式,以便在聚合前执行计算。因此不需要 SUM,因为逻辑将逐行执行。您不想知道一揽子订单的大小,而是每个订单的大小。

如果您针对 SampleApp Lite 执行此操作,它只是 D3 订单(事实属性)中的一个新逻辑列,具有以下物理表达式

"CASE WHEN "F10 Revenue Facts (Order grain)"."Revenue" >= 100 then '>=100' else '<100' end

完成。

编辑:请关闭您的论坛帖子。其他用户也希望从中受益。

【讨论】:

我相信我确实需要一个总和,因为每个订单都由多个项目(行)组成。如果我使用您的逻辑,它将在项目级别执行分组。我希望在订单级别确定分组,该级别可以由许多行组成。 换句话说,订单和订单项目表已被非规范化为一个表。我需要按订单号求和的数量,而不是订单项的行级别 好的,如果您需要将孩子卷起来,那么您的“bin”基本上是基于级别的度量。有趣的是,您没有代表总数的物理标题。但只要所有项目都使用线性聚合就可以了。但是,标头应用折扣等将是不可能的。

以上是关于OBIEE 逻辑表达式 - 按属性求和的主要内容,如果未能解决你的问题,请参考以下文章

OBIEE 表达式按上一个营业日期过滤

Excel逻辑函数—AND&OR

Shell脚本(脚本中的逻辑判断,逻辑判断表达式,判断文件和目录属性,case判断)

画出全加器逻辑图并给出进位公式

obiee 找不到逻辑列的逻辑表源覆盖率

使用Java语言深入理解程序逻辑——表达式和运算符