結合/連結の前にセルをアルファベット順またはソートする<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
検索して検索 JMPマニュアルによる私は自分の問題に対する解決策を見つけることができないようです。
特定のコードに基づいて類似したデータをすべて含むいくつかの列があります。例えば:
コード1コード2
K26.3 U20.2
K26.3
K26.2
K26.2 U20.2
U20.2 K26.2
U20.2 K26.2
K26.2
U20.2 K26.3
K26.2 U20.2
U20.2 K26.2
U20.2 K26.2
U20.2 K26.2
K26.2 K33.9
U20.2 K26.2
最終的な結果は、これらのコードをアルファベット順に並べ替えてから、連結して新しいコードを作成し、それを統計分析に使用することができます。ソートまたはアルファベット順のグループとして考えてください。
たとえば、最初のコードの結果が "K26.3-U20.2"、2番目のコードが "K26.3"、最後のコードが "K26.2-U20.2"のようになります。
どんなアイデアでも JMPでこれを実行できますか?
再結合または連結の前にセルをアルファベット順またはソートするパーフェクトです。追加のコードを含めるように式を推定したところ、魅力的に機能します。どうもありがとう!
sortlist(evallist({:Code 1,:Code 2,:Code 3,:Code 4,:Code 5}))[1]||sortlist(evallist({:Code 1,:Code 2,:Code 3,:Code 4,:Code 5}))[2]||sortlist(evallist({:Code 1,:Code 2,:Code 3,:Code 4,:Code 5}))[3]||sortlist(evallist({:Code 1,:Code 2,:Code 3,:Code 4,:Code 5}))[4]||sortlist(evallist({:Code 1,:Code 2,:Code 3,:Code 4,:Code 5}))[5]再結合または連結の前にセルをアルファベット順またはソートするはい、それはそれを容易にします、しかし上の両方の公式はうまくいくはずです。
ハイフンがなくても、この列の式は機能します。
ソートリスト ( エヴァリスト ({ : コード1 、: コード2 )))[ 1 ] || ソートリスト ( エヴァリスト ({ : コード1 、: コード2 )))[ 2 ]
再結合または連結の前にセルをアルファベット順またはソートするそれがそれを容易にするならば、ハイフンは除外することができます - それはあとでコードを分割することをより簡単にするためにそこにのみあります。
再結合または連結の前にセルをアルファベット順またはソートする私が問題を正しく理解しているならば、順序が重要で空のセルはハイフン " - "を持ってはいけないのでそれはそれほど簡単ではありません。そのため、条件文のない単純な連結式では問題ありません。
これにはいくつかの解決策があると思います(JMPのように)。これは、列式を使用した2つの異なるアプローチです。最初の式は、条件付き単純条件式に基づいています。2番目の式はソートされたリストを作成し、正規表現を使用して冗長な " - "を削除します。
試してみるには、このスクリプトを実行するか、Fromula()内の式を新しい列のformulaプロパティに貼り付けます。
現在のデータテーブル () << 新しいコラム ( 「コード1 - コード2」 、式 ( もし ( : コード1 > : コード2 、
: コード2 || もし ( 不足している ( : コード2 ) 、 「」 、 「 - 」 ) || : コード1 、
: コード1 || もし ( 不足している ( : コード1 ) 、 「」 、 「 - 」 ) || : コード2
)))
現在のデータテーブル () << 新しいコラム ( 「コード1 - コード2」 、式 (
sl = ソートリスト ( エヴァリスト ({ : コード1 、: コード2 )) ;
正規表現 ( sl [ 1 ] || 「 - 」 || sl [ 2 ] 、 "^ - *(。+) - * $" 、 "\ 1" )
))
メッセージが編集されました:Marcus Sundbom
第二式を追加