Oracle BI ツールから探している結果を取得するために記述する必要がある正確な SQL はわかっていますが、Oracle BI を初めて使用するため、同じ結果を再現する方法を見つけるのに苦労しています。最終的な答えは BI データ モデルに大きく依存し、それには Stack Overflow での質問よりもはるかに多くのコミュニケーションが必要であることを認識しているため、シナリオに対する特定の決定的な答えよりも、より一般的なハウツーの答えを探しています。
おそらく、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で可能ですか?もしそうなら、どうすればこれを達成できますか?