Reporting Servicesレポートでパラメーターを渡す

MS DatazenおよびPyramid Analyticsの機能の詳細な概要を準備している間に、SQL Server Reporting Servicesのローカル問題の解決に関する短い記事を投稿することにしました。



最近、SSRSでレポートを作成するときに、次のタスクに直面しました。

メインレポートから補助レポートに切り替えたり、パラメータを転送して補助レポートからメインレポートに切り替えたりできるように、2つのリンクされたレポートを作成する必要があります。

制限事項:

メインレポートにはデフォルトのパラメータ値が最初にロードされ、すべての可能な値はクエリからのセットに制限されます。



わかりやすくするために、パラメーターを渡すためのスキームを示します。メインレポートには、デフォルト値が2013のYearパラメーターがあり、可能な値は、過去2年間の2011年から2013年の履歴、および補助レポート(詳細化)です。







最初に、問題を真正面から解決しようとしました:デフォルト値CurrentYear(現在、どの値からこの値を取得し、どの値から有効な値があるのか​​)およびYearsセットからの有効な値を使用して、メインレポートにYearパラメーターを作成します Main ReportからDetalisationに切り替えると、アクションはYearパラメーターを持つレポートへの遷移として設定されます。 Detalisationレポートからメインレポートへの戻りも、 Yearパラメーターを使用したレポートへの遷移を伴うアクションとして構成されます。 ただし、ここではレポートは機能しません。Yearパラメーターには、セットで指定された有効な値のリストが既にあります。



この問題に対する次の解決策が思い浮かびました。有効な値のセットを厳密に指定しない追加のパラメーターを作成し、補助レポートから戻るときにパラメーター値を渡すことです。

以下は、このソリューションの段階的な説明です。

1.デモンストレーションのために、次のプロジェクトを作成します。

a。 データソース:データソース;

b。 データセット:CurrentYear、Years;

c。 レポート:メインレポート、データ化。







2.メインレポートで、CurrentYearセットのデフォルト値を使用してYearパラメーターを作成します







有効な値なし







3.次に、デフォルト値= Yearで @YearMainパラメーターを作成します







年セットの有効な値







4.レポートで要素を作成します。クリックすると、補助レポートへの遷移が行われます。 テキストボックスを作成しました。 プロパティで、パラメーター@YearDetalisation = @YearMainを使用して、Go To Report Detalisationへの遷移としてアクションを構成します。







メインレポートでのクエリの操作は、@ YearMainパラメーターを使用して実行されます。







5.ここで、詳細化レポートに進みます。 デフォルト値と有効な値を指定せずに@YearDetalisationパラメーターを作成します。



6.トランジションの要素を作成します-もう一度テキストフィールドにします。 パラメーターYear = @YearDetalisationを使用して、メインレポートへの遷移としてアクションを構成します







何が起こったのかを見てみましょう。 メインレポートを読み込むとき、現在の年がデフォルトで読み込まれました。 パラメーターYearには2013が表示されます。 実際のレポートでは、このパラメーターはユーザーに対して非表示になります。







@YearMainパラメーターでは、指定された値のセットのみが選択用に提供されます。







2012を選択し、レポートを再構築します([レポートの表示]または[レポートの表示]ボタン)。 ご覧のとおり、 Yearパラメーターの値は変更されておらず、レポート自体で作業している@YearMainパラメーターの値は変更されています。







補助レポートに行きましょう。







メインレポートに戻ります。







Hooray、必要に応じて、年の重要性は保持されています。

このタスクが複数の値(複数値)を持つパラメーターの送信に関係する場合、次のようにする必要があります。 メインレポートで、複数の値を持つことができるパラメーターを作成します。 補助レポートに移動するアクションを設定する場合、= Join(Parameters!Years.Value、“、”)を指定する必要があります。 補助レポートでは、対応するパラメーターは既にテキストであり、可能な値のみが含まれています。 パラメーターを渡すときにメインレポートに戻るときは、= Split(Parameters!Years.Value、“、”)を指定する必要があります。



このタスクが役に立ち、人生の誰かを助けることを願っています。



次の記事では、Pyramid AnalyticsおよびDatazenソリューションを検討します(キューブやその他のソースへの接続からレポートの作成まで、すべての段階を経ます)

ピラミッドは、Microsoftからは企業セグメントの大企業向けのソリューションと見なされ、Datazenは中小企業向けのソリューションと見なされています。



ところで、現時点では、非常に興味深く大規模なBIプロジェクトの人材を積極的に探しています(以下の求人へのリンク):



1. BI開発アナリスト



2. BIアーキテクト



All Articles