2016-11-22 9 views
0

レポートのフィルタとして使用されているドキュメントプロパティがあります。これは、複数選択リストボックスです。Spotfire 6.5:検索機能で正確な値を確認する方法

if(find(Upper(Concatenate([Col1],' | ',[Col2])),Upper('$map("sum([${Property}])", ",")'))>0,"Yes", "No") 

リストボックスのプロパティから値を選択すると、ここにあるものが表示されます。 "TV | HDTV"とすると、データテーブルのすべての値が開始され、現在位置を返しています。 "TV | HD"、 "TV | HDTV"の両方の値がグラフに表示されます。値は私が欲しくない行に結合されます。正確なマッチを行う方法があるか、この数式を微調整することができますか?

このフィールドに基づいて30回程度の計算が可能なため、このフラグを他のデータタイプに変更することはできません。

よろしく、

Subro

答えて

2

これは私自身で判断したものです。マップ関数はテンプレートのように機能することを理解しました。だから私はなぜテンプレートを変更しないと思った。私が使用したコードは次のとおりです。

If(Upper(Concatenate([Col1],' | ',[Col2])) in ($map("'${Property}'", ",")),"Yes","No") 

これは私の値でうまくいきます。私は多くのシナリオでそれをチェックしました。またプロパティのために、フィールドを使用して、Upperを適用したところで、基本的にUpperとして値を保持しています。 @niko:ありがとうございます。私はそれがうまくいったと確信しています。私のために浪費された時間をお詫び申し上げます。

よろしく、

Subro

1

あなたが比較置き換える正規表現を試みることができる:RXReplace()、針と干し草の山の文字列が一致する場合

If(RXReplace(Concatenate([Col1], ' | ', [Col2]), Concatenate('^', '$map("sum([${Property}])", ",")', '$'), "", "i") = "", "Yes", "No") 

を(私はケースを脱感作する"i"を追加)を返します空の文字列

は、パイプの外に別の結合文字を選択する必要があります。そうでない場合は、"\\|"と連結する必要があります。

+1

あなたは@nikoありがとうございます。私はすでにそれを理解した。私はもう少し簡単なものを使いました。 – Subro

+0

問題ありません!答えとしてあなたの解決策を分かち合うことは素晴らしいことです。私は '$ map()'の例をたくさん見たことがないので、あなたが思いついたものを見ておくと便利です:) – niko

+1

すでに完了した兄弟! :) – Subro

関連する問題