レポートでのパラメーターの使用

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

レポートでパラメーターを使用して、ユーザーがレポートを実行するときに 1 つまたは一連の値の入力を求めることにより、取得するデータを制御します。 このデータセット クエリでは、ユーザーが要求するデータのみ取得します。 また、ユーザーに入力を求めず、データのフィルター処理や動的なドリルスルーなどの操作に使用可能な非表示のパラメーターおよび特殊なパラメーターをレポートに追加することもできます。

注意

Microsoft Dynamics 365 から渡されるパラメーター値の長さの上限は 2,000 文字です。 たとえば、あるレポートを実行し、[高度な検索] ユーザー インターフェイスを使用してデータ フィルターを作成する場合、フィルター パラメーターに渡されるフィルター式は 2,000 文字を超えてはなりません。 指定できるパラメーター数については、最大数の制限はありません。 ただし、特定のブラウザーの要件に合わせて URL 行の文字列の長さとパラメーターの数を制限する必要がある場合があります。

このトピックの内容

パラメーターの追加

非表示のパラメーター

パラメーターの追加

レポートの個々のパラメーターの定義、クエリを使用した情報の引き渡し、またはユーザー設定へのアクセス権の付与のためのパラメーター (CRM_CurrencySymbol パラメーターや CRM_CurrencyPositivePattern パラメーターなど) をレポートに追加できます。

<ReportParameter> は、レポートでの個々のパラメーターの記述に使用する、レポート定義 (RDL) ファイルの要素です。<QueryParameter> には、クエリの一部としてデータ ソースに渡す個々のパラメーターに関する情報が含まれています。 取引先企業の説明レポートの RDL ファイルから抜粋した次の XML コードは、ReportParameter パラメーターと QueryParameter パラメーターの使用方法を示しています。

<ReportParameter Name="CRM_FilteredAccount">
  <DataType>String</DataType>
    <Nullable>true</Nullable>
    <DefaultValue>
      <Values>
         <Value>select * from FilteredAccount</Value>
      </Values>
    </DefaultValue>
    <AllowBlank>true</AllowBlank>
    <Prompt>CRM_FilteredAccount</Prompt>
