[Tips]Tableauの会計年度の開始の設定でハマった話
データアナリティクス事業本部 BIチームのsutoです。
Tableau Desktopでは日付型のフィールドに「会計年度の開始の設定」を行うことができます。
今回は、Tableau Desktopで設定した「会計年度の開始」設定が、Tableau Cloudにパブリッシュした際、年度の設定が正しく反映されていない現象に遭遇したので、その対処法を備忘録として本記事に残しておきます。
背景
(本事象発生時は、お客様環境のSnowflakeテーブルでしたが、本記事ではTableauのサンプルスーパーストアで再現します)
まずTableau Cloud上で「データソースの新規作成」を行い、Tableau Cloudにデータソースをあらかじめ作成しました。
その後、Tableau Desktopでワークブックの新規作成を行い、日付型のデータである「オーダー日(月)」を使用して折れ線グラフを作成しました。
上記グラフで見た通り、「オーダー日」の会計年度設定は以下のとおり設定しました。
- データソースを右クリックし、「日付のプロパティ」で会計年度の開始を「4月」に設定
- 「オーダー日」の規定のプロパティで会計年度の開始を「4月」に設定
その後、ワークブックをTableau Cloudへパブリッシュしたところ、 Tableau Cloud側のグラフでは月が1月からのソートに戻っており、4月と設定した年度の設定が反映されていません でした。
原因
結論を先に言うと、設定が反映されなかった原因は「 データソース側の年度設定が優先 されてしまうから」になります。
今回はあらかじめTableau Cloudでデータソースを作成済みであり、Tableau Desktopでワークブックを作成した際は、データソースの接続先としてそのTableau Cloud上のデータソースを指定している状態でした。
Tableau Cloudのデータソース編集では、会計年度の設定を変更できる機能は無いため、デフォルト設定である「1月」が年度開始となっている状態です。
そのため、ワークブック側で会計年度の設定を行ってパブリッシュしても、データソース側の年度設定が優先されてしまい、ワークブック側の設定変更内容が反映されなかったのです。
対処法
このような場合は、Tableau Cloudに保存しているデータソース側の設定を更新する必要があります。
- Tableau Cloudで対象データソース(サンプル - スーパーストア)をダウンロードします。
- ダウンロードした「サンプル - スーパーストア.tdsx」をTableau Dsktopで開き、会計年度の設定を変更します。
- 設定変更後、「サーバー」→「データソースのパブリッシュ」を選択し、対象データソースを選択します。Tableau Cloudのデータソースに上書き保存を行ってください。
- Tableau Cloudにパブリッシュしていたワークブックを開き、会計年度の設定が更新されていることを確認します。(以下のキャプチャ画面のとおり、年度が変更した4月になっていることでソート順が4月からになっていることが確認できました。)
今回の散布スーパーストアの他、ローカル上のxlsxファイルやcsvファイル、クラウドのSnowflakeテーブルのデータソースについても同様の方法で解決できることを確認しております。
最後に
Tableau Desktopで行ったワークブックの編集のなかで、なぜ年度の設定だけが反映されないのかと悩むことになりましたが、この部分がデータソース側の持っている設定が優先されるようなかたちちになることは知らなかったので、良い知見を得ることができたと思っています。
しかし、1つのデータソースのなかに複数の企業のデータが入っていて「各企業のデータは、企業ごとの開始年度でデータをソートして見せてほしい」みたいな要望があったら、上記の事象が仕様だった場合に大変だなーと思います。(最悪の場合、企業ごとのデータソースに分割しないといけなくなりそう)
【20240708追記】
本事象がTableauとしての仕様かテクニカルサポートへ問い合わせしたところ、以下の回答が得られました。
・データ ソースをパブリッシュする際、同期において、共有フィールドのパブリッシュされたデータ ソースのプロパティがワークブックのプロパティよりも優先されます。
・パブリッシュされたデータ ソース フィールドへの恒久的な変更をコミットするには、フィールドのコピーをワークブックに対してローカライズするか、データ ソース自体を編集して再パブリッシュするしかありません。
よって、本記事でご紹介した方法や、対象の日付フィールドを複製して年度設定をそれぞれで違うものにして使い分けするなどの対処が必要とのことでした。
参考リンク:https://help.salesforce.com/s/articleView?id=001474064&type=1