LoginSignup
5
5

More than 3 years have passed since last update.

Tableau Prepでデータに連番(行番号)を採番する

Last updated at Posted at 2021-03-19

はじめに

分析したいデータに、連番となるユニークな番号やIDがふってあるといろいろ便利だったりします。
(エクセルのROW関数のイメージですね)
ですが、それが無かった場合Tableau Prepで簡単に採番できる方法をご紹介します。

Prepにて

連番を採番したいデータをTableau Prepに取り込みます。

クリーニングステップを追加し、[計算フィールドの作成]をクリックします。

image.png

フィールド名は[連番]など、分かりやすい名前をつけておいてください。これがあとで列名になります。
計算式の中には{ ORDERBY [順番に並ばせたい列名]:ROWN_NUMBER()}と記載します。この、ROW_NUMBER関数がミソです。
これで、[順番に並ばせたい列名](今回は[オーダーID]順)に並ばせた上で連番を採番することができます。

image.png

連番、という列が追加されているのを確認できます。
image.png

今回は[オーダーID]を指定しましたが、さらに降順・昇順を指定できたり、並び順指定の列を追加することもできます。試しにオーダーIDは昇順で、さらに売上の降順で並べる、という風に指定してみます。

image.png

連番の結果が変わりました。

image.png

なお、特に並び順は気にせずにとにかく採番したいだけ!であれば、ORDERBBY句の後はどの列を使っていただいても大丈夫です。
以下画像の例では、ORDERBYの後に[地域]を指定しています。(一応文字コード順に並んでいるのだと思います。)

image.png

応用編 - 連番で採番する範囲を指定する

ここまでの計算式では、データ全体に対して一意の行番号を採番していくという方法をご紹介しました。
PARTITION関数と組み合わせれば、採番する範囲を柔軟に変更してあげられます。
例えば、「オーダーID順に連番の番号をふるけれども、オーダー日が変わったらまた1から採番したい」場合、以下のように書きます。
image.png

以上です。

Tableau PrepではINDEX関数は使えませんが、その代わりROW_NUMBER関数を使うと簡単に連番(行番号)の採番ができました!
ROW_NUMBER関数の使い方は公式ドキュメントでも紹介されているので、興味のある方は併せてご参照ください。

おわり

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5