次の方法で共有


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

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

Note

Microsoft Dynamics 365 Customer Engagement (on-premises) から渡されるパラメーター値の長さの上限は 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>  

非表示のパラメーター

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

特殊なパラメーター

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

パラメーター 内容
CRM_FilterText レポート ユーザーがレポートを実行するときに Report Viewer で対話的に作成するフィルター テキストの値が含まれます。 このパラメーターは、レポート ヘッダーにあるフィルターの概要テキスト ボックスに表示されます。 初期値は既定のフィルターに設定されます。
CRM_URL アプリの URL に設定します。 このパラメーターは、ドリルスルーするときに使用します。
CRM_FilteredEntity クエリ式の中で、データの事前フィルター処理 (高度な検索を使用) を有効にするために使用します。

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

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

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

パラメーター 内容
CRM_FullName レポートを誰の代理で実行しているのかを示す、フル ユーザー名。
CRM_UserTimeZone ユーザーのタイムゾーン名 (例: Pacific Standard Time)。
CRM_UILanguageId ユーザーの現在のロケール (LCID)。
CRM_YearStartWeekCode Dynamics 365 for Customer Engagement アプリで使用される年の最初の週。
CRM_WeekStartDayCode Customer Engagement で使用される、最初の曜日。
CRM_FiscalCalendarStart Customer Engagement で使用される、会計年度の開始日。
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_DateSeparator 日付のコンポーネント (年、月、日など) を区切る文字列。
CRM_TimeSeparator 時刻のコンポーネント (時、分、秒など) を区切る文字列。
CRM_AMDesignator 午前 (AM) の時刻の指定子。
CRM_PMDesignator 午後 (PM) の時刻の指定子。
CRM_ShortDatePattern フォーマット パターン "d" に関連付けられる、短い日付値のフォーマット パターン。
CRM_LongDatePattern フォーマット パターン "D" に関連付けられる、長い日付値のフォーマット パターン。
CRM_ShortTimePattern フォーマット パターン "t" に関連付けられる、短い時刻値のフォーマット パターン。
CRM_MonthDayPattern フォーマット パターン "m" および "M" に関連付けられる、月と日の値のフォーマット パターン。

関連項目

レポートと分析ガイド
レポートの公開