
【Tableau】MAKELINE関数の「始点」を動かす方法。#パラメータ#IF関数
【こんな人におすすめ】
MAKELINE関数の地点を動かしてマップを動的に見せたい人
【この記事を読むとできるようになること】
始点を動かしてマップを動的にみせることができる
他のマップをクリックしたときに、始点を動かすことができる
この記事で使うのは「パラメータ」と「IF関数」、「アクションの設定」です。
※MAKELINE関数・MAKEPOINT関数はこの記事を参照ください。
【Tableau】マップで地点と地点を線でつなぐ方法。#MAKELINE関数#MAKEPOINT関数|ニワマユ (note.com)

【作り方】
こちらのデータを使用して説明します。
https://public.tableau.com/shared/R6WYQ7CZK?:display_count=n&:origin=viz_share_link
➀まずは、都道府県名のパラメーターを作成します。
画面左側の「▼」→「パラメーターの作成」を順にクリック。

②パラメーターを以下に設定する。
・名前:県名
・データ型:文字列
・許容値:リスト
・値の追加元:始点として利用する、都道府県名のディメンションを選択(「移動前都道府県」)

③次に、パラメーターで選択された都道府県の緯度経度を表示されるように、IF関数を使って「緯度(IF)」と「経度(IF)」を作成します。
画面左側「▼」→「計算フィールドの作成」をクリック

④計算フィールドの名前を「緯度(IF)」とし、以下を入力する
FLOAT(IF [県名]="和歌山県" THEN "34.231"
ELSEIF [県名]="北海道" THEN "43.064"
ELSEIF [県名]="愛知県" THEN "35.181"
ELSEIF [県名]="愛媛県" THEN "33.8392"
ELSEIF [県名]="茨城県" THEN "36.3652"
ELSEIF [県名]="岡山県" THEN "34.661"
ELSEIF [県名]="沖縄県" THEN "26.2123"
ELSEIF [県名]="岩手県" THEN "39.7021"
ELSEIF [県名]="岐阜県" THEN "35.4233"
ELSEIF [県名]="宮崎県" THEN "31.9077"
ELSEIF [県名]="宮城県" THEN "38.2691"
ELSEIF [県名]="京都府" THEN "35.021"
ELSEIF [県名]="熊本県" THEN "32.789"
ELSEIF [県名]="群馬県" THEN "36.3895"
ELSEIF [県名]="広島県" THEN "34.396"
ELSEIF [県名]="香川県" THEN "34.3428"
ELSEIF [県名]="高知県" THEN "33.5596"
ELSEIF [県名]="佐賀県" THEN "33.2636"
ELSEIF [県名]="埼玉県" THEN "35.908"
ELSEIF [県名]="三重県" THEN "34.7186"
ELSEIF [県名]="山形県" THEN "38.2572"
ELSEIF [県名]="山口県" THEN "34.1785"
ELSEIF [県名]="山梨県" THEN "35.6621"
ELSEIF [県名]="滋賀県" THEN "35.004"
ELSEIF [県名]="鹿児島県" THEN "31.5967"
ELSEIF [県名]="秋田県" THEN "39.72"
ELSEIF [県名]="新潟県" THEN "37.902"
ELSEIF [県名]="神奈川県" THEN "35.4447"
ELSEIF [県名]="青森県" THEN "40.8222"
ELSEIF [県名]="静岡県" THEN "34.9756"
ELSEIF [県名]="石川県" THEN "36.5611"
ELSEIF [県名]="千葉県" THEN "35.604"
ELSEIF [県名]="大阪府" THEN "34.693"
ELSEIF [県名]="大分県" THEN "33.2397"
ELSEIF [県名]="長崎県" THEN "32.7463"
ELSEIF [県名]="長野県" THEN "36.6486"
ELSEIF [県名]="鳥取県" THEN "35.5011"
ELSEIF [県名]="島根県" THEN "35.4682"
ELSEIF [県名]="東京都" THEN "35.6938"
ELSEIF [県名]="徳島県" THEN "34.0702"
ELSEIF [県名]="栃木県" THEN "36.5551"
ELSEIF [県名]="奈良県" THEN "34.6851"
ELSEIF [県名]="富山県" THEN "36.6959"
ELSEIF [県名]="福井県" THEN "36.0641"
ELSEIF [県名]="福岡県" THEN "33.606"
ELSEIF [県名]="福島県" THEN "37.7608"
ELSEIF [県名]="兵庫県" THEN "34.691"
ELSEIF [県名]="北海道" THEN "43.064"
ELSEIF [県名]="和歌山県" THEN "34.2307"
END)

