Continuing the discussion from データテーブルを並び替えで複数条件:
UiPath初心者です。
①英数字の列
②日付の列
の順で並び替えを希望しております。
こちらのトピックでの解決案の方が、
「値が整数値の場合」とありましたので、
変更箇所等、教えて頂きたくよろしくお願いいたします。
Continuing the discussion from データテーブルを並び替えで複数条件:
UiPath初心者です。
①英数字の列
②日付の列
の順で並び替えを希望しております。
こちらのトピックでの解決案の方が、
「値が整数値の場合」とありましたので、
変更箇所等、教えて頂きたくよろしくお願いいたします。
ここに詳しく記述されていますが、ダイジェスト。
1)DataView型の変数を用意する
2)DataView view = new DataView(locationTable);とし、DataTableをDataViewに格納する
3)view.Sort = “State ASC, ZipCode ASC”;のように、"英数字の列△ASC,日付の列△ASC"にてSORTする
4)locationTable ← view.ToTableのように代入アクティビティで代入する。
例えば、A列 と B列 があったとして、
というように、優先度の低い並び替え→優先度の高い並び替え、の順に並び替え処理していけば、同じ結果が得られるのではないかと思います。こうすれば、上記のようにDataViewを使う必要がなく、アクティビティを並び替えたい列の数、配置するだけで済むため、ワークフローの可読性も高い(あとから保守するときにもわかりやすい)と思います。
あ、本当だ。入力順番は保証されるのか。。。知らなかった。( …)φメモメモ
おはようございます。
ありがとうございます。
初心者レベルの話にすると、以下であってますか?
はい、そのイメージであってます。実際に試していただくと、ご要望どおりの動きになっているのではないかと思います。
余談ですが、Excelで並び替えをするときにも同じような手順が利用できます(私は手作業のとき、ほとんどこの方法で操作してます)。
これまでの動きを見ている限りだと安定ソートのようで、先にソートした順序が(その次にソートされたときに)維持されてますね。なので、今回の方法でもいちおう実現は可能かなと。ソートしたい列の数や、可変性の点からはDataViewとかのほうがいいのかもしれないですね。
ちなみに過去、↓のような実装をしたことがあります。いちおうこれなら列数や可変性もそれなりに確保できそうだな、と。。。
colNames
)に格納するcolNames.Reverse
を指定する // これで配列内の要素の順序を逆転させ、優先度が低い順にする
なるほどなるほどです!!
本当に勉強になりました。
ありがとうございました。
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.