2016-12-02 11 views
0
=switch(
    Fields!HEORG_REFNO.Value=7535,"public", 
    Fields!HEORG_REFNO.Value=7539,"public", 
    Fields!HEORG_REFNO.Value=7609,"public", 
    Fields!HEORG_REFNO.Value=7541,"public", 
    true,"private" 
) 

クリニックがプライベートかパブリックな天気に基づいて結果をグループ化したいので、私は新しいフィールドを作成しようとしています私は、switch文で間違ってやっているものを任意の提案であれば 。上記スイッチ条件に(heorg_refno = 7539またはheorg_refno = 7609またはheorg_refno = 7541)、それは公共のだろうそれ以外の診療所は、privateである必要があります。SSRSのスイッチ式:引数 'VarExpr'は有効な値ではありません。

答えて

0

この理由の1つは、Fields!HEORG_REFNO.Valueには実際には整数値は含まれていませんが、Stringの値。あなたは、文字列と比較する必要があると思いますその場合:

=Switch 
(
    Fields!HEORG_REFNO.Value="7535","public", 
    Fields!HEORG_REFNO.Value="7539","public", 
    Fields!HEORG_REFNO.Value="7609","public", 
    Fields!HEORG_REFNO.Value="7541","public", 
    true, "private" 
) 

あなたはSSRSデータセットでHEORG_REFNOのためのタイプをチェックする必要があります。

私の経験では、このようなものはデータセットに偽の列を作成して、式にあまりにも多くのものを入れるのではなく、フィルタすることができます。

後者は遅かれ早かれ混乱することになります。

+0

はい、データセットに別の列を追加していますが、この式を使用してこの列を作成すると、これが何を言っているのでしょうか? –

+0

いいえ、あなたの報告書には、データベースからの情報を照会するためのSELECT文が必要であると言います。場合によっては、レポート内の式を使用する代わりに、そのselect文に「計算列」を入れることをお勧めします。 'SELECT case When like When RefNo = 7535 THEN 'public' ELSE 'private' END AS FakeColumn FROM tablename'です。 –

+0

これはエラーを示します。 –

関連する問題