0

Visual Studio(2015エンタープライズ)で表示されるエラーの実際のテキストはこれです。SSRSレポート日付パラメータエラークエリSSASテーブルモデル - '5'の構文が正しくありません

ローカルレポート処理中にエラーが発生しました。
レポート処理中にエラーが発生しました。
データセット 'ProductivityDS'のクエリの実行に失敗しました。
'5'の構文が正しくありません。 (3/2/2017 5:00:00 AM)

私が作成して配備した単純な表モデルを照会しています。モデルには4つのテーブルがあります。従業員テーブル、ジョブカードテーブル(ジョブ番号、時間などを含む)、日付ディメンションテーブル、給与計算時間テーブル。目標は、受注に対して請求可能な時間を「直接」部門の実際の時間に報告することです。

[従業員]、[労働日](日の薄暗い)、[ADI時間の詳細](給与計算)、および[ルートトランス](ジョブカード)です。措置は、[ADI時間詳細]、[ダイレクトアワー]、[ルートトランス]、[稼働時間の合計]です。

私はSQLにはかなり慣れているので、通常はクエリーデザイナーは使用しませんが、これはSSASで初めてのことですので、ここで使用しました。 [従業員]、[従業員]、[従業員名]、[指標]、[稼働時間の合計]、[対策]に持ち込まれました。 [ダイレクトアワー]。また、Dimensionを上に追加しました。 {"ディメンション": "労働日"、 "階層": "日付"、 "演算子": "等しい"、 "フィルタ式": "{6/26/2013}"、 "パラメータ": "チェック済み" }。

クエリデザイナでクエリを実行すると、期待どおりにデータセットが生成されます。デザインモードにクエリテキストをオーバートグル

があるこの

SELECT NON EMPTY { [Measures].[SUM OF Earned Hours], 
     [Measures].[Direct Hours] } 
ON COLUMNS, 
     NON EMPTY { ([Labor DATE].[DATE].[DATE].allmembers * [Employee].[Employee ID].[Employee ID].allmembers * [Employee].[Employee Name].[Employee Name].allmembers) } DIMENSION PROPERTIES member_caption, 
     member_unique_name 
ON ROWS 
FROM ( 
       SELECT (STRTOSET(@labordatedate, constrained)) 
       ON COLUMNS 
       FROM [Model]) CELL PROPERTIES VALUE, 
     back_color, 
     fore_color, 
     formatted_value, 
     format_string, 
     font_name, 
     font_size, 
     font_flags 

クエリを受け入れ、その後、バックデータセットのプロパティで、私はにLaborDateDate(クエリ内の)[名前のパラメータを結びつけるためにパラメータをクリックして[OK]をクリック@ PerDate](レポートパラメータ)。

[@PerDate]はデフォルト値のため、この表現を使用しているレポートパラメータ:

=DateAdd(DateInterval.Day, -1, Today.Date) 

クエリは、クエリビルダで動作しますが、それはレポートの実行に失敗しました。日付ディメンションの日付とパラメータは両方ともゼロ時間の日付時刻なので、午前5時から来るのは混乱します。

私はここで間違っていますか?

ソリューション

以下回答後、私はそのまま[@PerDate]を残しました。私は、[@PerDateStr]という名前の、データ型がTextの第2パラメータを作成しました。私は、レポートパラメータ[@PerDateStr]内部クエリパラメータのLaborDateDateをマッピングされたデータセットに続いて

="[Labor Date].[Date].&[" & Format(Parameters!PerDate.Value, "yyyy-MM-dd") & "T00:00:00]" 

...にそれに利用可能で、デフォルトの式を設定します。成功!

答えて

0

ではなく、あなたのLabor Date次元で有効なメンバーを使用します。

="[Labor Date].[Date].&[" & DateAdd(DateInterval.Day, -1, Today.Date) & "]" 

はあなたのディメンション値に応じて、日付値を書式設定されていることを確認してください。

これが役立つかどうか教えてください。

+0

詳細を追加できますか?どこに置く?データセットパラメータ式?クエリデザイナーオプション? "[DATE]。[DATE] .allmembers"という文字列を「Labor DATE」と置き換える必要がありますか? – MrGoodfix

+0

@MrGoodfix、あなたのパラメータのデフォルト値です。パラメータ値は、ディメンション内の有効な一意の名前と一致する必要があります。だから、 'Labor Date'ディメンションをフィルタリングしたい場合、パラメータ値は' [Labor Date]。[Date]。&[3/03/2017] 'のようになります。 –

+0

ありがとう!それがそれでした。 – MrGoodfix

関連する問題