2017-07-05 5 views
0

患者名(ドリルダウン付きグループ)とその訪問に関連するいくつかのフィールドを表示するレポートを作成しています。私は特定の値が 'LocationID'列に表示されるかどうかを表示する列をレポートに作成しました。私が使用した表現は、私はそれがそれぞれの名前にYまたはNは、次の表示、これは素晴らしい仕事をしていたと思っIIF式を使用してグループ内のALL ROWSを検索する

= IIF(フィールド!LocationID.Value = "WELL"、 "Y"、 "N")

ですもし私が 'Well'が彼らの 'LocationID'に入っていたら教えてください。私はこれがうまくいくことを確認するためにいくつかチェックし、LocationIDコードが 'WHS'であることを発見しました.WHS訪問があった場合、NameおよびLocationIDで行が並べられているので、グループの先頭に表示されます。私の表現はこのトップアイテムだけを見ています。この式は、どのようにして別々に書かれ、各グループの全結果を検索することができますか?期間に応じて、患者は1回の訪問をしてもよいし、10回の訪問があってもよい。返されたすべての訪問を確認する必要があります。おそらくもっと良い方法があります。前もって感謝します。

+0

私は必要なロジックに基づいてデータセットのフラグを作成するためにcase文を使用してSQLでこれを行います。 - 例:例:LocationID = 'blah'の場合、LocationID = 'blah'、次に 'N' else [blah] end [newFlag] – jimmy8ball

+0

YまたはNの値各レコードについて彼らの訪問にこの価値が含まれているかどうかを知る必要があります。 – GKRobb

答えて

0

私は、このようなほとんどの問題を解決する最も簡単な方法は、いくつかのロジックをSQLレイヤーに戻すことに同意します。

しかし、実際にSSRS機能でこれを行う場合は、ルックアップセットに対して部分文字列検索を実装できます。

、言う
=Iif(InStr(Join(Lookupset(Fields!patientid.Value, Fields!patientid.Value, Fields!LocationsID.Value, "dataset"), ","), "WELL") > 0, "Y", "N") 

「関連のすべての行のデータセット全体を検索...あなたは、各患者その後、(私はあなたのグループが名前でないことを願う)に固有のデータセットで患者IDを持っていると仮定すると、文字列を検索して見つかったら "Y"を返します。

"WELLY"のようなデータセット内にある場所があれば、明らかにこれらは偽陽性となり、さらにネストされたロジックを実装する必要があります。ルックアップセットの戻りフィールドに値を追加して、 "WELL!"などのターミネーター文字を検索してみてください。

+0

ありがとうございました。私はこれまでに提案されたCASEステートメントを使用してこれを行うことができました。私はフィードバックに感謝します。 – GKRobb

関連する問題