SSRSレポートのオプションのパラメータに対応するWHERE句を作成するにはどうすればよいですか?

ジンボ

基本的なSSRSレポートをオプションのパラメーターでフィルタリングできるようにしようとしています。フィルタリングする2つのパラメーターは、2つの日付の間またはSalesIDによるものである必要があります。各パラメーターを個別にフィルター処理することはできますが、ステートメントにそれらを追加してレポートを実行しようとすると、「パラメーターを空白にすることはできません」と表示されます。オンラインで読んだアドバイスでは、パラメーターの「空白値を許可する」を確認するように指示されています。プロパティですが、これは日付/時刻では使用できません。

オンラインで読んだところ、パラメータのプロパティで「空白値を許可する」を確認するように求められましたが、これは日付/時刻では使用できません。また、「OR IS NULL」を使用してWHERE句のバリエーションを多数追加しようとしましたが、それも機能しません。また、どこかに= IIF句を追加する必要があるかもしれないと読みましたが、これまでにこれを行ったことがありません。

Select SalesID, SalesDate, SaleValue
FROM SalesDb
WHERE (SalesDate BETWEEN @StartDate AND @EndDate AND SalesID IS NULL) OR 
      (SalesID = @SalesID AND @StartDate IS NULL and @EndDate IS NULL) 

上記のコードは、開始日と終了日を選択した場合に実行されますが、SalesDateデータのみを取得し、他のフィールドは空白です。

レポートを開始日と終了日またはSalesIDの両方ではなく、いずれかでフィルタリングできるようにしたい。現在、上記は次のエラーを返します-StartDateを空白にすることはできません。前述したように、「空白値を許可する」を確認できません。前もって感謝します。

ロブ

レポートビルダーのパラメーター選択を制約して、SalesIDまたはStartDateEndDateのペアのいずれかを指定するユーザーを強制することは、レポートビルダー/ SSRSでよく知っていることではありませんが、対応する必要があるSQLクエリのソリューションを紹介できます。あなたのニーズに。

パラメータにnull値許可するをチェックすることから始めます(これは、空白値を許可するのとは異なり、日付/時刻パラメータで使用できます):

Microsoft SQLServerレポートビルダーの日付/時刻パラメーターのレポートパラメータープロパティ

これが完了したらISNULL、パラメーターに対して使用して、データを目的のサブセットにフィルター処理できます

SELECT  SalesID, SalesDate, SaleValue
FROM    SalesDb
WHERE   SalesId = ISNULL(@SalesId, SalesId)
AND     SalesDate BETWEEN ISNULL(@StartDate, SalesDate) AND ISNULL(@EndDate, SalesDate)

SalesId = ISNULL(@SalesId, SalesId)例として述語を使用すると、これはSQLServerに行のSalesIdforが次のいずれかである行を返すように指示します

  1. nullでない場合は、@ SalesIdパラメーターと同じ、または
  2. @SalesIdがnullの場合、行のSalesId値に等しい

ときにこの手段@SalesIdnullの場合、すべての行がで指定された制限(もしあれば)のために準備ができて返されます@StartDateし、@EndDate適用します。

これが私が使用したテストハーネスです。これはあなたや他の人に役立つかもしれません。

CREATE TABLE SalesDb
(
    SalesID INT NOT NULL,
    SalesDate DATETIME NOT NULL,
    SaleValue DECIMAL(10, 2),
)
GO

INSERT
INTO    SalesDb
        (
            SalesID, SalesDate, SaleValue
        )
VALUES  (15, '2019-01-01', 12),
        (16, '2019-01-02', 34),
        (16, '2019-01-03', 56),
        (16, '2019-01-04', 78)

DECLARE @StartDate DATETIME = '2019-01-03', @EndDate DATETIME = '2019-01-04', @SalesID INT = NULL

SELECT  SalesID, SalesDate, SaleValue
FROM    SalesDb
WHERE   SalesId = ISNULL(@SalesId, SalesId)
AND     SalesDate BETWEEN ISNULL(@StartDate, SalesDate) AND ISNULL(@EndDate, SalesDate)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SSRSサブスクリプションの件名にレポートパラメータを含めるにはどうすればよいですか?

分類Dev

オプションのDateTimeパラメータを作成するにはどうすればよいですか?

分類Dev

データベースクエリの複数のオプションパラメータに対して単一のエクスプレスエンドポイントを作成するにはどうすればよいですか?

分類Dev

エクスプレスルートでオプションのパラメータ名を作成するにはどうすればよいですか?

分類Dev

オプションのパラメーターを使用してコンストラクターを作成するにはどうすればよいですか?

分類Dev

Octaneコンポーネントに対してオプションのアクションを作成するにはどうすればよいですか?

分類Dev

TypeScriptのデコレータにオプションのパラメータを追加するにはどうすればよいですか?

分類Dev

レポートのパラメータを別のパラメータに送信するにはどうすればよいですか?SSRS

分類Dev

パラメータでSSRSレポートパスをストアドプロシージャに送信するにはどうすればよいですか?

分類Dev

オプションのパラメータが必要になるにはどうすればよいですか?

分類Dev

独自の注釈のオプションパラメータを作成するにはどうすればよいですか?

分類Dev

