Free Trial

ディスカッション

答えを見つけ、質問し、Alteryx の専門知識を共有してください。
解決済み

カラム内の値毎でカウントしたい(&高速化したい)

Mari_jp
メテオール

各カラムに増加/減少/変更なしの値が入ったデータがあり、
これを増加/減少/変更なし毎に入力数をカウントしたいです。

自分なりにワークフローを作成し、

転置→クロスタブで出力自体はできたのですが、
もう少しシンプルで処理が速い方法はないでしょうか。

 

下記はSampleですが、実際にはデータ数も多く、Valueの値も増える形で実行したいと考えています。

Communityの皆さま、

初歩的な質問で恐縮ですがご教示いただけますと幸いです。



▼Input

Mari_jp_0-1638259945359.png

▼Output

Mari_jp_1-1638259980610.png

 

▼作成ワークフロー

Mari_jp_2-1638260141069.png

 

8件の返信8
gawa
15 - Aurora
15 - Aurora

@Mari_jp さん

 

転置の後に、集計してクロスタブではいかがでしょうか?

列数が増えない処理になるので、データ量が少なく、処理時間は多少マシになるかもしれません。お試しください。

 

gawa_0-1638261430420.png

 

データセットつきのワークフローを誰かと共有する際は、メニューバーのOption=>Export Workflowから.yxzp形式で保存して共有すると楽です。お節介かと思いましたが、ご参考まで。

AkimasaKajitani
17 - Castor
17 - Castor

@Mari_jp さん

 

基本的にはサンプルのWFでそれほど問題はないと思います。

 

ただ、フォーミュラツールのIF文は不要で、以下のような設定でシンプルに対応可能です。

 

AkimasaKajitani_0-1638261762437.png

 

結果としては以下のようになります。

 

AkimasaKajitani_1-1638261812404.png

 

Byte型でデータ量も減らせますし、条件式などもなくなるので、若干の高速化は図れると思います・・・。

AkimasaKajitani
17 - Castor
17 - Castor

@gawa さん

 

いいですね!確かに先にサマライズした方が高速化されるような気がします。

 

Mari_jp
メテオール

@gawa さん
@AkimasaKajitani さん

ご回答誠にありがとうございます。
ご丁寧に詳細部分までご教示いただき、大変勉強になりました。





 

 

AkimasaKajitani
17 - Castor
17 - Castor

@Mari_jp さん

 

一点補足ですが、データ量が多いのであれば、データ型にも気をつけると高速化が可能です。

例えば、整数型でも格納可能な最小の型に変える、とか、文字列型のサイズをなるべく小さくする、など。

また、不要な項目はセレクトツールで外しておく等も有効です。

 

なお、1000万レコードで適当なデータを作成して比較してみましたが、やはり @gawa さんのサマライズが一番高速でした。

 

サマライズ使う:32秒

私のやり方:37秒

元々のやり方:46秒

 

サンプルWFも添付しますので、よろしければご確認ください。

gawa
15 - Aurora
15 - Aurora

@AkimasaKajitani さん

自分は業務で扱うデータはせいぜい1000以下なので、データ型の設定はいい加減です(整数はInt、文字はV-WStringばかり使ってます)。

数百万行レベルのデータだと、もろに処理速度に響くんですね・・・。気を付けます。

AkimasaKajitani
17 - Castor
17 - Castor

@gawa さん

 

まぁ正直なところ、データ量多いなー、処理も遅いなーってなってから型を見直すことが多いですね・・・。

特に空間系のツールを使う場合、地理データが膨大なことが多くデータ量に気をつけないといけないというケースが比較的多いです(空間データの容量が大きいで・・・)。

 

基本的にはメモリと相談しながら、って感じです・・・。

 

Mari_jp
メテオール

@AkimasaKajitani さん
@gawa さん
お二人とも誠にありがとうございます。
私が扱いたいデータは数十万程度でして、今回お聞きした部分のほかに他の処理も組み合わせるとなると、処理速度が気になるくらいのデータ量ではあります・・・
データ型の設定と使用項目について確認したいと思います。

また別の案件でもCommunity内でご質問させていただくかもしれません。
引き続き、何卒宜しくお願い致します。