2016-11-14 15 views
0

「PC」の場合は「互換」を返し、それ以外の場合は「互換性がない」が返された場合は「Null」を返し、「Unclassified」を返します。エイリアス列は「分類」です。SSRSパラメータは1つのラベルで複数の値があります

> SELECT CASE WHEN class.code IS NULL THEN 'Unclassified' 
> WHEN class.Code = 'PC' THEN 'Compatible' ELSE 'Not-Compatible' 
> END Classification, FROM classification class 

ここで、この分類をSSRSレポートのパラメータとして設定します。

私@Classificationパラメータに続いて
WHERE class.Code LIKE @Classification 

Parameter Set up

だから、私のレポートでは、ユーザーが分類を選択するプロンプトが表示され、どのように私は、「未分類」を返す「他のすべてを」選択するようにユーザーを得るのですか?エイリアスの列名 "Classification"を使用して値を取得することはできません。 "Unclassified"というラベルに複数の値を設定する方法があれば?

+0

私はかなり理解していませんが....あなたのパラメータは、明らかに3つの値のうちの1つであることができるcase文の_result_にフィルタリングする必要があります:Unclassified、Compatible、Not-Compatible。そのすべてがあなたの_Value_列にリストされるべきです、そしてワイルドカード値(%) –

答えて

1

このロジックをWHERE句に組み込むことができます。まず、Non-Compatibleの値を "NC"に変更します。

WHERE (@Classification != 'NC' and class.Code LIKE @Classification) 
    OR (@Classification = 'NC' and class.Code != 'PC') 
1

がするあなたのクエリを変更してみてください:

SELECT WhatEverColumnYouNeed 
FROM classification 
WHERE (CASE WHEN class.code IS NULL THEN 'Unclassified' 
      WHEN class.Code = 'PC' THEN 'Compatible' 
      ELSE 'Not-Compatible' END 
    ) 
     IN (@Classification) 

は、その後、あなたが複数値パラメータを@Classification作る次に、あなたがこのような何かを行うことができます。利用可能な値をUnclassified、Compatible、Not-Compatibleに設定します。ラベルと同じ値。

関連する問題