我知道確切的SQL我需要編寫來檢索我要從Oracle BI工具中找到的結果,但是,由於我是Oracle BI新手,我是努力尋找重現相同結果的方法。我意識到最終的答案在很大程度上取決於商業智能數據模型,並且需要比堆棧溢出允許的問題多得多的通信,所以我正在尋找比我的場景的具體明確答案更通用的如何回答。OBIEE使用相同的文件夾/事實兩次聚合
也許SQL將有助於初學者:
select "All"."DT", ("LessThan5Mins"."Count"/"All"."Count") * 100
from
(
select to_char(m."EndDateTime", 'YYYY-MM') "DT", count(*) "Count"
from "Measurement" m,
"DwellTimeMeasurement" dtm
where dtm."MeasurementBase_id" = m."Id"
group by to_char(m."EndDateTime", 'YYYY-MM')
) "All",
(
select to_char(m."EndDateTime", 'YYYY-MM') "DT", count(*) "Count"
from "Measurement" m,
"DwellTimeMeasurement" dtm
where dtm."MeasurementBase_id" = m."Id"
and m."MeasValue" <= 300
group by to_char(m."EndDateTime", 'YYYY-MM')
) "LessThan5Mins"
where "All"."DT" = "LessThan5Mins"."DT";
這樣做的目的是返回的是小於或等於5分鐘(300秒)停留時間記錄的百分比。
我有一個事實,代表上述查詢中的「MeasValue」字段。
我已經做出的所有嘗試在BI中重現上述查詢的雙重結果集性質都失敗了。
上述可能在OBIEE中,如果是這樣,我該如何實現這一目標?