2016-07-19 16 views
0

私は同じ答えを得た回数を返す保存済み検索(Netsuite)を作成したいと思います。Netsuiteシングルフィールドから部分文字列を作成するために保存された検索

シナリオ:質問があり、その質問に対して4つの回答(複数の回答を選択できます)があり、すべての回答が同じフィールドにカンマで区切られて格納されているとします。

今、私はユーザーが同じ回答を選択した時間を返す保存された検索を作成したいと思います。

例:質問1は、A、B、C、D

レスポンス1の4つの複数の選択肢を有していると仮定 - > Question1 - > A、B、C、D

応答2- >

- - > Question1 - > A、B、

レスポンス3 - > Question1 - > A、B、C

レスポンス4 - > Question

今私の保存した検索が私に

を返す必要があります質問 - >回答 - > B - >カウント

質問1 - > A - > 4

質問1 - > 3

質問1 - > C - > 2

質問1 - > D - > 1

答えて

1

質問に答えるためにRESTletを構築することを検討する必要があります。あなたは質問番号のパラメータを取るように設定することも、すべての回答を吐き出させることもできます。

あなたのスクリプトレットの中に、すべての質問データを返すための保存済み検索があります。次に、リストを繰り返し、回答を消化して回答を作成します。

最終的には、RESTletは応答をJSONオブジェクトとして分割します。

あなたはGUIが必要な場合は、代わりにSuiteletを構築

OR

。ロジックはRESTletと同じですが、結果のデータを単純なテーブルビューにパイプします。

+0

お返事ありがとうございました。私はそれを試みますが、SQLクエリを使用してそれを行う方法はありますか? – user3859504

+0

部分文字列と部分文字列インデックスに関するPLSQLコマンドを検索してみてください。また、これはあなたの提案に合わせることができるようです。 http://stackoverflow.com/questions/4389571/。実際のDBテーブルのようにフォーマットされたデータを使って、SQL質問として具体的に策定されたこの質問を再入力してみてください。 – TonyH

0

式(数値)のカラムを使用して、次の式を使用します。QUESTION1がある

LENGTH({QUESTION1})-LENGTH(REPLACE({QUESTION1}, 'A', '')) 

フィールド識別子と「A」あなたはAが指定した文字列である回数を返すために起こっています。あなたはその数式を修正し、4つの異なる列に1文字ごとに1つずつ入れるか、CASEなどで展開することができます。

0

このような検索が有効です。これは検索結果の一部です。

SUBSTRING式を使用する必要があるかどうかわかりませんが、問題が発生している可能性があります。NetSuiteはsubstringregexの式を提供しています。私は列の名前を推測しています同じcase文で{custbody_response2..n}

の応答のための列のn個の数を作成「SQL式」

Question GROUP BY //first column 
Response GROUP BY //second column 
Formula(Numeric) SUM // third...n columns is number of responses 
CASE {custbody_response1} WHEN 'A' 
    THEN '1' ELSE NULL END 

にヘルプを参照してくださいcustbody_responseです。また、私はあなたが質問のカスタムフィールドを持っていると仮定していますか?

関連する問題