#はじめに
分析したいデータに、連番となるユニークな番号やIDがふってあるといろいろ便利だったりします。
(エクセルのROW関数のイメージですね)
ですが、それが無かった場合Tableau Prepで簡単に採番できる方法をご紹介します。
Prepにて
連番を採番したいデータをTableau Prepに取り込みます。
クリーニングステップを追加し、[計算フィールドの作成]をクリックします。
フィールド名は[連番]など、分かりやすい名前をつけておいてください。これがあとで列名になります。
計算式の中には{ ORDERBY [順番に並ばせたい列名]:ROWN_NUMBER()}と記載します。この、ROW_NUMBER関数がミソです。
これで、[順番に並ばせたい列名](今回は[オーダーID]順)に並ばせた上で連番を採番することができます。
今回は[オーダーID]を指定しましたが、さらに降順・昇順を指定できたり、並び順指定の列を追加することもできます。試しにオーダーIDは昇順で、さらに売上の降順で並べる、という風に指定してみます。
連番の結果が変わりました。
なお、特に並び順は気にせずにとにかく採番したいだけ!であれば、ORDERBBY句の後はどの列を使っていただいても大丈夫です。
以下画像の例では、ORDERBYの後に[地域]を指定しています。(一応文字コード順に並んでいるのだと思います。)
#応用編 - 連番で採番する範囲を指定する
ここまでの計算式では、データ全体に対して一意の行番号を採番していくという方法をご紹介しました。
PARTITION関数と組み合わせれば、採番する範囲を柔軟に変更してあげられます。
例えば、「オーダーID順に連番の番号をふるけれども、オーダー日が変わったらまた1から採番したい」場合、以下のように書きます。
以上です。
Tableau PrepではINDEX関数は使えませんが、その代わりROW_NUMBER関数を使うと簡単に連番(行番号)の採番ができました!
ROW_NUMBER関数の使い方は**公式ドキュメント**でも紹介されているので、興味のある方は併せてご参照ください。
おわり