オプションのパラメータを使用してQ_INVOKABLE関数を作成するにはどうすればよいですか?

分類Dev

Python 2.7でオプションの関数パラメータのデフォルト値を変更するにはどうすればよいですか?

分類Dev

オプションの欠落しているパラメーターでエラーを表示するにはどうすればよいですか?

分類Dev

オプションの欠落しているパラメーターでエラーを表示するにはどうすればよいですか?

分類Dev

rubyのメソッドのオプションパラメータのデフォルト値を調べるにはどうすればよいですか?

分類Dev

jQueryで選択されたオプションの対応するデータを取得するにはどうすればよいですか?

分類Dev

パラメータを含むGherkinでオプションのテキストを定義するにはどうすればよいですか?

分類Dev

パラメータのリストを指定してwhere句を動的に作成するにはどうすればよいですか?

分類Dev

オプションのパラメータのデフォルトとしてDateTime.Now.Yearを使用するにはどうすればよいですか?

分類Dev

構築中のすべてのポートにコンパイラオプションを追加するにはどうすればよいですか?

分類Dev

SSRSとPostgreSQL:オプションのパラメーターを渡すにはどうすればよいですか?

分類Dev

cssでレスポンシブスプライトシートアニメーションを作成するにはどうすればよいですか?

分類Dev

CRTPを使用して基本クラスでオプションのテンプレートパラメータを作成するにはどうすればよいですか?

分類Dev

Linq式のコレクションをパラメーターとして簡単に作成するにはどうすればよいですか?

分類Dev

ガトリングのパラメータ化されたシミュレーションからシナリオごとのレポートを取得するにはどうすればよいですか?

分類Dev

golangのオプションの文字列パラメーターに値を設定するにはどうすればよいですか?

分類Dev

クエリSQLにPreparedStatementの複数のオプションパラメーターを入力するにはどうすればよいですか?

分類Dev

オプションでいくつかのフォームクエリパラメータを削除するにはどうすればよいですか?

Related 関連記事

  1. 1

    SSRSサブスクリプションの件名にレポートパラメータを含めるにはどうすればよいですか?

  2. 2

    オプションのDateTimeパラメータを作成するにはどうすればよいですか?

  3. 3

    データベースクエリの複数のオプションパラメータに対して単一のエクスプレスエンドポイントを作成するにはどうすればよいですか?

  4. 4

    エクスプレスルートでオプションのパラメータ名を作成するにはどうすればよいですか?

  5. 5

    オプションのパラメーターを使用してコンストラクターを作成するにはどうすればよいですか?

  6. 6

    Octaneコンポーネントに対してオプションのアクションを作成するにはどうすればよいですか?

  7. 7

    TypeScriptのデコレータにオプションのパラメータを追加するにはどうすればよいですか?

  8. 8

    レポートのパラメータを別のパラメータに送信するにはどうすればよいですか?SSRS

  9. 9

    パラメータでSSRSレポートパスをストアドプロシージャに送信するにはどうすればよいですか?

  10. 10

    オプションのパラメータが必要になるにはどうすればよいですか?

  11. 11

    独自の注釈のオプションパラメータを作成するにはどうすればよいですか?

  12. 12

    オプションのパラメータを使用してQ_INVOKABLE関数を作成するにはどうすればよいですか?

  13. 13

    Python 2.7でオプションの関数パラメータのデフォルト値を変更するにはどうすればよいですか?

  14. 14

    オプションの欠落しているパラメーターでエラーを表示するにはどうすればよいですか?

  15. 15

    オプションの欠落しているパラメーターでエラーを表示するにはどうすればよいですか?

  16. 16

    rubyのメソッドのオプションパラメータのデフォルト値を調べるにはどうすればよいですか?

  17. 17

    jQueryで選択されたオプションの対応するデータを取得するにはどうすればよいですか?

  18. 18

    パラメータを含むGherkinでオプションのテキストを定義するにはどうすればよいですか?

  19. 19

    パラメータのリストを指定してwhere句を動的に作成するにはどうすればよいですか?

  20. 20

    オプションのパラメータのデフォルトとしてDateTime.Now.Yearを使用するにはどうすればよいですか?

  21. 21

    構築中のすべてのポートにコンパイラオプションを追加するにはどうすればよいですか?

  22. 22

    SSRSとPostgreSQL:オプションのパラメーターを渡すにはどうすればよいですか?

  23. 23

    cssでレスポンシブスプライトシートアニメーションを作成するにはどうすればよいですか?

  24. 24

    CRTPを使用して基本クラスでオプションのテンプレートパラメータを作成するにはどうすればよいですか?

  25. 25

    Linq式のコレクションをパラメーターとして簡単に作成するにはどうすればよいですか?

  26. 26

    ガトリングのパラメータ化されたシミュレーションからシナリオごとのレポートを取得するにはどうすればよいですか?

  27. 27

    golangのオプションの文字列パラメーターに値を設定するにはどうすればよいですか?

  28. 28

    クエリSQLにPreparedStatementの複数のオプションパラメーターを入力するにはどうすればよいですか?

  29. 29

    オプションでいくつかのフォームクエリパラメータを削除するにはどうすればよいですか?

ホットタグ

アーカイブ