コンマ区切り変数からの情報の抽出<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Q:コンマ区切りの変数内を調べて情報を抽出することは可能ですか?
コンテキスト:マルチパンチ変数に関連付けられたproduct(5)のリストがあり、その変数内を調べたい、Product 4(4)に関連付けられた値が存在するかどうかを確認し、存在する場合はこの人にユーザーとしてラベルを付けます。
データ例:
| ID | 使用されている製品 |
|---|
| 234241241 | 2,4,5 |
単純なIF(var == 4,1,0)を使用しても機能しません。すべてのデータ内に存在するレベルを調べるのではなく、セル内にあるものと完全に一致する応答を探していると思います。
明らかに私は、各製品がそれ自身の列を持つようにデータを再フォーマットすることができました、しかし、私はこれを回避する方法が式関数であるかどうか知りたいです。
ありがとうございました!
再:カンマ区切り変数からの情報の抽出上記で修正したコードに小さなエラーがありました。
あなたの質問に答えるために、あなたが単に式フィールドにそれをコピーして貼り付けようとしていたならば、これを貼り付けてください:
(!が欠落している場合(Regex(:Products Used、"4"))、"True"、"False")
テーブルを定義する必要がないので、唯一の違いはColumn部分です。
再:カンマ区切り変数からの情報の抽出列に複数回答列としてタグ付けする(つまり、列に複数回答プロパティを追加する)場合は、データフィルタを使用してさまざまな値を分割できます。
例えば、
新しいテーブル ( "テスト" 、
行を追加( 10年 ) 、
新しいコラム ( 「商品」 、
キャラクター 、
「公称」 、
プロパティを設定( 「複数回答」 、多重回答(セパレータ( 「」 ))) 、
値を設定(
{ "1,2,4" 、 "1,3,4" 、 "2,3" 、 "2,4" 、 "1,2" 、 「4」 、 「1」 、 「3」 、 "1,4" 、 「1」 }
)
) 、
新しいコラム ( "ユーザー" 、
数値 、
「連続」 、
フォーマット ( "ベスト" 、 12年 ) 、
設定値([ 2 、 3 、 1 、 3 、 2 、 4 、 1 、 3 、 4 、 4 ])
)
) ;
現在のデータ表 () << データフィルタ (
場所({ 1166年 、 73 ) 、
フィルタを追加(
列( : 製品) 、
表示( : 製品情報 、サイズ( 53 、 77 ) 、チェックボックス表示)
)
) ;
これで、データフィルタを使用して関心のあるカテゴリを選択できます。
これはあなたが欲しいものをあなたに与えるかもしれません。
再:カンマ区切り変数からの情報の抽出Contains()関数を試してください。
含む ( : 使用されている製品 、 「4」 ) > 0
再:カンマ区切り変数からの情報の抽出これを試します。ありがとうございました。
これは、新しい列を作成するときに式ダイアログウィンドウで機能する式ですか?
再:カンマ区切り変数からの情報の抽出実際には、私はあなたが何か違うことを意味すると思います。
dt =現在のデータテーブル()。
dt <<新しい列( "名前"、文字、公称、式(!IsMissing(regex(列(dt、"使用された製品")[]、"4"))、"True"、"False")));
これは正規表現を使用して、「使用製品」列で「4」を検索します。 4がある場合、新しい列にTrueと表示され、それ以外の場合は「False」と表示されます。
再:カンマ区切り変数からの情報の抽出私が正しく理解していれば、
dt =現在のデータテーブル()。
dt <<新しい列( "名前"、文字、公称、数式(If(words(Column(dt、"Products Used")[]、"、")== 4、word(4、列(dt、「使用された製品」)[]、「、」)));
4つの項目がコンマで区切られている場合は、これにより「使用された製品」列をチェックする新しい「名前」列が追加されます。 その場合、4番目のコンマ区切り項目を列の値として入れます。