3

私は SSAS の初心者で、キューブをクエリして、aome メジャー グループに対して日付順にデータを取得しようとしています。クエリで指定したい日付範囲。私が使用しているクエリはこれです:-

SELECT
{
    [Measures].[Measure1],
    [Measures].[Measure2],
    [Measures].[Measure3]
} 
ON COLUMNS,
NON EMPTY{
   [Date].[AllMembers]
         } 
ON ROWS
FROM (SELECT ( STRTOMEMBER('2/23/2013', CONSTRAINED) : 
STRTOMEMBER('3/1/2013', CONSTRAINED) ) ON COLUMNS 
FROM   [MyCube])

ただし、次のエラーが表示されます
Query (10, 16) STRTOMEMBER 関数の CONSTRAINED フラグによって課された制限に違反しました。

制約付きキーワードを削除してから、strtomember 関数も削除してみました。しかし、それぞれの場合で、それぞれ次のエラーが発生しました
クエリ (10, 16) STRTOMEMBER 関数は、1 引数のメンバー式を想定しています。文字列または数値式が使用されました。
and
* Query (10, 14) : 関数は、1 引数のメンバー式を想定しています。文字列または数値式が使用されました。*

最後の 2 つのエラーから、constraint キーワードを含める必要があることがわかります。しかし、このクエリが実行されない理由を誰か教えてもらえますか?

4

3 に答える 3

2

メンバー式として渡す文字列は、完全修飾メンバー名であるか、その名前に解決される必要があります。SELECT で使用したのと同じ形式を使用します。

例えば:

STRTOMEMBER('[Date].[2/23/2013]', CONSTRAINED)

編集: 範囲選択の構文が間違っていることに気付きまし{...}(...)

SELECT { 
    STRTOMEMBER('2/23/2013', CONSTRAINED) : 
    STRTOMEMBER('3/1/2013', CONSTRAINED) }
于 2013-03-02T17:59:04.790 に答える
1

以下のスクリプトを実行してください。日付ディメンション属性を抽出し、右クリックしてコピーし、STRTOMEMBER値に貼り付けます。

正常に動作します。

 SELECT NON EMPTY { [Measures].[Internet Sales Amount] } ON COLUMNS 
 FROM ( SELECT ( STRTOMEMBER('[Date].[Date].&[20050701]')  : 
 STRTOMEMBER('[Date].[Date].&[20061007]') )  ON COLUMNS 
 FROM [Adventure Works]) 
于 2013-03-05T07:37:20.857 に答える
1
FROM ( SELECT (
   STRTOMEMBER(@FromDateCalendarDate, CONSTRAINED) :
   STRTOMEMBER(@ToDateCalendarDate, CONSTRAINED) ) ON COLUMNS
于 2013-05-10T14:34:11.757 に答える