0

年と暦月のディメンションを使用して SSAS から年を取得する式文字列があります。これを変更して、デフォルトで現在の年が自動的に設定されるようにします。

ここに画像の説明を入力

ここに画像の説明を入力

[Allegation Closed Date].[Year].&[2013]

これのより難しい例ですが、ほとんど同じことですが、現在の年をデフォルトにして、事前に設定された月を使用したい場合です。以下の例では、常に今年の最初の月になりますが、任意の月に設定できます。私が抱えている問題は、この情報がテーブル フィールドから取得されているため、現在の年にデフォルト設定できないことです。

[Allegation Closed Date].[Calendar Month].&[2013-01]

私はこのようなことをするだけでうまくいくと思っていました:

[Allegation Closed Date].[Year].&[Year(Now())]

上記の文字列でいくつかの異なるバリエーションを試しましたが、どれも機能しませんでした。また、currentyear というデータセットに計算フィールドを作成してから、このフィールドを次のように呼び出してみました。

[Allegation Closed Date].[Year].&[CurrentYear]

以下の方法を試してみましたが、うまくいかなかったので、現在の年よりも大きいすべての年を除外するようにクエリを再設計できると考えました。クエリ デザイナーのスクリーンショットを次に示します。

ここに画像の説明を入力

クエリは少し読みにくいですが、次のとおりです。

WITH MEMBER [Measures].[ParameterCaption] AS [Allegation Closed Date].[Year].CURRENTMEMBER.MEMBER_CAPTION MEMBER [Measures].[ParameterValue] AS [Allegation Closed Date].[Year].CURRENTMEMBER.UNIQUENAME MEMBER [Measures].[ParameterLevel] AS [Allegation Closed Date].[Year].CURRENTMEMBER.LEVEL.ORDINAL SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]} ON COLUMNS , [Allegation Closed Date].[Year].ALLMEMBERS ON ROWS FROM ( SELECT ( { [Allegation Status].[Allegation Status].&[Closed] } ) ON COLUMNS FROM [Allegation Analysis])

だから私は何を入力するかを考え出したので、それはデフォルトで現在の年になり、それは次のとおりです。

="[Allegation Closed Date].[Year].&["+CSTR(Year(Today))+"]"

その月に何を入力するかをまだ考えなければなりませんが、少なくとも私は正しい方向に進んでいることを知っています.

年月になるようにフォーマットする方法については、まだ助けていただければ幸いです。

4

1 に答える 1

1

式を指定する場合は、MDX ではなく VB.NET 式である必要があります。

=Now.Year

は常に現在の年を返します。

MDX 式を使用する場合は、その MDX をクエリとして実行するデータセットを設定し、パラメーターを [クエリから値を取得] に設定して、新しいデータセットを選択する必要があります。

于 2013-04-17T18:47:13.453 に答える