web-dev-qa-db-ja.com

SSRS 2008 R2で機能しないパラメーターのデフォルト値

ユーザーがリストから複数の値を選択できるパラメーターを持つレポート(BIDS SSRS 2008 R2)があります(たとえば、Sales Regions)。

ただし、リストが長いため(15ほどの値)、最も使用される2つの値がデフォルトで選択されています。

[パラメーターのプロパティ] >> [既定値]ダイアログで構成し、プレビューモードでレポートを実行すると機能します。つまり、既定値がチェックされます。

ただし、展開してIE9(またはChrome)で実行すると機能しません。

何か案は?

17
Amarundo

私はあなたのビルドがデプロイしているのが悪く、あなたが行った変更から更新されなかったか、値を上書きしていないと思います。デフォルトのパラメーター値が存在することを確認するために、いくつかのことを行うことができます。

  1. サーバー上の公開されたレポートに移動し、右側のドロップダウン矢印をクリックして、「管理」を選択します。次に、左側のペインで「パラメータ」を選択します。 「デフォルトあり」列(2008R2以降では左から3番目)の下でチェックする必要があります。次に、「デフォルト値」の下で、特定の明示的な入力であるか、「クエリベース」と表示されます。つまり、データセットまたは同様の方法から値を取得します。これが期待する値と異なり、明示的である場合は、ここで変更できます。

  2. クエリベースで、ここでデータを変更できない場合は、BIDSに移動してソリューションの下でSSRSプロジェクトを開き、[Windowsエクスプローラーでフォルダーを開く]を選択します。レポートのDATAファイルを見つけて削除します。これはレポート自体ではなく、「report.rdl.data」のようなファイルに似ていることに注意してください。これはビルドに影響を与える可能性が高いステップではなく、単にプレビューに影響しますが、再構築後のプレビューを正確に表示することを望んでいます。レポートのプロジェクトに移動し、[クリーン]、[再構築]の順に選択して、明示的に行ったものに加えてビン内のすべてのデータファイルを確実に削除します。 Rebuildは、指示に従ってすべてのファイルをビルドします。次に、レポートのプレビューをクリックし、デフォルトで期待どおりであることを確認します。再度公開して観察します。

  3. それでもレポートが変更されない場合は、更新が行われていないと思います。サーバー上のレポートの名前を「report_old」のように変更し、再度公開してみます。

  4. それでもうまくいかない場合は、必要な公開場所が有効であり、正しくデプロイされていること、および「上書きしない」に設定されていない共有データセットからデータが取得されていないことや、公開に起因する奇妙なEdgeケースを確認します構成設定のために停止しています。

SSRSには、ファイルがソース管理下にあり、システムが自分自身でパラメーターの更新を望まないという問題があり、過去に奇妙な問題がありました。通常、これは再構築で修正されますが、新しいバイナリファイルを公開する必要がある場合があります。

25
djangojazz

今週も同じことを見ましたが、多値パラメーターの「デフォルトリスト」に値があり、それがデータ選択に含まれていないことがあったことが判明しました。私の場合、デフォルトリストの値は選択する日付。

これが私を捕らえた理由です。SSRSは、開発プレビュー中にデフォルトリストの無効な値を許可しますが、本番環境では許可しません。

私の例では、レポートビルダーでレポートを作成していました。レポートビルダーでレポートの「実行」(プレビュー)を行ったときに、リストパラメーターのチェックボックスが、設計どおりにデフォルトリストの値に対して選択されました。しかし、レポートを保存し、ユーザーが行うように(Reporting Servicesブラウザーページからレポートを実行するように)実行すると、値は選択されず、デフォルトもありません。

次に、これを修正するために、その時点までのすべての選択基準を取得し、それらをデフォルトリストに適用しました-「デフォルト値」が「使用可能な値」内の値のみを含むことを確認してから、デフォルト値が選択され、レポートビルダー開発とSSRS生産の両方。

例:「Available Values」の選択クエリが次のとおりであると仮定します。

SELECT Type
FROM MyTable
WHERE Date <= @BEG_DATE
  AND Date >= @END_DATE

そして、日付として2013年1月1日と2013年12月31日を使用し、上記のリストが「A」、「B」、「C」、「X」、「Y」、「Z」を返すと仮定しますユーザーが選択する値(チェックボックスとして表示)。

ここで、「デフォルト値」の選択クエリが次のようになっていると仮定します。

SELECT Type
FROM MyTable
WHERE Type IN ('A','B','G','H') 

この例の問題は、日付1/1/2013および12/31/2013の場合、デフォルト値「G」および「H」が有効な値ではないことです。

この例の修正は、「デフォルト値」クエリの「WHERE」句に追加することです。あれは。。。になる:

SELECT Type
FROM MyTable
WHERE Type IN ('A','B','G','H') 
  AND Date <= @BEG_DATE
  AND Date >= @END_DATE

現在、このデフォルト値クエリが2013年1月1日と2013年12月31日に実行されると、「G」と「H」はデフォルト値から脱落し、「A」と「B」のみがデフォルトのままになります。値。 「A」と「B」は両方とも選択できます。これらは両方ともパラメータの使用可能な値にも含まれているためです。そのため、複数値パラメーターのデフォルト設定が機能するようになりました。両方とも開発中であり、レポートを保存した後(展開後、公開後)、ブラウザーから実行します。

4
Doug_Ivison

今日も同じ問題に遭遇しました。 (23rd June 2016)

理由:レポートサーバーに同じレポートをアップロード/展開すると、パラメータのデフォルト値とデフォルトの一部のプロパティが制御されますレポートサーバーレベル。

Solution:reportsyncなどのユーティリティを使用して同じレポートを再デプロイする場合は、最初に確認する必要がありますこれらのレポート/単一レポートをすべて削除してデフォルト値を有効にしてから、同期操作を実行します。

注:これを行う前に、同じユーティリティを使用してすべてのSSRSレポートのバックアップを取ります使用する。タイムアウトエラーやサーバーの問題が原因で操作が失敗することがあるためです。

代替ソリューション:レポートが非常に少なく、それらのレポートを削除したくない場合は、デフォルト値を手動で変更します[パラメータ]タブに移動し、Has Default。それでおしまい。

これがすべてのSSRS開発者に役立つことを願っています。

2
pedram

今日も同じ問題がありました。 SSRS 2008 R2について2つのレポート(共有ポイントが統合されている)があり、1つのパラメーターをデフォルト値に設定すると、何を試しても変更はかかりません。 BIDS(VS 2012)では正常に機能していました。ラベルを更新して、変更がサーバーにアップロードされたことを確認しました。デフォルト値が機能する前に、最終的にサーバーからレポートを削除して、それらを再度アップロードする必要がありました。

2
RobbZ

同様の問題がありましたが、プレビューモードではデフォルトが設定されていませんでした。

問題は、デフォルト値クエリからロードされたコードの1つAvailable Valuesクエリ

たとえば、コード2000はDefault Valuesクエリにありましたが、Available Valuesクエリにはありませんでした

結果:デフォルト値はどれも選択されていません

母集団クエリを修正すると、すべてのデフォルト値が選択されました。

図を移動します。

2
Nick.McDermaid