You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OBIEE基于时间维度获取最新维度列值并聚合指标的实现咨询

OBIEE获取当月最新维度值+全月指标汇总实现方案

方案1:前端分析新增计算列实现(无需修改RPD,优先推荐)

  • 先在分析的结果列中暂时保留日期最细粒度的Day字段,不要提前移除
  • 新增计算列最新Difficulty,公式设置为:MAX(CASE WHEN "Date"."Day" = MAX("Date"."Day" BY "Date"."Month") THEN "Difficulty" END BY "Date"."Month")
  • 原有Score列保持聚合规则为SUM,聚合粒度设置为按Month维度聚合
  • 进入选择步骤,移除原始Difficulty列、Day列,仅保留Month、最新Difficulty、Score三列
  • 执行查询后即可得到预期结果:Difficulty取当月最后一天的取值,Score为全月所有数据的汇总值,不会按Difficulty拆分

方案2:编辑分析逻辑SQL实现

如果方案1的计算规则不生效,可以直接修改分析的逻辑SQL:

SELECT
    "Date"."Month" AS "Month",
    MAX(CASE WHEN t.month_max_day = "Date"."Day" THEN "Difficulty" END) AS "Difficulty",
    SUM("Score") AS "Score"
FROM 你的业务主题域名称
WHERE "Date"."Month" = 'August'
CROSS JOIN (
    SELECT MAX("Date"."Day") AS month_max_day 
    FROM 你的业务主题域名称 
    WHERE "Date"."Month" = 'August'
) t
GROUP BY "Date"."Month"

方案3:RPD逻辑层配置实现(需后台修改,适合全局复用场景)

OBIEE默认对非度量的属性列不会触发聚合规则,所以直接给Difficulty设置Last聚合不生效,可通过RPD配置解决:

  • 在逻辑层新增当月最大日期逻辑列,聚合规则设为MAX("Date"."Day")
  • 新增当月最新Difficulty逻辑列,公式设置为CASE WHEN "Date"."Day" = "当月最大日期" THEN "Difficulty" END,聚合规则设为MAX
  • 后续所有分析直接调用当月最新Difficulty列即可,无需额外配置

提示:如果仅单张报表需要该逻辑,优先用方案1,不需要改动后台配置,调整效率更高。

内容的提问来源于stack exchange,提问作者John Fuentes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:30:02