カスタム ビューを含むコンテンツの管理
コンテンツ作成者にとって、ワークブックやデータ ソースに加えた更新がエンド ユーザーにどのような影響を与えるかを理解することは重要です。カスタム ビューは、Viz の使い方をパーソナライズするためによく利用されますが、ソース コンテンツが変更されると壊れる可能性があります。可能であれば、カスタム ビューに影響を与えることがわかっている変更は避けてください。変更が必要な場合は、このトピックで後述する手順に従ってください。
一般に、カスタム ビューを使用することが知られているコンテンツを扱う場合、いくつかのベスト プラクティスがあります。
- 安定したコンテンツに対してのみカスタム ビューを作成するよう、エンド ユーザーにアドバイスします。
- プロジェクトまたは命名体系を使用して、変更するワークブックを特定し、それらのワークブックに対してはカスタム ビューを作成しないようにユーザーに推奨します。
- ステージング環境または開発環境で変更をテストします。利用されると思われるフィルター、ユーザーアクション、パラメーター設定、その他のカスタマイズを使用した、見本のカスタムビューをテストします。
- カスタム ビューを壊す可能性のある変更をパブリッシュする場合は、事前にユーザーに通知します (ワークブックに適用されたすべてのカスタム ビューの一覧を取得するには、Tableau の REST API でカスタム ビュー メソッドを使用(新しいウィンドウでリンクが開く)します)。
カスタム ビューに影響を与えることがわかっている変更
どのような変更でも、テストしてカスタム ビューへの影響を確認することが最善ですが、カスタム ビューに影響を与えることがわかっている更新もあります。
次の一覧はすべてを網羅したものではなく、あくまで参考のためのものです。
ワークブックの変更
- 名前の変更。ワークブック (またはカスタム ビューが関連付けられているシート) の名前を変更すると、カスタム ビューが壊れます。
- パラメーター。パラメーターを追加または削除すると、カスタム ビューが壊れたり、期待どおりに更新されなかったりする可能性があります。
- 元のコンテンツにパラメーターを追加すると、カスタム ビューが壊れる可能性があります。
- パラメーター コントロールを削除すると、その入力を使用した計算フィールドは最後の値を保持し、調整できなくなります。
- フィルター。フィルターを削除すると、フィルター コントロールは削除されますが、データはフィルタリングされた状態のままになります。
- 一般に、元のコンテンツでフィルターが削除されても、そのフィルターを使用したカスタム ビューは引き続き機能します。ただし、フィルター コントロールが存在しないため、データはフィルタリングされたままになります。つまり、ユーザーはカスタム ビューからフィルターの選択を変更できなくなります。
- フィルター コントロールをスライダーから相対日付に変更しても、期待どおりに相対日付を正確に反映するようにフィルターが調整されません。
- カスタム ビューを使用してフィルター選択を制御する場合は、代わりに共有 URL にフィルター パラメーターを埋め込むことを検討してください。
- シートの非表示。シートを非表示に設定すると、後で非表示を解除しても、そのシートのカスタム ビューが壊れます。
- 再パブリッシュ。ワークブックを削除して再パブリッシュすると、そのカスタム ビューが壊れます。
データ ソースの変更
- データ ソースの変更。データ ソースの置換機能を使用してデータ ソースを置き換えたり、埋め込みデータ ソースを同じデータ ソースのパブリッシュされたコピーで置き換えたりすると、カスタム ビューが壊れます。
- データ型。カスタム ビューに関連するフィールドのデータ型を変更すると、カスタム ビューが壊れます。
- フィールドの削除。カスタム ビューの基となるフィールド、計算、グループ、またはセットを削除すると、カスタム ビューが壊れます。
コンテンツの安全な更新
以下は、既存のカスタム ビューが壊れるリスクを最小限に抑えるためのベスト プラクティスです。
- ワークブックの編集とデータ ソースの変更は別々に行います。
- データ ソースが置き換えられたワークブックは再パブリッシュしません。
- ワークブックまたはデータ ソースのローカル バージョンを編集し、同じ名前で再パブリッシュします。
ワークブックの変更
以下の手順では、ワークブックには、別途パブリッシュされたデータ ソースへのライブ接続があり、既存のカスタム ビューがあることを前提としています。
Web 編集を使用したワークブックの変更
ワークブックを変更するには、Web 編集が推奨される方法です。Tableau Desktop は必要な場合にのみ使用してください。
- カスタム ビューを壊すことがわかっている前述の項目を避けて、ブラウザーでワークブックを編集します。
- データに変更を加える必要があるとしても、今は変更しないでください。データ ソースの変更に関するセクションを参照してください。
- ワークブックを同じ名前で同じ場所にパブリッシュし、既存のバージョンを上書き保存します。
Tableau Desktop を使用したワークブックの変更
ワークブックの変更は、可能な限り、ブラウザーで行います。Tableau Desktop は必要な場合にのみ使用してください。
- ワークブックのローカル バージョンを開きます (必要に応じて、最初にワークブックをダウンロードします)。
- カスタム ビューを壊すことがわかっている前述の項目を避けて、ワークブックを編集します。
- データに変更を加える必要があるとしても、今は変更しないでください。データ ソースの変更に関するセクションを参照してください。
- ワークブックを同じ名前で同じ場所にパブリッシュし、既存のバージョンを置き換えます。
- 「ワークブックを更新し、パブリッシュされたデータ ソースを使用する」オプションをオンにしないでください。
データ ソースの変更
- ワークブックをダウンロードして、データ ソースのローカル コピーを作成し、Tableau Desktop でデータ ソースのローカル バージョンを開きます。
- ワークブックをダウンロードし、Tableau Desktop で開きます。
- データ ソースを右クリックし、[ローカル コピーを作成] を選択します。
- 新しいデータ ソースを右クリックし、[データ ソースの置換...] を選択します。
- パブリッシュされたデータ ソースへの既存の接続を、新しく作成したローカル コピーと入れ替えます。
注: ワークブックでローカル バージョンを使用することは、データ ソースの変更をワークブックで直接確認できるため、推奨される方法です。あるいは、データ ソースをダウンロードするか、ローカルに保存されたコピーを使用することもできます。
- カスタム ビューを壊すことがわかっている前述の項目を避けて、データ ソースを編集します。
- 、データ ソースをパブリッシュします。
- 同じ名前を使用して、既存のデータ ソースを上書き保存します。
- 「ワークブックを更新し、パブリッシュされたデータ ソースを使用する」オプションをオンにしないでください。
- 変更されたデータ ソースを含むワークブックをパブリッシュしないでください。ワークブックの内容を変更する必要がある場合は、ワークブックの変更に関するセクションを参照してください。
壊れたカスタム ビューの調査
注: このセクションでは、XML および基本的なコマンドライン操作に精通していることを前提としています。
.twb ワークブック ファイルには、ワークブックの XML にワークブックの要素の識別タグが含まれています。カスタム ビューが作成されると、インタラクティブな要素 (フィルターまたは設定値、パラメーター、選択したマークなど) とその値のスナップショットが作成されます。カスタム ビューにアクセスすると、Tableau はカスタム ビューに保存されている属性値を関連する要素 ID に適用します。要素 ID が変更された場合や、属性値を読み込めなかった場合、カスタム ビューは壊れます。
変更前と変更後の .twb を比較することで、カスタム ビューを壊した変更を特定できる場合があります。
- カスタム ビューが機能しているときは、ワークブックの .twb が必要です (変更を加える前にコンテンツのコピーを保存してください)。
- ワークブックの別のコピーで、カスタム ビューを壊した可能性のある変更を加え、別の .twb として保存します。
- コマンド ラインで、次のコマンドを実行します (ステップ 1 のファイルを file1.twb に、ステップ 2 のファイルを file2.twb に置き換えます)。
vdmdiff file1.twb file2.twb
- その結果、ファイル間の変更が強調表示されます。
一部の ID または属性値 ([括弧] 内) は、変更するとカスタム ビューが壊れることがわかっています。
<datasources>
<datasource name='[ID]'>
<worksheets>
<worksheet name='[ID]'>
<table>
<view>
<datasource-dependencies datasource='[ID]'>
<column datatype='[Value]' name='[Value]'>
<dashboards>
<dashboard name='[ID]'>