レポートのトラブルシューティング: マップ レポート (レポート ビルダーおよび SSRS)
レポートでマップの問題が発生しやすいのは、マップまたはマップ レイヤーをレポートに追加するときや、レポート内の既存のマップまたはマップ レイヤーをカスタマイズするとき、レポートのマップをプレビューするとき、またはマップを含んだレポートをパブリッシュするときです。 このトピックでは、このような問題のトラブルシューティングについて説明します。
注 |
---|
SQL Server データ ツールのレポート ビルダーまたはレポート デザイナーを使用して、レポート定義 (.rdl) を作成および変更できます。これらの作成環境では、レポートおよび関連アイテムの作成方法、開く方法、および保存方法が異なります。詳細については、microsoft.com Web サイトの「レポート デザイナーおよびレポート ビルダーを使用したレポートのデザイン (SSRS)」を参照してください。 |
この記事の内容
レポート定義のサイズの問題
空間データの問題
ビューポートの中心とズームの問題
レイヤーの問題
凡例、カラー スケール、および距離スケールの問題
ツールヒントとラベルの問題
タイルの問題
レポート定義のサイズの問題
レポート定義のサイズに関連した問題の解決方法については、このセクションを参照してください。
レポート定義のサイズを小さくするには
マップ レイヤーには、空間データから作成されるマップ要素が含まれています。 場合によっては、マップ要素がレポート定義に埋め込まれることがあります。 たとえば、次のようなケースがそれに該当します。
空間データのソースがマップ ギャラリーである場合やローカル コンピューター上の ESRI シェープファイルである場合、マップ要素が自動的にレポート定義に埋め込まれます。
ローカル ファイルが空間データ ソースとして参照されているレポートをレポート サーバーにパブリッシュした場合、レポート処理時に空間データを取得できません。 この問題を避けるために、マップ データはレポート定義に埋め込まれます。
マップ ウィザードまたはレイヤー ウィザードで、空間データを埋め込むオプションを選択した場合、空間データに基づくマップ要素が、レポート定義のマップ レイヤーに埋め込まれます。
マップ ペインでレイヤーを右クリックし、[空間データの埋め込み] のいずれかのオプションをクリックした場合、空間データに基づくマップ要素がレポート定義のマップ レイヤーに埋め込まれます。
ESRI シェープファイルを使用して埋め込まれたデータをレポート定義から削除するには、次の手順に従う必要があります。
ESRI .shp ファイルおよび .dbf ファイルをレポート サーバーにアップロードするかパブリッシュします。
レポートのデザイン ビューのマップ ペインで、埋め込みデータが存在するレイヤーを選択し、[レイヤー データ] のプロパティを開きます。 [空間データのソース] で [ESRI シェープファイルにリンク] を選択します。次に、レポート サーバー上の、ESRI シェープファイルが置かれているフォルダーを参照して選択し、[OK] をクリックします。
レポートを保存します。 変更したレイヤーの埋め込みデータがレポート定義から削除されます。
マップ ギャラリーのレポートからのマップ要素は常にマップ レイヤーに埋め込まれます。
トップに戻る
空間データの問題
空間データに関連した問題の解決方法については、このセクションを参照してください。
デザイン画面にサンプルの空間データが表示される
デザイン時、サンプル空間データに関するメッセージがデザイン画面に表示されることがあります。次のような理由が考えられます。
空間データのソースが ESRI .shp ファイルであるにもかかわらず、対応する .dbf ファイルが利用できない。 通常、ESRI シェープファイルには、空間データを含んだ .shp ファイルと、そのサポート ファイルである .dbf の両方が含まれています。 .dbf ファイルが .shp ファイルと同じディレクトリにあることを確認してください。
空間データのソースがデータセットであるとき、クエリに対するデータ接続が無効か、現在の資格情報が無効である。
式を含んだプロパティがマップ レイヤーに存在する。 式はレポートが実行されて初めて評価されます。 マップを表示するには、レポートをプレビューする必要があります。
空間データが、特定のスコープを持つデータセットから取得される。 たとえば、マップが Tablix データ領域内で入れ子にされている場合、または、マップが、分析データと空間データに同じデータセット スコープを使用している場合、レポートが実行されるまでデータ スコープは計算されません。
個々のマップ要素に対してオフセットを設定すると一群のマップ要素が移動する
空間データは、各マップ レイヤーに表示されるマップ要素を定義するものです。 マップ要素は、単一のポイント、一連のポイント、単一の線、一連の線、単一の多角形、または一連の多角形の空間データをベースにすることができます。 各マップ要素が 1 つの単位になります。 マップ要素に複数のポイントが含まれる場合に、要素を移動すると、そのマップ要素のすべてのポイントが移動されます。
各マップ要素のデータは、外部ソースからの空間データの形式によって決定されます。 たとえば、SQL Server データベース内の空間データを指定するクエリの場合、結果セット内のそれぞれの行には、ポイント、線、または多角形を構成する座標セットが複数含まれていることがあります。 結果セット内の単一の行によって定義されたすべてのマップ要素は、1 つのまとまりとして扱われます。 特定の座標セットの表示を変化させるには、次のいずれかの操作を行う必要があります。
目的の座標セットを別個の行として結果セットに取得するようクエリを変更する。
変化させるマップ要素を選択し、対応する埋め込み要素 (ポイント、線、または多角形) のプロパティを設定する (対応するレイヤーの種類の既定の表示プロパティをオーバーライドする)。
ESRI シェープファイルの空間データを使用したレイヤーに必ずデータが埋め込まれる
マップが使用されているレポートを確実にレポート サーバーで実行するためには、レポート サーバー上のリソースとして、ESRI シェープファイルが存在している必要があります。 マップにレイヤーを追加するときに、ローカル ファイル システム上のシェープファイルを指定すると、その空間データがレポートに自動的に埋め込まれます。
埋め込みデータを ESRI シェープファイルへのリンクに置き換えるには、.shp ファイルとそれに対応する .dbf ファイルとをレポート サーバーにアップロードし、そのレイヤーの空間データのソースを変更する必要があります。
データ ソースまたはデータセットの名前をわかりやすい名前に変更したところ、マップにデータが表示されなくなった
レポート アイテムの名前を手動で変更した場合、レポート定義は自動的には更新されません。
データセットの名前を変更する場合は、そのデータセットを参照するデータ領域またはマップ レイヤーを手動で更新する必要があります。 データセットに対して Tablix、グラフ、またはゲージを再バインドするには、デザイン画面で対象アイテムを選択し、データ領域のプロパティを開いて、適切なデータセットの名前を選択します。 データセットに対してマップ レイヤーを再バインドするには、対象レイヤーを選択し、レイヤーのプロパティを開いて、適切なデータセットの名前を選択します。
空間データに NULL や空の文字列が含まれる
マップ レポート アイテムの空間データでは、NULL がゼロ (0) に設定され、空の文字列は空 ("") に設定されます。
空間データのソースが SQL Server データベースの場合、この動作を変更するには、空間データを取得するクエリを変更する必要があります。
空間要素がマップに許容される最大数を超えた
既定では、マップには 20,000 個のマップ要素または 1,000,000 個のポイントを含めることができます。 マップがこの制限を超えた場合は、次のいずれかの方法で対処できます。
レイヤーを削除する。
マップの解像度を低くする。
マップ ビューポートの座標を小さくし、表示領域を狭くする。
空間データのソースにレポート データセットを使用している場合は、フィルターを設定して、データセットから取得するデータを制限します。 フィルターは、空間データ型以外のフィールドに設定してください。
空間データのソースに SQL Server データベースを使用している場合は、空間関数を使用してデータがもっと狭い領域に限定されるようにクエリを変更します。
トップに戻る
ビューポートの中心とビューの問題
ビューポートのオプションに関連した問題の解決方法については、このセクションを参照してください。
埋め込みマップ要素の中心とビューを設定できない
ビューポートを特定のマップ要素の中心に移動するには、レイヤー上の空間データと分析データとを関連付けておく必要があります。
レポートでマップの中心とビューを設定してレポートを再度開くと、マップ ビューが変わってしまう
レポートを開く際、空間データを読み取るために必要なユーザーの資格情報が不足していると、プレースホルダーの空間データが使用されます。 マップ ビューポートに対して設定されている中心とズームのオプションによっては、マップ ビューが別のレイヤーの中心に置かれている可能性があります。
空間データを再度読み込んで、レポートに保存したマップ ビューの中心を使用するには、マップ ビューポートを右クリックして、[再読み込み] をクリックします。 空間データ ソースの資格情報を入力すると、レイヤーに空間データが読み込まれ、マップ ビューが復元します。
マップ レイヤーに対する中心とビューのオプションが正常に機能しない
特定のレイヤーに対し、ビューポートが空間データの中心に来るように設定したにもかかわらず、ビューの中心がレイヤーの中心と合っていないように見える場合、空間データに、小さすぎてビューポートに表示されない島や地域が含まれている可能性があります。 たとえば、国によっては、小さな諸島や区域が領土の一部として空間データに含まれていることがあります。 ビューポートはすべての空間データを使用してレイヤーの中心を割り出します。
レイヤーの計算をオーバーライドするには、次のいずれかの操作を実行します。
ビューポートの中心を独自に指定する。
ビューポートのズーム レベルを変更し、範囲に含めたくない場所を除外する。
空間データをレポートに埋め込み、含めたくない場所を削除する。
トップに戻る
レイヤーの問題
レイヤーのオプションに関連した問題の解決方法については、このセクションを参照してください。
マップ内の 1 つまたは複数のレイヤーが表示されない
レポートにマップ レイヤーが表示されるかどうかは、空間データが利用できるかどうかや、空間データと分析データの関係、空間データの種類および対応するレイヤーの種類、レイヤーの可視性と透明度のオプション、レイヤーの描画順序などに依存します。 レイヤーのデータが表示されない場合は、次のオプションをチェックしてください。
レイヤーの種類と空間データの種類 : [レイヤーの種類] には、レイヤーの種類に対応する空間データのみが表示されます。 たとえば、レイヤーの種類が [ポイント] であるにもかかわらず空間データが [線] の場合、データは表示されません。
対応フィールドの値 : 対応フィールドは、分析データと空間データとを関連付けるために指定するフィールドです。それぞれのマップ要素を一意に識別する値が指定されていなければなりません。 フィールドは同じデータ型である必要があります。 さらに、対応フィールド内の値は完全に一致していることが必要です。 詳細については、「凡例、カラー スケール、および距離スケールの問題」を参照してください。
レイヤーの順序 : マップ ペインにおけるレイヤーの順序とは、レポート レンダラーでレイヤーが描画される順序をいいます。 先に描画されたレイヤー上の空間データは、それより後に描画されるレイヤーの空間データによって上書きされます。 一覧の先頭に表示されたレイヤーから先に描画されます。 一覧でレイヤーの順序を変更すると、レイヤーの描画順序も変更されます。
透明度 : 透明度は、各マップ レイヤーに対して別々に指定することができます。 透明度の既定値は、レイヤーの追加方法によって異なります。 透明度 0% は、そのレイヤーが不透明であり、他のレイヤー データは一切透けて見えないことを意味します。 既存のレイヤーをとおして他のデータが透けて見えるようにするには、思うような効果が得られるまで、このパーセンテージを大きくします。
表示 : レイヤーの [表示] は、[表示]、[非表示]、[ズーム レベルに基づく] (マップ ビューポートのズーム レベルに基づく) のいずれかになります。 ズーム レベルには、最大と最小の範囲を指定することもできます。 いずれかの値に評価されるような式を使って表示を制御することができます。
ヒント マップ ペインでは各レイヤーの表示/非表示を切り替えることができます。 各レイヤーをデザインする際、それ以外のすべてのレイヤーをオフにすることで、問題の原因が個々のレイヤーにあるのか、レイヤー間の透明度の問題なのかを特定することができます。
マップ レイヤーにフィルターを設定したがまったく効果がない
レイヤーのデータをフィルター処理するには、フィルター式でデータ型を指定する必要があります。 指定した条件がフィルター式によって正しく評価されるように、基になるデータ型が正しく指定されていることを確認してください。 詳細については、「フィルター式の例 (レポート ビルダーおよび SSRS)」を参照してください。
凡例、カラー スケール、およびルールの問題
ルール、凡例、およびカラー スケールのオプションに関連した問題の解決方法については、このセクションを参照してください。
マップの凡例の値を制御するには
凡例の値は、各マップ レイヤーに対して指定したマップ要素の種類のルールと、凡例に指定した分布ルールによって自動的に決定されます。
既定では、すべてのルールによって生成されたすべてのアイテムが最初の凡例に表示されます。 各レイヤーの多角形、線、およびポイントのすべてのルールに対する値が考慮され、1 つにまとまった凡例の範囲が作成されます。 アイテムを別々の凡例に分けて表示するには、まず、複数の凡例を作成し、各ルールについて、関連するアイテムの表示先の凡例を指定します。
ルールを特定の凡例に関連付けるには、ルールのプロパティを開き、[凡例] ページで、使用する凡例の名前を選択します。 凡例からアイテムを削除するには、凡例のオプションで、凡例の名前に空白行を選択します。 レポート内の凡例要素の名前を変更した場合は、各レイヤーと適切な凡例アイテムとを手動で関連付ける必要があります。
各凡例のタイトルと内容を制御するには、ルールに対する凡例のプロパティを使用します。 作成する区分の数を指定したり、各区分に対する値の代入計算を変更したりできるほか、範囲の上限と下限の値を設定したり、凡例テキストの書式を変更したりすることもできます。
詳細については、「マップの凡例、カラー スケール、および関連付けられているルールの変更 (レポート ビルダーおよび SSRS)」を参照してください。
ルールを設定したが想定した結果が得られない
ルールは、レイヤー上のマップ要素に関連付けられた分析データに適用されます。 次の箇条書きは、色ルール、サイズ ルール、幅ルール、マーカーの種類ルールなど、あらゆるルールの問題解決に役立てることができます。
多角形、線、ポイントの各マップ要素のスタイルは、特定の優先順位に従って適用されます。優先順位の低いものから挙げると、レイヤーのプロパティ、マップ要素のプロパティ (レイヤー上のすべてのマップ要素に対するプロパティ)、ユーザー指定のルール、オーバーライド オプションが選択された埋め込みマップ要素、ユーザー指定の値、という順になります。 埋め込み要素に対してオーバーライド オプションを選択した場合、それ以降、ルールは適用されません。後で値を元の設定に戻しても同様です。
対応フィールドの問題。 対応フィールドは、マップ要素と分析データ間のデータ バインドを可能にします。 空間データと分析データの (対応フィールドとして使用する) フィールドは、同じデータ型で、なおかつ、同じ形式でなければなりません。 空間データと分析データとで対応フィールドが完全に一致しない場合、ルールは作用しません。 たとえば、空間データの対応フィールドに (分析データの対応フィールドにはない) 余分な空白や句読点が含まれている場合、一致とは見なされません。
詳細については、「ルールおよび分析データを使用した多角形、線、およびポイントの表示の変更 (レポート ビルダーおよび SSRS)」を参照してください。
カラー スケールの NaN という値について
NaN とは、非数 (Not a Number) を表します。 カラー スケールの値には数値が想定されています。 カラー スケールに関連付けられているルールの分布の設定と凡例のテキスト値をチェックしてください。 分布の範囲を独自に作成した場合は、最初の範囲に下限が、最後の範囲に上限が指定されていることを確認してください。
レポートを実行してもカラー スケールが表示されない
カラー スケールは、マップ レイヤーのレイヤー全体または埋め込みマップ要素に対し、多角形、線、またはポイントに対する色ルールが指定されている場合に、ユーザーに情報を表示するものです。 マップ要素に色ルールが指定されていない場合や、色ルールの指定に (カラー マップではなく) 凡例が使用されている場合、レンダリングされたレポートにカラー マップは表示されません。
カラー スケールを表示するには、レイヤーまたは埋め込みマップ要素に色ルールを指定します。 詳細については、「マップの凡例、カラー スケール、および関連付けられているルールの変更 (レポート ビルダーおよび SSRS)」を参照してください。
トップに戻る
タイルの問題
タイルの背景のオプションに関連した問題の解決方法については、このセクションを参照してください。
Bing のマップ タイルの背景を表示できない
Bing のマップ タイルの背景がローカル プレビュー (またはレポート サーバーから実行したレポート) で表示されるかどうかは、次の設定に左右されます。
マップのタイル レイヤーが存在している必要があります。 マップ ウィザードまたはレイヤー ウィザードで、[このマップ ビューに Bing Maps の背景を追加する] を選択します。 これで、現在のマップ ビューポートのビューの中心およびズーム レベルに対し、タイル レイヤーが追加されます。 マップ ペインのツール バーからタイル レイヤーを追加することもできます。
ビューポートに使用されているマップの座標系が ([平面] ではなく) [地理] である必要があります。
マップ投影法が [Mercator] である必要があります。
ローカル プレビューの場合は、インターネットにアクセスできる必要があります。 レポート サーバーから実行されるレポートの場合は、タイルの背景をサポートするようにレポート サーバーが構成されている必要があります。 詳細については、Reporting Services のドキュメント (SQL Server オンライン ブック) の「マップ サポートの計画」を参照してください。
タイル レイヤーの追加の詳細については、「マップまたはマップ レイヤーの追加、変更、または削除 (レポート ビルダーおよび SSRS)」を参照してください。
タイル レイヤーのテキストを制御するには
[道路] と [ハイブリッド] のどちらのビューにもテキストが含まれます。 このテキストは、Bing Maps Web サービスから取得されるタイルの一部です。
タイル レイヤーをテキストなしで含めるには、[航空写真] ビューを選択します。
トップに戻る
ツールヒントとラベルの問題
ラベルまたはツールヒントのオプションに関連した問題の解決方法については、このセクションを参照してください。
ラベルまたはツールヒントに式を設定したところ、データセットのスコープに関するエラーが発生した
空間データのソースがマップ ギャラリーまたは ESRI シェープファイルである場合、関連付けられているデータは、レポート データセットのものではありません。 データセット フィールド参照に式構文を使用し、そのデータをラベルやツールヒントに指定することはできません。
レポート データセットのものではない空間データに関連したデータを指定するには、# 記号に続けて、データの名前を指定するラベルを指定する必要があります。
トップに戻る