2017-11-02 3 views
1

私は報告値[Organization]。[Organization]を持っています。 &は[SB]は 私の要件は、私はこの =ミッド(パラメータを試してみましたが、唯一のSBSSRSの文字列から特定の値を得るには

得ることです!RecallOrg.Value、InStr関数(パラメータ!RecallOrg.Value、 "& [")+1、(InStr関数(パラメータ!RecallOrg.Value、 "]") - InStr(パラメータ:RecallOrg.Value、 "& [") - 1))

ただし、エラーが発生しました。

私は上記の問題を解決することができますが、私はここで新たな問題に直面しています: 私はパラメータ値を持っています: "欧州DAMSフィンランド"、私は 'DAMS'の後に名前のみを抽出する必要があります。

=replace(replace(split(Parameters!RecallOrg.Value, "&")(1),"[",""),"]","") 

答えて

1

するあなたも、スプリットを使用して置き換えることができます

=MID(Parameters!RecallOrg.Value,InStr(Parameters!RecallOrg.Value,"&[")+2,(InStrRev(Parameters!RecallOrg.Value,"]")-InStr(Parameters!RecallOrg.Value,"&[")-2)) 
+0

ないその –

+0

が動作していない私は、テキストボックスパラメータに[SB]&[組織]。[組織]の値を渡すことによって試み、テキストボックスに上記の式を試みました。私は結果を得た。あなたは同じ文字列を使用していますか? MIDの後に(上記の文字列中の33文字である 'S'の開始位置を与えると(31 + 2という位置の '&['が見つかります)、カンマの後に&[と私たちが35の位置(この位置を見つけるために** InstrRev **を使用する必要があります)と '&['の31を引いてから-2の位置を引いて、 'S'の位置 – NiveaGM

+0

'&['の位置を '['の1番目の位置から減じようとしている場所14(** InStr **を使ってof]の最初の位置を見つけ、** InstrRev **を使用しなければなりません)、&[。の後ろにある文字の数に対して-veの結果(-18)が得られます – NiveaGM

1

このコードを試してみてくださいすることを達成することができます結果。 .GetValue(1)を使用する必要があります。以下のコードを見つけてください。

=REPLACE(REPLACE(split(Parameters!RecallOrg.Value, "&").GetValue(1),"[",""),"]","") 
+0

これは(1)を参照してください。throwing error –

+0

配列要素、splitはゼロベースの配列に変換され、 "&"はセパレータなので、要素(1)は右ですide。いつも "&"はありますか?エラーは何ですか? – Jayvee

0

@Jayveeはあなたが必要な取得する「スプリット」を使用することができ、言ったように:どのように私は

関連する問題