⑤画面左側「▼」→「計算フィールドの作成」をクリック。(手順③同様)
名前を「経度(IF)」とし、以下を入力する
FLOAT(IF [県名]="和歌山県"THEN "135.1708"
ELSEIF [県名]="北海道"THEN "141.3460"
ELSEIF [県名]="愛知県" THEN "136.906"
ELSEIF [県名]="愛媛県" THEN "132.7656"
ELSEIF [県名]="茨城県" THEN "140.4717"
ELSEIF [県名]="岡山県" THEN "133.935"
ELSEIF [県名]="沖縄県" THEN "127.6792"
ELSEIF [県名]="岩手県" THEN "141.1544"
ELSEIF [県名]="岐阜県" THEN "136.7606"
ELSEIF [県名]="宮崎県" THEN "131.4202"
ELSEIF [県名]="宮城県" THEN "140.8703"
ELSEIF [県名]="京都府" THEN "135.753"
ELSEIF [県名]="熊本県" THEN "130.741"
ELSEIF [県名]="群馬県" THEN "139.0634"
ELSEIF [県名]="広島県" THEN "132.459"
ELSEIF [県名]="香川県" THEN "134.0466"
ELSEIF [県名]="高知県" THEN "133.5291"
ELSEIF [県名]="佐賀県" THEN "130.3008"
ELSEIF [県名]="埼玉県" THEN "139.656"
ELSEIF [県名]="三重県" THEN "136.5057"
ELSEIF [県名]="山形県" THEN "140.3381"
ELSEIF [県名]="山口県" THEN "131.4738"
ELSEIF [県名]="山梨県" THEN "138.5683"
ELSEIF [県名]="滋賀県" THEN "135.868"
ELSEIF [県名]="鹿児島県" THEN "130.5574"
ELSEIF [県名]="秋田県" THEN "140.1035"
ELSEIF [県名]="新潟県" THEN "139.023"
ELSEIF [県名]="神奈川県" THEN "139.6422"
ELSEIF [県名]="青森県" THEN "140.7474"
ELSEIF [県名]="静岡県" THEN "138.3827"
ELSEIF [県名]="石川県" THEN "136.6565"
ELSEIF [県名]="千葉県" THEN "140.123"
ELSEIF [県名]="大阪府" THEN "135.502"
ELSEIF [県名]="大分県" THEN "131.6091"
ELSEIF [県名]="長崎県" THEN "129.8749"
ELSEIF [県名]="長野県" THEN "138.1948"
ELSEIF [県名]="鳥取県" THEN "134.2351"
ELSEIF [県名]="島根県" THEN "133.0485"
ELSEIF [県名]="東京都" THEN "139.7034"
ELSEIF [県名]="徳島県" THEN "134.5548"
ELSEIF [県名]="栃木県" THEN "139.8825"
ELSEIF [県名]="奈良県" THEN "135.8048"
ELSEIF [県名]="富山県" THEN "137.2137"
ELSEIF [県名]="福井県" THEN "136.2196"
ELSEIF [県名]="福岡県" THEN "130.418"
ELSEIF [県名]="福島県" THEN "140.4748"
ELSEIF [県名]="兵庫県" THEN "135.183"
ELSEIF [県名]="北海道" THEN "141.346"
ELSEIF [県名]="和歌山県" THEN "135.1708"
END)

⑥続いて、IF関数で作成した緯度経度情報を使って、始点を作成します。
画面左側「▼」→「計算フィールドの作成」をクリック(手順③参照)。
名前を「STARTPoint」とし、
「MAKEPOINT([緯度(IF) ],[経度(IF)])」を入力する。

⑦終点を作成します。
画面左側「▼」→「計算フィールドの作成」をクリック(手順③参照)。
名前を「END Point」とし、
MAKEPOINT([緯度 (生成)1],[経度 (生成)1])を入力する。

※注意:MAKEPOINTでは、自動的に生成された緯度と経度のフィールドを使用できません。(データがない場合の解決策はこちらの記事を参照ください)
⑧手順⑥・⑦で作った始点終点を使ってMAKELINE関数を作成します。
画面左側「▼」→「計算フィールドの作成」をクリック(手順③参照)。
名前を「MAKELINE関数」とし、
MAKELINE([START Point],[END Point])を入力する。

⑨⑧で作成したMAKELINE関数を新しいシートに追加します。

⑩「県名」パラメータを表示し、都道府県名を選択して、始点が動けば完成。

+αのご紹介
パラメータを選択するのではなく、他のマップをクリックしたときに、MAKELINE関数を入れたマップも動く方法を紹介します。

①選択するマップ「検索用のマップ」を作成します。
パラメータで使用した都道府県のディメンション(「移動前都道府県」)をシートに追加する。

②パラメータで選択した都道府県が色でわかるように計算フィールドを作成します。
画面左側「▼」→「計算フィールドの作成」をクリック(手順③参照)。
名前を「都道府県(検索)」とし、
[県名]=[移動前都道府県]を入力する。

③②で作成した「都道府県(検索)」をマークの「色」にいれます。

④新しいダッシュボードを作成し、
検索用のマップとMAKELINE関数のマップを横に並べます。

⑤このままでは検索用のマップ(左)をクリックしてもMAKELINE関数のマップ(右)が動かないので、アクションの設定をします。
タブ「ダッシュボード」→「アクション」を順にクリック

⑥「このワークブック」→「アクションの追加」→「パラメーターの変更」を順にクリック

⑦名前を「県名検索用」とし、以下を設定して「OK」をクリック
・ソースシート:検索用マップ
・ターゲットパラメーター:県名
・ソースフィールド:移動前都道府県(パラメーターで設定した都道府県)

以上で完成です!

普段、マップを使う機会がないので、いろんな使い方ができて楽しかったです!手順数が多いですが、ぜひ使ってみてください~~