2016-06-27 20 views
0

レポートをレイアウトし、一定期間、30以上の行を返すクエリを実行します。ワークフローごとに1つ。今、私はそのデータセットを取って(クエリが1回だけ実行されるように)、そこから1つの選択された行に基づいてフィルタリングする6つのデータセットを定義します。私はそれらのデータセットのそれぞれのフォームに8つのボックスを設定します。SSRSのデータセットのデータセット

新しいデータセットを作成すると、データソースに戻り、そのデータセットのすべてのデータについて再度尋ねられます。

私は、クエリのフィルタリングされたビューであるデータセットを作成することができました。毎回異なる方法でフィルタリングするたびにクエリを実行する6つのデータセットを作成して生きることができました。したがって、データセットで「コピー」を実行して、新しいデータセット以外のものと同じ新しいデータセットとして「貼り付け」する必要があります。

また、開始日と終了日のデフォルト値を前四半期の1日とこの四半期の最初の日に設定する必要があります。計算されたデフォルト値を作成する方法はありますか、それを返すためにクエリを実行する必要はありますか?

+0

あなたはより具体的な質問をするか、正確にあなたがやろうとしているされたかを説明していただけますか?特に、これらの文は明確ではありません: >私はそのデータセットを取って、そこから1つの選択された行に基づいてフィルタリングする6つのデータセットを定義します。私はそれらのデータセットのそれぞれのフォームに8つのボックスを設定します。 >データソースに戻り、そのデータソースからのすべてのデータについて再度尋ねます。 レポートですべて同じデータセットを使用している場合は、データを更新する必要はありません。サブレポートを最初に設計し、マスタの作成方法(サマリ?)を決定します。 – Eric

答えて

2

テーブルオブジェクトを使用してレポートを作成する場合。ただ1つのデータセットを使用して、それに応じてフィルタをテーブルに追加することができます。 Tablixのプロパティ>>フィルタタブに移動します。あなたが現在の四半期の最初の日のような式を作成することができ、デフォルト値のため

=switch(DatePart(DateInterval.Quarter,today()) = 1, cstr(year(today))+"-01-01", 
DatePart(DateInterval.Quarter,today()) = 2, cstr(year(today))+"-04-01", 
DatePart(DateInterval.Quarter,today()) = 3, cstr(year(today))+"-07-01", 
DatePart(DateInterval.Quarter,today()) = 4, cstr(year(today))+"-10-01") 
+0

これは良く見えますが、私はtoday()で構文エラーを受け取ります。しかし、それは正しい方向に進んでいます。 CDate()を追加して最後の四半期に切り替える必要がありました。 = Date、Date)今日のDatePart(DateInterval.Quarter、今日)= 2、cstr(年)(今日)+ " - 01-01"、 DatePart(DateInterval.Quarter、今日)= 3、cstr + " - 04-01"、 DatePart(今日のDateInterval.Quarter)= 4、cstr(年)(今日)+ " - 07-01"、 DatePart(今日のDateInterval.Quarter)= 1、cstr(年) (今日)-1)+ " - 10-01")) –

関連する問題