</ReportParameter>
<Query>
   <rd:UseGenericDesigner>true</rd:UseGenericDesigner>
   <CommandText>declare @sql as nVarchar(max)
      set @sql = '
      SELECT top 10 CAST(accountid as nvarchar(100)) as AccountID,
      name, '''' as None
      FROM (' + @FilteredAccount + ') as fa'
      exec(@sql)
   </CommandText>
   <QueryParameters>
      <QueryParameter Name="@FilteredAccount">
         <Value>=Parameters!FilteredAccount.Value</Value>
      </QueryParameter>
   </QueryParameters>
   <DataSourceName>CRM</DataSourceName>
</Query>

次の例は、Fetch ベースのレポートで QueryParameter および ReportParameter パラメーターを使用する方法を示しています。

<ReportParameter Name="FilteredAccount">
      <DataType>String</DataType>
      <Prompt>Filtered Account</Prompt>
            <DefaultValue>
                  <Values>
                        <Value>
                              <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
                              <entity name="account">
                              <all-attributes/>
                              </entity>
                              </fetch>
                        </Value>
                  </Values>
            </DefaultValue>
    </ReportParameter>
<Query>
        <DataSourceName>DataSource1</DataSourceName>
        <CommandText>
                  <fetch> 
                  <entity name="account" enableprefiltering="true" prefilterparametername="FilteredAccount">
                  <attribute name="accountid" />
                  <attribute name="name" />
                  </entity>
                  </fetch>
            </CommandText>
        <QueryParameters>
          <QueryParameter Name="FilteredAccount">
            <Value>=Parameters!FilteredAccount.Value</Value>
          </QueryParameter>
        </QueryParameters>
        <rd:UseGenericDesigner>true</rd:UseGenericDesigner>
      </Query>

非表示のパラメーター

Microsoft Visual Studio のレポート デザイナーには、非表示のパラメーターのサポートが組み込まれています。 また、Microsoft Dynamics 365 のレポートでパラメーター名に CRM_ prefixを追加することによって、パラメーターを非表示にすることもできます。 既定では、Microsoft Dynamics 365 を使用してレポートを公開すると、CRM_ prefix が含まれているパラメーターは非表示になります。 レポートの実行時に、非表示のパラメーターのパラメーター値を入力するよう求められることはありません。

特殊なパラメーター

次の表は、レポートで使用できる特殊な非表示のパラメーターを示しています。

パラメーター

内容

CRM_FilterText

レポート ユーザーがレポートを実行するときに Report Viewer で対話的に作成するフィルター テキストの値が含まれます。 このパラメーターは、レポート ヘッダーにあるフィルターの概要テキスト ボックスに表示されます。 初期値は既定のフィルターに設定されます。

CRM_URL

Microsoft Dynamics 365 Web アプリケーションの URL に設定します。 このパラメーターは、Microsoft Dynamics 365 にドリルスルーするときに使用します。

CRM_FilteredEntity

クエリ式の中で、データの事前フィルター処理 ([高度な検索] を使用) を有効にするために使用します。

パラメーターを参照するには、レポートですべてのパラメーターを作成する必要があります。 これらの特殊なパラメーターの値は、レポートの実行時に Microsoft Dynamics 365 によって入力されます。

追加のフォーマット パラメーター

次の表は、レポートで使用できる追加のパラメーターを示したものです。 これらの中には、ユーザーの数値設定情報へのアクセスを提供するパラメーターが含まれます。 これらの値を使用して、数値をフォーマットおよび表示できます。 これらのパラメーターは、NumberFormatInfo クラスで指定されている値と同様です。 これらのパラメーターをカスタム レポート内で使用することで、データをユーザー設定に従ってフォーマットできます。

パラメーター

内容

CRM_FullName

レポートを誰の代理で実行しているのかを示す、フル ユーザー名。

CRM_UserTimeZone

ユーザーのタイムゾーン名 (例: Pacific Standard Time)。

CRM_UILanguageId

ユーザーの現在のロケール (LCID)。

CRM_YearStartWeekCode

Microsoft Dynamics 365 で使用される、1 年の最初の週。

CRM_WeekStartDayCode

Dynamics 365 で使用される、最初の曜日。

CRM_FiscalCalendarStart

Dynamics 365 で使用される、会計年度の開始日。

CRM_FiscalPeriodType

会計年度の分割方法 (四半期、月、年など) を指定します。

CRM_FiscalYearDisplayCode

会計年度名を会計年度の開始時と終了時のどちらに基づいて表示するかを指定します。

CRM_FiscalYearPeriodConnect

会計年度と会計期間を同時に表示する場合の、両者の接続方法を指定します。

CRM_FiscalYearFormat

会計年度名の表示方法を指定します。

CRM_FiscalPeriodFormat

会計期間の表示方法を指定します。

CRM_FiscalYearPrefixFormat

会計年度を表示する場合に、接頭辞を付けるかどうかを指定します。

CRM_FiscalYearSuffixFormat

会計年度を表示する場合に、接尾辞を付けるかどうかを指定します。

CRM_CurrencyDecimalPrecision

通貨の小数点以下の精度。

CRM_CurrencySymbol

組織の通貨記号。

CRM_CurrencyPositivePattern

正の通貨値に適用するフォーマット パターン。

CRM_CurrencyNegativePattern

負の通貨値に適用するフォーマット パターン。

CRM_NumberDecimalDigits

数値に使用する、小数点以下の桁数。

CRM_NumberDecimalSeperator

数値の小数点として使用される文字列。

CRM_NumberNegativePattern

負の数値に適用するフォーマット パターン。

CRM_NumberGroupSizes

数値の小数点の左側で、何桁ごとに桁区切りを行うかを示す数。

CRM_NumberGroupSeperator

数値の小数点の左側で、桁区切りとして表示する文字列。

CRM_DateSeperator

日付のコンポーネント (年、月、日など) を区切る文字列。

CRM_TimeSeperator

時刻のコンポーネント (時、分、秒など) を区切る文字列。

CRM_AMDesignator

午前 (AM) の時刻の指定子。

CRM_PMDesignator

午後 (PM) の時刻の指定子。

CRM_ShortDatePattern

フォーマット パターン "d" に関連付けられる、短い日付値のフォーマット パターン。

CRM_LongDatePattern

フォーマット パターン "D" に関連付けられる、長い日付値のフォーマット パターン。

CRM_ShortTimePattern

フォーマット パターン "t" に関連付けられる、短い時刻値のフォーマット パターン。

CRM_MonthDayPattern

フォーマット パターン "m" および "M" に関連付けられる、月と日の値のフォーマット パターン。

関連項目

Dynamics 365 によるレポートと分析
SQL ベースのレポートに関する作業 (Dynamics 365 の設置型のみ)
レポートの公開

© 2017 Microsoft. All rights reserved. 著作権