0

DateFrom と DateTo の 2 つの日付の間で mdx のデータをクエリする際に問題が発生しました。簡単に言えば、[年][月][日]の 3 つのレコードがあるとします。

[2012][8][21]
[2012][8][22]
[2012][8][23]

たとえば、DateFrom と DateTo を db にないものとして渡すと、DateFrom = [2012].[8].[20] and DateTo = [2012].[8].[24]「Mondrian Error:MDX object '[Date].[2012].[8].[20]' not found in cube」というエラーが表示されます。 'Eメール'"

しかし、たとえば、DateFrom と DateTo をデータベース内の何かとして設定すると、DateFrom = [2012].[8].[21] and DateTo = [2012].[8].[23]機能します。

DateFrom と DateTo は Web ui の Frond エンドから渡されたため、制御できないため、DateFrom よりも大きい最小値と DateTo よりも小さい最大値を見つける必要があると思いますが、方法がわかりません。 、 何か案が?または、これを解決するための他のアプローチがありますか? ありがとう。

4

1 に答える 1

1

一般に、穴のない DateTime 次元を保持し、過去には古い境界を、将来には遠く離れた境界を保持することをお勧めします。そうすれば、問題なくクエリを実行できます。

キューブ定義を編集できない場合は、MDX で FirstChild および LastChild 演算子をいじって、シナリオの開始日と終了日を取得できます (日付は並べ替えられていると思います)。

于 2012-09-14T13:06:36.623 に答える