![見出し画像](https://assets.st-note.com/production/uploads/images/78836481/rectangle_large_type_2_16372d913ce50cb5b7531c96c4af6b36.png?width=1200)
TableauPrep「API名でデータが来るだって…?」ラベル名読み込む方法はこれ1選…泣
背景
Tableau Prep ユーザー会運営のマエスです。
少しずつですが、Salesforce界隈の方がTableau Prepを使って、データクレンジグをしてくださる機会が増えている気がします…
\ 嬉しい…やった /
とはいえ、Tableau PrepでSalesforceを呼び込むときの最大のデメリット…があります。(まだ読み込みされたことがないかたはご注意ください)
それは何故か…Salesforceデータを読み込む際、ラベル名ではなくAPI名で読み込むということです…(T_T)Tableau Prepだけで発生するので最初ビックリしますよね。
![](https://assets.st-note.com/img/1652886652127-anJPYGIy9t.png?width=1200)
ただ毎回、API名をラベル名に手直しするのは面倒ですが、私が確認した限り、Tableau上で解決する方法は…今のところ1つしかありません…なので1選で出しますが他に解決策あるかたいらしたら教えてください。ちなみに仮想接続はNGでした…(T_T)
1.Salesforceデータをサーバーパプリッシュ
Tableau Cloud または ServerにSalesforceデータをパブリッシュします。
どういうことか、というと、Tableau Online上ではこのように「パプリッシュされたデータソース」を選択して、
![](https://assets.st-note.com/img/1652886915656-x3tcNuH1sE.png?width=1200)
ここで「Salesforce」を選び、接続をすると
![](https://assets.st-note.com/img/1652886974370-YhM6Zz6iVO.png?width=1200)
取得できるデータは、、、なんとラベル名でデータが取得できてます。(統一されてないんかい…!って感じですが)
![](https://assets.st-note.com/img/1652887099017-3ZxUdKkGH0.png?width=1200)
あとは下記でデータソースのパプリッシュをすることで
![](https://assets.st-note.com/img/1652887171055-ltdxBSAndU.png?width=1200)
![](https://assets.st-note.com/img/1652887224000-SirKy2zWeG.png?width=1200)
Salesforceを定期更新できます。ちなみに2時間ごと更新などもできるので、ある程度の鮮度を保てます。
そしてこのデータをTableau Prepの参照もとと「ラベル名」読み込みができます!
![](https://assets.st-note.com/img/1652887589765-XASROMB5Ba.png?width=1200)
![](https://assets.st-note.com/img/1652887671181-jpwNqIEcfi.png?width=1200)
このデータを参照して、Salesforceを読み込むことでラベル名参照できます。とはいえ…Tableau Prep を使わない時もSalesforceデータが更新され続けることが嫌な方も多いと思います。
以上です…悲しいですが…
1選なので以上になってしまいますが…検証した限りではどうやら
「仮想接続でもAPI名で接続する」仕様でした。
Tableauによってラベル名でデータ取得する方がイレギュラーなのかもしれません…、日本ユーザーとしては、ラベル名をお願いしたいところですが…
他の手法お持ちの方がいらしたらぜひコメント等で教えていただきたいです。悲しい…。