0

時間ベースの計算が必要な DataCalculation ディメンションを作成しました。過去 7 日間、並行期間などの各測定値を合計する必要があります。過去 7 日間の名前付きセットを作成しました。

CREATE  SET CURRENTCUBE.[Last 7 days]
AS {
StrToMember(Cstr("[Dmn_Dates].[date calc].&["+
Cstr(Format(Now(),"yyyy-MM-dd")) +"T00:00:00]"))
:
StrToMember(Cstr("[Dmn_Dates].[Date calc].&["+
Cstr(Format(Now()-7,"yyyy-MM-dd")) +"T00:00:00]"))
};  

そして、計算されたメンバーでそれを使用しようとしました: create member currentcube.[Dmn_ DateTool].[Date Tool].[Last 7 Days_] as

aggregate(
{
StrToMember(Cstr("[Dmn_Dates].[date calc].&["+
Cstr(Format(Now(),"yyyy-MM-dd")) +"T00:00:00]"))
:
StrToMember(Cstr("[Dmn_Dates].[Date calc].&["+
Cstr(Format(Now()-7,"yyyy-MM-dd")) +"T00:00:00]"))
}
,([Dmn_ DateTool].[Date Tool].[regular],measures.LeadCounter))
, visible = 1; 

うまくいきません。私が得たのは、通常の値と同じ値を示す計算されたメンバー [過去 7 日間] です。

ここまで読んでくれてありがとう。

4

2 に答える 2

1

member1:member2のような式でRange演算子を使用する場合、member1はmember2の前に階層順に配置する必要があります。それ以外の場合、範囲演算子は空のセットを返します。

さらに、次のような式がStrToMember(Cstr("[Dmn_Dates].[date calc].&["+Cstr(Format(Now(),"yyyy-MM-dd")) +"T00:00:00]"))実際に既存のメンバーを返す ことを確認する必要があります。null:nullは空のセットを返します。

于 2012-07-10T06:28:39.383 に答える
1

生成されたセットの有効性と、正しいメンバーが含まれていることを確認します。次のように:

select [Last 7 days] on 0 ...

おそらく、from/to を逆にする必要があります: Now() - 7 : Now() の代わりに Now() : Now() - 7 ...

于 2012-07-10T05:44:12.337 に答える