式の使用 (Reporting Services)
Reporting Services では、パラメータ、クエリ、フィルタ、レポート アイテムのプロパティ、グループ化と並べ替え定義、テキスト ボックスのプロパティ、ブックマーク、見出しマップ、ページ ヘッダーとページ フッターの動的なコンテンツ、画像、および動的データ ソース定義の値を指定または計算するために、レポート定義を通して式が使用されています。このトピックでは、レポートの内容と外観を変更するために式を使用できるさまざまな場所の例を示します。この一覧がすべてではありません。式 ([fx]) ボタンが表示されるダイアログ ボックスや、[<式...>] が表示されるドロップダウン リストで、あらゆるプロパティに式を設定できます。
式は MicrosoftVisual Basic に書き込まれます。式は等号 (=) で始まり、データセット フィールドとパラメータ、定数、関数、および演算子などの組み込みコレクションへの参照が後に続きます。
単純式の使用
単純式には、1 つのデータセット フィールド、パラメータ、または組み込みフィールドが含まれます。単純式は、角かっこで囲まれたデザイン画面やダイアログ ボックスに表示されます。たとえば、データセット フィールドは [ProductID] と表示されます。単純式は、データセットからフィールドをテキスト ボックスにドラッグすると自動的に作成されます。プレースホルダが作成され、式により基になる値が定義されます。デザイン画面とダイアログ ボックスでは、データ領域のセルかテキスト ボックスに式を直接入力することもできます (たとえば、[ProductID])。
次の表は、単純式の使用例を示します。機能、設定プロパティ、プロパティの設定に通常使用するダイアログ ボックス、およびプロパティの値を示しています。あらゆる式と同様に、デザイン画面、ダイアログ ボックス、プロパティ ペインに直接単純式を入力したり、[式] ダイアログ ボックスで単純式を編集できます。
機能 |
プロパティ、コンテキスト、およびダイアログ ボックス |
プロパティ値 |
---|---|---|
テキスト ボックスを表示するデータセット フィールドを指定します。 |
テキスト ボックス内のプレースホルダの [Value] プロパティ。「[全般] ([プレースホルダのプロパティ] ダイアログ ボックス)」を使用します。 |
[Sales] |
グループの集計値。 |
Tablix グループに関連付けられた行内のプレースホルダの [Value] プロパティ。「[全般] ([テキスト ボックスのプロパティ] ダイアログ ボックス)」を使用します。 |
[Sum(Sales)] |
ページ番号が含まれます。 |
ページ ヘッダーに配置されるテキスト ボックス内のプレースホルダの [Value] プロパティ。「[全般] ([テキスト ボックスのプロパティ] ダイアログ ボックス)」を使用します。 |
[&PageNumber] |
選択したパラメータ値を表示します。 |
デザイン画面のテキスト ボックス内のプレースホルダの [Value] プロパティ。「[全般] ([テキスト ボックスのプロパティ] ダイアログ ボックス)」を使用します。 |
[@SalesThreshold] |
データ領域のグループ定義を指定します。 |
Tablix グループのグループ式。「[全般] ([Tablix グループのプロパティ] ダイアログ ボックス)」を使用します。 |
[Category] |
特定のフィールドの値をテーブルから除外します。 |
Tablix の式をフィルタします。「[フィルタ] ([Tablix のプロパティ] ダイアログ ボックス)」を使用します。 |
データ型には、[整数] を選択します。 [Quantity] > 100 |
グループ フィルタの特定の値のみが含まれます。 |
Tablix グループの式をフィルタします。「[フィルタ] ([Tablix グループのプロパティ] ダイアログ ボックス)」を使用します。 |
[Category] = Clothing |
複数のフィールドの特定の値をデータセットから除外します。 |
Tablix のグループの式をフィルタします。「[フィルタ] ([Tablix のプロパティ] ダイアログ ボックス)」を使用します。 |
=[Color] <> Red =[Color] <> Blue |
テーブル内の既存のフィールドに基づいて並べ替え順を指定します。 |
Tablix の式を並べ替えます。「[並べ替え] ([Tablix のプロパティ] ダイアログ ボックス)」を使用します。 |
[SizeSortOrder] |
レポート パラメータにクエリ パラメータをリンクします。 |
データセットのパラメータ コレクション。「[パラメータ] ([データセットのプロパティ] ダイアログ ボックス)」を使用します。 |
[@Category] [@Category] |
パラメータをメイン レポートからサブレポートに渡します。 |
サブレポートのパラメータ コレクション。「[パラメータ] ([サブレポートのプロパティ] ダイアログ ボックス)」を使用します。 |
[@Category] [@Category] |
その他の例については、「式の例 (Reporting Services)」を参照してください。
複合式の使用
複合式には、複数の組み込み参照、演算子、関数呼び出しを含めることができ、デザイン画面には <<Expr>> として表示されます。式のテキストを表示、または変更するには、[式] ダイアログ ボックスを開くか、プロパティ ペインに直接入力する必要があります。次の表には、設定プロパティ、プロパティの設定に通常使用するダイアログ ボックス、およびプロパティの値など、複合式を使用してデータを表示または編成したり、レポートの外観を変更したりする方法を示します。ダイアログ ボックス、デザイン画面、またはプロパティ ペインに直接式を入力できます。
機能 |
プロパティ、コンテキスト、およびダイアログ ボックス |
プロパティ値 |
---|---|---|
データセットの集計値を計算します。 |
テキスト ボックス内のプレースホルダの [Value] プロパティ。「[全般] ([プレースホルダのプロパティ] ダイアログ ボックス)」を使用します。 |
=First(Fields!Sales.Value,"DataSet1") |
同じテキスト ボックス内のテキストと式を連結します。 |
ページ ヘッダーまたはページ フッターに配置されるテキスト ボックス内のプレースホルダの [Value]。「[フィルタ] ([Tablix のプロパティ] ダイアログ ボックス)」を使用します。 |
="This report began processing at " & Globals!ExecutionTime |
異なるスコープ内のデータセットの集計値を計算します。 |
Tablix グループに配置されるテキスト ボックス内のプレースホルダの [Value]。「[フィルタ] ([Tablix のプロパティ] ダイアログ ボックス)」を使用します。 |
=Max(Fields!Total.Value,"DataSet2) |
値に応じてテキスト ボックス内のデータを書式設定します。 |
Tablix の詳細行のテキスト ボックス内のプレースホルダの [Color]。「[フォント] ([テキスト ボックスのプロパティ] ダイアログ ボックス)」を使用します。 |
=IIF(Fields!TotalDue.Value < 10000,"Red","Black") |
レポート全体で参照される値を 1 回計算します。 |
レポート変数の [Value]。「[変数] ([レポートのプロパティ] ダイアログ ボックス)」を使用します。 変数の詳細については、「式におけるレポート変数コレクションとグループ変数コレクションの参照の使用 (Reporting Services)」を参照してください。 |
=Variables!MyCalculation.Value |
データセットからの複数のフィールドの特定の値が含まれます。 |
Tablix のグループの式をフィルタします。「[フィルタ] ([Tablix のプロパティ] ダイアログ ボックス)」を使用します。 |
データ型には、[ブール] を選択します。 =IIF(InStr(Fields!Subcat.Value,"Shorts")=0 AND (Fields!Size.Value="M" OR Fields!Size.Value="S"),TRUE, FALSE) = TRUE |
デザイン画面のテキスト ボックスを非表示にします。これは Show というブール型パラメータを使用して切り替えることができます。 |
テキスト ボックスの [Hidden] プロパティ。「[表示] ([テキスト ボックスのプロパティ] ダイアログ ボックス)」を使用します。 |
=Not Parameters!Show<boolean parameter>.Value |
ページ ヘッダーまたはページ フッターの動的なコンテンツを指定します。 |
ページ ヘッダーまたはページ フッターに配置されるテキスト ボックス内のプレースホルダの [Value]。「[フィルタ] ([Tablix のプロパティ] ダイアログ ボックス)」を使用します。 |
="Page " & Globals!PageNumber & " of " & Globals!TotalPages |
パラメータを使用してデータ ソースを動的に指定します。 |
データ ソースの接続文字列。「[全般] ([データ ソースのプロパティ] ダイアログ ボックス)」を使用します。 |
="Data Source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks" |
ユーザーが選択した複数値パラメータのすべての値を識別します。 |
テキスト ボックス内のプレースホルダの [Value]。「[フィルタ] ([Tablix のプロパティ] ダイアログ ボックス)」を使用します。 |
=Join(Parameters!MyMultivalueParameter.Value,", ") |
他のグループがない Tablix に 20 行ごとに改ページを指定します。 |
Tablix のグループのグループ式。「[全般] ([Tablix グループのプロパティ] ダイアログ ボックス)」を使用します。 Tablix のグループの [PageBreak]。「[改ページ] ([Tablix グループのプロパティ] ダイアログ ボックス)」を使用します。[グループの各インスタンスの間] を設定します。 |
=Ceiling(RowNumber(Nothing)/20) |
パラメータに基づいて条件付き表示を指定します。 |
Tablix の [Hidden] プロパティ。「[表示] ([Tablix のプロパティ] ダイアログ ボックス)」を使用します。 |
=Not Parameters!<boolean parameter>.Value |
特定のカルチャの書式に設定された日付を指定します。 |
データ領域のテキスト ボックス内のプレースホルダの [Value]。「[全般] ([テキスト ボックスのプロパティ] ダイアログ ボックス)」を使用します。 |
=Fields!OrderDate.Value.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("de-DE")) |
文字列と小数点 2 桁のパーセンテージとして書式設定された数を連結します。 |
データ領域のテキスト ボックス内のプレースホルダの [Value]。「[全般] ([テキスト ボックスのプロパティ] ダイアログ ボックス)」を使用します。 |
="Growth Percent: " & Format(Fields!Growth.Value,"p2") |
その他の例については、「式の例 (Reporting Services)」を参照してください。