見出し画像

Tableau Prepの作業を変えるTips集15 ー新しい行 、 Row number & Fill downー

Tableau Prepユーザー会のNakajima2です。
今回は、2024年6月13日開催の第9回Tableau Prepユーザー会イベントで登壇者の Aiさん、Riekoさん が発表された2つのTips (新しい行、下を埋める(Fill Down) について、お二人の発表内容からまとめてみました。


Prep Tips (29) : 新しい行

データテーブルの列に該当するフィールドで、日付などの順序だった連続値として扱えるデータにおいて欠損がある(日付が抜けている など)場合に、欠損しているデータを生成してくれる機能です。
Aiさんの発表に従い、順に見ていきましょう。Tableau Desktopに付属のサンプルスーパーストア(2024.1)を利用した説明です。

1)概要

元データに日付が抜けている場合に、新しい行の追加で抜けていた日付データが補完されます。

日付が抜けている4日分が、新しい行の操作で4行追加された

2)設定方法

Prepのフローで、各ステップから次の処理をリスト選択する際に、「新しい行」が選択出来ます。

処理ステップから「新しい行」を選ぶ

表示されるデータ設定のペインで作業が行えます。次の3Stepで操作を行います。操作はこれだけ、ポイント抑えれば難しさはありませんね。

Step1 日付の条件設定、Step2 日付の感覚設定、Step3 行に入れるデータの扱い設定

3)業務での活用事例 将来販売予測

新しい行で欠損しているデータ間だけでなく、将来予測などの現データ最大値以上のデータ行を作成してシミュレーションに利用した事例。
元データとして、Prepで2030年までの追加データ(日付行)を作成する。
Prep出力後のデータで、DesktopのVizを作成。グラフのパラメータで伸び率を試算させることで販売見込みの傾向を把握する事例です。

2024年以降の販売予測をするために、新しい行で2030年までのデータ行を追加した

この事例でのPrepフロー例は、次の通りです。
新しい行の作成操作も、数クリックで簡単に行え、作業性向上による試算時間の簡素化も図れている様です。

今回のシミュレーションで利用したPrepフロー例


新しい行の操作、利用事例については、〜データ準備のお悩みに答えます〜 Tableau Prepユーザー会  第7回 特別編 でもMitamuuさんから取り上げられています。利用データの存在期間内に不足しているデータを補完して、連続データとして扱う事例が紹介されています。

実務でも利用ケースが多い、覚えておきたいTipsになります。

Prep Tips (30) : Row number & Fill down

Tableau Desktopだと利用出来る INDEX関数、Prepだと使えなくて行に番号振れないんだよね、、、とか
Ecelファイルでセル結合がされていて、インタプリタ利用してファイル接続してもPrepではNULLになって使いづらいんだよね、、、なんてことありませんか?

そんな時に力を貸してくれるのが、Row number と Fill downです。使い方を Rieko さんの発表を元に以下 見ていきましょう。

1)Row number 2つあります

Desktopの INDEX 関数と同様に、Prepで行に通し番号を振ってくれる関数がRow numberです。Prepの機能上、2つのRow numberがあります。

① SOURCE_ROW_NUMBER

データの接続時に利用出来ます。作業時に自動で生成される機能です。普段は、自動生成されたフィールドが自動で削除された状態になっています。これを変更を取り消すことで利用可能になります。
ここで割り振られる番号は、データソース全体を通して付けられる行番号になります。

Source_Row_Numberを変更して利用する
Prepでの操作例

② ROW_NUMBER

同じような名前ですが、表計算関数として利用できる関数です。PARTITION や ORDERBY と一緒に使い、データ全体もしくはグループ単位で行番号を割り振ります。利用方法は、次の通り 計算フィールドで関数を書いて使えます。

{ PARTITION [Field Name1] : ORDERBY [FieldName2] DESC : ROW_NUMBER() }

[Field Name1]でグループ化して、[FieldName2]を降順に並べた行の番号を割り振って という関数式

行番号は、ランクとしても利用出来るためTableau Deskopの RANK_UNIQUE 関数と同じ数値割り振り挙動になります(以下 Prep Tipsもご参照ください)。

2)Fill down

下を埋める Fill  down。Excelでセルが結合された表を処理する際とても大変ですが、Fill Downを利用するとセルの結合でNULLと判断されるデータの処理(穴埋め)を行うことが出来ます。Row numberで作成された行番号とセットで利用。

今回は、Preppin’ Dataの2023 week45 課題を例に説明します。

①データソース(Excelファイル)

下図の表構成データです。

元データソース

[Project Name]のフィールドを作成し、[Project]のデータとの区分を考えます。

[Project Name]
IF ISNULL([Cost]) AND ISNULL([Invoiced Amount]) THEN [Project] END

[Project]からプロジェクト名を持ってくる : [Project Name]を作成
[Project Name]フィールドにNullが残る

このNULLを埋めるために、用意していた [Source Row Number] と、Fill downの作業が有効になります。

Fill down(下を埋める)作業方法
UIに従い設定 ホント便利
NULLが埋まった : 新しい [PJ Name Fill down] というフィールドを作り比較しています

2023 Week45 は、この後 作成した [PJ Name Fill down] のデータを利用して集計作業を行いフローを完成させます。

作成したPrepフロー例

おわりに

今回の 2024年6月13日開催の第9回Tableau Prepユーザー会イベントは、Prepがリリースされて6周年のソフトウエアとしての成長、進化をテーマにしました。
登壇された Aiさん、Riekoさん お二人とも、ご説明頂いた機能がリリースされた前後で作業生が大きく変わり使い易くなったとお話しされています。

Prepで利用価値のある2つの機能。
是非みなさんも、業務での利用ケースで有効に活用頂ければと思います。

お二人が参加されている Preppin Data勉強会(Japan Preppin Data Fam)では、新規参加者を募集しています。
初心者の方も大歓迎。Tableau Prepが使い慣れた中級以上の方も、目から鱗いっぱいありますので、よろしければご参加を検討ください。

参加希望の方は、下記までメールご連絡ください。
Tableau Prepユーザー会 : tableauprep.usergroup@gmail.com

この記事が気に入ったらサポートをしてみませんか?