BI移行、UXはどう引き継ぐ? HTMLで相談し、Tableauで確かめる
こんにちは、マエスです。BIを別の製品へ移すとき、値が合うだけでは、使いやすい画面にはなりません。慣れた操作を残しながら、どこを直すか。今回はHTMLの試作で相談し、Tableauで確かめる進め方を試しました。
移行は、データと「使い方」を分けて考える
データ側では、取得元、項目、集計、更新を調整します。画面側では、利用者が迷わず操作し、目的にたどり着けるかを確かめます。これがUX、つまり利用体験の調整です。
既存画面を一度に理想へ作り直すのは大変です。色や並びを大きく変えると、利用者は覚え直す必要もあります。そこで、残す部分・今回直す部分・後回しにする部分を、見本を見ながら決めます。

HTMLを、触って相談できる共通の見本にする
配置だけの相談なら、紙や静止画で十分です。「押したら何が変わるか」まで確かめたいときは、HTMLが役立ちます。HTMLに見た目を整えるCSSと動きを作るJavaScriptを組み合わせ、ブラウザーで触れる試作にします。
生成AIは試作と修正を手伝い、利用者は意図を確認し、実装担当は各BIの機能へ対応づけます。相談→実装→確認→試作へ修正を戻す。この往復で、作り込みの範囲を決める方法です。HTML自体がBIを自動変換するわけではありません。

15のBIを、一つずつ調べた
画面の形式、計算、Web連携は別の仕組みです。例えばTableauのTWBはXML、CRM Analyticsの画面定義はJSON。XMLやJSONは設定を記録する形式、APIやSDKは外部連携の窓口や部品です。APIの応答がJSONでも、画面全体の保存形式とは限りません。表の↗は公式資料です。
| BI | 画面・資産の例 | 計算 | Web連携 |
|---|---|---|---|
| Tableau | TWB/XML ↗ | 計算フィールド ↗ | Embedding API ↗ |
| CRM Analytics | 画面定義JSON ↗ | SAQL ↗ | SDK・JavaScript ↗ |
| Power BI | PBIR/JSON ↗ | DAX ↗ | JavaScript API ↗ |
| Looker | LookML画面/YAML ↗ | LookML・SQL ↗ | Embed SDK ↗ |
| MotionBoard | ボード定義 ↗ | 明細/集計後の計算 ↗ | Web API ↗ |
| Qlik Sense | QVF(バイナリ) ↗ | 集計式・集合分析 ↗ | qlik-embed ↗ |
| SAP Analytics Cloud | ストーリー ↗ | 計算メジャー ↗ | URL埋め込み ↗ |
| Amazon Quick Sight | API定義JSON ↗ ↗ | 計算フィールド ↗ | Embedding SDK ↗ |
| ThoughtSpot | TML/JSON・YAML ↗ | 計算式 ↗ | Embed SDK ↗ |
| Oracle Analytics Cloud | DVAパッケージ ↗ | 式 ↗ | JavaScript埋め込み ↗ |
| IBM Cognos Analytics | レポートXML ↗ | 基本計算 ↗ | iframe ↗ |
| Domo | Page APIで管理 ↗ | Beast Mode ↗ | Domo Embed ↗ |
| Metabase | YAML(Pro等) ↗ | 計算式 ↗ | SDK・iframe ↗ |
| Apache Superset | YAML/ZIP ↗ | SQL ↗ | Guest Token/SDK ↗ |
| Redash | 公開APIで管理 ↗ | SQL等 ↗ | iframe ↗ |
形式は代表例です。CognosのXML資料は12.0.xのレポート、SupersetはNext版、RedashのAPI一覧はV9時点。MetabaseのYAML出力はPro/Enterpriseが対象です。認証・権限・契約・導入版は個別に確認します。
Tableauで試し、違いを見本へ戻す
- 操作を一つ書く。何を押し、どの表や図を変え、何を残すかを決める。
- HTMLで相談する。文字、配置、選び方を試し、残す操作と直す操作を選ぶ。
- Tableauで実装・確認する。標準機能と計算、条件の値を指定するパラメーター、操作に反応するアクションを組み合わせる。
- 採用した変更をHTMLへ戻す。見た目・計算・操作・運用を照合し、差があれば利用者と相談して再確認する。

「リセット」も、期間だけ戻すのか、系列の表示まで戻すのかで意味が変わります。例えば、期間は戻し、系列の表示は残すと決めます。最初は、よく使う操作を一つ選び、変える・残す・戻すを書いてみてください。
移行検証のTableauでは棒・線・数表と代表操作を実機で確認しました。その検証で戻したHTMLは構造・イベント・計算をオフラインで確認し、最終ブラウザー表示と本番受入は未確認です。他14製品は公式仕様の調査で、実機での相互変換は未検証です。
顧客データや実画面は載せず、図と部品は数値なしの説明用見本です。触れるHTML見本をダウンロードして、解凍後に開けます。認証・接続・書き戻しは画面状態の例で、外部へ送信しません。この補助見本の実ブラウザーでの表示・操作は未確認です。
関連:HTMLの手本でMotionBoardを作る。本稿は、再現範囲を判断し、採用変更を見本へ戻す工程を扱います。
HTMLとTableauで、部品をどう作るか
左の小さな図は、部品の形を示す見本です。同じ見た目や操作を、HTMLで作る場合とTableauで作る場合を並べました。まず二つの作り方を比べ、必要ならコード例を開いてください。表を横に動かすと、右側のコード例や確認内容まで読めます。
HTML側は、必要なJavaScriptやCSSも書いて作る方法です。Tableau側は、用意された機能で作れるもの、設定や計算を組み合わせるもの、外部アプリ等の追加開発が必要なものを区別しました。「今回の確認」には、Tableauで実際に試したことと、資料だけで確認したことを分けて書きました。本番でまだ試していないものも、そのまま書いています。
コードは仕組みを示す短い説明例で、配布HTMLからの抜粋ではありません。前後の処理が省かれているため、この数行だけで完成するコードではありません。実行はせず、読み比べるための表示にしています。
配布する操作見本は、数値を置かない画面操作の例です。集計、認証、実データへの接続、送信・書き戻しは行いません。保存はSVG画像のみで、実ブラウザーでの表示・操作の受け入れも未確認です。下表は、この見本に実装済みの機能一覧や、移行完了を保証する表ではありません。
グラフと表
| 部品と見本 | HTMLで作れること | Tableauで作るには | HTML側のコード例・実装条件 | 今回の確認(Tableau) |
|---|---|---|---|---|
棒・折れ線・複数系列![]() | 棒・線・系列を描き、色や選択時の見え方を自由に組み合わせられる。 | 用意された棒・折れ線グラフで作れます。系列は色で分け、日付軸や並び順を設定します。 公式資料↗ | コード例を開く棒の形の構造例です。値に応じた長さ、線、系列の管理は別途作ります。 | Tableauで代表の棒・線・系列と軸を操作して確認しました。 |
積み上げ棒・面![]() | 積み上げる位置や基準線を計算し、棒や面として描ける。 | 用意された積み上げ表示を使えます。上に足す表示か、並べる表示かを選びます。 公式資料↗ | コード例を開く面の輪郭だけを示します。積み上げ位置や基準線の計算は含みません。 | Tableauの公式資料で機能を確認しました。今回は作成・操作していません。 |
棒+線・二重軸![]() | 棒と線を重ね、異なる尺度や軸の表示方法も設計できる。 | 棒と線を重ねた複合グラフや二重軸を使えます。軸の尺度と同期を決めます。 公式資料↗ | コード例を開く棒と線を置く構造だけです。描画・重ね方・尺度・軸の同期は別途作ります。 | 二重軸は公式資料で確認しました。今回は別の尺度を上下に配置して確認しました。 |
地図・ツリーマップ![]() | 位置情報や図形を用意して地図を描き、面積を区切って配置できる。 | 用意された地図・ツリーマップを使えます。地理情報や面積に使う値が必要です。 公式資料↗ 公式資料↗ | コード例を開く領域を並べるCSS例です。地理情報や値に応じた面積の計算は含みません。 | Tableauの公式資料で機能を確認しました。今回は作成・操作していません。 |
数表・クロス集計![]() | 表の行・列を作り、集計結果・並べ替え・表示書式を組み込める。 | 用意されたテキスト表で作れます。列や書式を設定します。自由なHTMLのセル構造と完全に同じになるとは限りません。 公式資料↗ | コード例を開く表の骨組みです。集計結果やクロス集計、並べ替えの処理は別途作ります。 | Tableauで代表の数表、列順、表示書式を確認しました。 |
小計・総計・比率![]() | 小計・総計を計算し、比率の分母や合計時の扱いも設計できる。 | 総計機能と計算式を組み合わせます。比率は、合計時に何を分子・分母とするか決めます。 公式資料↗ | コード例を開くゼロで割る場合を空扱いにする比率の例です。総計での分子・分母は別途定義します。 | Tableauで代表の集計・比率を確認し、計算結果も照合しました。 |
条件による色分け![]() | 条件に応じて色や記号を変え、欠損時の見せ方も決められる。 | 計算した結果を色に割り当てます。色が変わる条件、正負、欠損時の扱いを設定します。 公式資料↗ | コード例を開く選択状態と色を対応させる例です。値の判定や欠損の処理は別途作ります。 | Tableauで代表の条件による色の変化を確認しました。 |
文字・配色・配置![]() | 文字の大きさ・配色・余白・並び方をCSSで細かく調整できる。 | 書式とレイアウト用のコンテナーで調整します。HTMLのCSSをそのまま貼り付ける方法ではありません。 公式資料↗ | コード例を開く配置・余白・文字の書式例です。小さな画面向けの指定も別途加えます。 | Tableauの文字・配色・配置の表示を確認しました。 |
選ぶ・切り替える・戻す
| 部品と見本 | HTMLで作れること | Tableauで作るには | HTML側のコード例・実装条件 | 今回の確認(Tableau) |
|---|---|---|---|---|
単一・複数・日付フィルター![]() | 単一・複数選択や日付入力を置き、選んだ条件を表示へ反映できる。 | 用意されたフィルターを使えます。どの図へ適用するか、解除したらどう戻すかを設定します。 公式資料↗ | コード例を開く複数選択の入力部品です。実際の候補・日付入力・絞り込み処理は別途用意します。 | Tableauで代表の選択・期間変更を操作しました。すべてのフィルター方式を試したわけではありません。 |
親子の絞り込み![]() | 親の選択で候補を更新し、使えなくなった子の選択を解除できる。 | 関連する値だけを候補に出す設定などを使います。候補が変わることと、無効な選択が解除されることは別に確認します。 公式資料↗ | コード例を開く親を変更し、子の選択を解除する状態処理です。候補の更新と画面描画は別途作ります。 | Tableauで代表の親変更と、無効になった選択の解除を確認しました。 |
表・図の選択で別の図を変える![]() | 表や図の選択を受け取り、指定した別の図や表へ反映できる。 | フィルター等のアクションで作れます。選んだ図と反映先、選択を解除した後の動きを設定します。 公式資料↗ | コード例を開く選択状態を更新する例です。選択イベントとの接続や、反映先の表示更新は別途作ります。 | Tableauで代表の選択と、別の図への連動を確認しました。 |
凡例・強調・系列の表示切替![]() | 選択した系列の強調・非表示・全表示を、それぞれ設計できる。 | 凡例・ハイライト・フィルターを使い分けます。強調は他の系列も残し、非表示は別の操作として設計します。 公式資料↗ | コード例を開く指定した系列を表示対象から外す例です。元の系列は保持し、強調や全表示は別に作ります。 | Tableauで図ごとの系列切替と、全非表示からの復帰を確認しました。 |
数値範囲・複合条件![]() | 上限・下限や複数条件の組合せを判定し、表示対象を変えられる。 | 範囲フィルターに、計算や条件設定を組み合わせます。境界の値や条件が逆転した場合も決めます。 公式資料↗ 公式資料↗ | コード例を開く範囲内かの判定だけです。入力値の確認や条件の組合せ、表示更新は別途作ります。 | Tableauで代表の範囲操作を確認しました。全条件の操作確認は未実施です。 |
基準日・比較期間・年度![]() | 基準日・比較期間・年度のルールを決め、日付計算を実装できる。 | 日付の計算や年度設定を使います。表示期間を変えても比較用の過去データを残すかを設計します。 公式資料↗ | コード例を開く基準日の入力欄です。比較期間や年度の計算は、この入力部品だけでは行いません。 | Tableauで代表の年月変更と比較期間を確認しました。 |
画面遷移・パネルの開閉![]() | 移動先へのリンクや開閉パネルを作り、残す状態も設計できる。 | 画面移動や表示/非表示の部品を使えます。別画面へ移ることと、同じ画面で開くことを分けます。 公式資料↗ | コード例を開くクリックやキー操作で開閉できる最小例です。画面移動と状態の保持は別に作ります。 | Tableauの画面移動は操作確認しました。開閉は公式資料のみの確認です。 |
全体・一部の初期化![]() | 条件だけ戻すなど、初期化する範囲と残す状態を決められる。 | 全体を元に戻す機能があります。一部だけ戻す場合は、条件の値やアクションを組み合わせて設計します。 公式資料↗ | コード例を開く条件だけを初期化し、ほかの状態を残す関数です。画面の更新は別途作ります。 | Tableauで画面単位の条件初期化と、系列の表示を残す動きを確認しました。 |
ツールチップ![]() | 対象に補足説明を添え、マウスやキー操作に合わせて表示できる。 | 用意されたツールチップで文字や値を出せます。別の図も表示できますが、任意のHTMLやJavaScriptを実行する仕組みではありません。 公式資料↗ | コード例を開くtitleによる簡易な補足です。キー操作・タッチ・読み上げ向けの表示は別途対応します。 | 通常の文字・値の表示はTableauで確認しました。別の図の埋め込みは公式資料のみです。 |
読む・出す・運用する
| 部品と見本 | HTMLで作れること | Tableauで作るには | HTML側のコード例・実装条件 | 今回の確認(Tableau) |
|---|---|---|---|---|
図の値を数表で読む![]() | 図に対応する補助表を作り、開閉して読み取れるようにできる。 | 「データの表示(View Data)」や専用の数表を使えます。表示する列、集計の単位、閲覧権限を確認します。 公式資料↗ | コード例を開く補助表を開閉する枠です。表示する行・列・集計の単位は別途定義します。 | TableauのView Dataを操作確認しました。HTML補助表と同じ列・集計単位かは別途確認が必要です。 |
CSV・クロス集計・画像等の出力![]() | データや図をファイル化し、保存用のリンクやボタンを作れる。 | 用意された出力機能を使います。利用できる形式と対象は、画面の種類やダウンロード権限によって変わります。 公式資料↗ | コード例を開く既に用意したファイルを保存するリンクです。ファイル生成や権限の確認は別途必要です。 | Tableauの公式資料で機能を確認しました。全形式・権限別の出力は未確認です。 |
スマートフォン・タブレット![]() | 画面幅に合わせて配置を変え、押しやすい大きさへ調整できる。 | 端末別レイアウトで調整します。配置だけでなく、対象端末で押しやすさや表示を確認します。 公式資料↗ | コード例を開く画面幅で列数を変える例です。対象の端末で表示と操作感を確かめます。 | Tableauの公式資料で機能を確認しました。対象端末での受け入れは未実施です。 |
キーボード・読み上げ・色の見分け![]() | キー操作・読み上げ名・色以外の手掛かりをHTMLで設計できる。 | 公式のアクセシビリティ指針に沿って設計します。キーで移動できる順番、読み上げ、色の対比を確認します。 公式資料↗ | コード例を開く読み上げ名を持つボタンです。実際の初期化処理や色以外の区別は別途作ります。 | 公式指針は確認しました。全体の適合性、実際の読み上げ、利用者の受け入れは未確認です。 |
認証・アクセス制御![]() | ログイン画面は作れるが、本人確認・閲覧制御は認証基盤等が必要。 | Cloud/Serverの権限と、必要に応じた行単位のデータ制御を使います。表示フィルターを認証や権限の代わりにはできません。 公式資料↗ 公式資料↗ | 実装の条件を読むHTMLだけでは不可。認証基盤やサーバー側の認証・認可が必要。 画面を隠すだけでは権限制御になりません。表示してよいデータを取得前に制御します。 | Tableauの公式資料で機能を確認しました。本番の全権限・行単位のデータ制御は未確認です。 |
データ接続・定期更新![]() | 接続・更新の状態は表示できる。取得元APIや安全な定期実行は別途必要。 | 対応する接続先、ライブ接続/抽出、更新スケジュールを設定します。データ源と配置によって条件が変わります。 公式資料↗ | 実装の条件を読む取得元API・認証・資格情報管理・定期実行の仕組みが必要。 ブラウザの表示だけでは接続や無人の定期更新は完了しません。秘密情報をHTMLへ置きません。 | Tableauの公式資料で機能を確認しました。本番接続、更新障害、性能は未確認です。 |
独自フォーム・外部連携・書き戻し![]() | 入力画面は作れる。外部システムへの書き戻しはAPIやサーバー等が必要。 | 外部アプリ、埋め込みAPI、拡張機能等の追加開発を検討します。追加の権限・配備・保守が必要です。 公式資料↗ | 実装の条件を読む外部への書き戻しには、認証付きAPIやサーバー側の処理が必要。 入力欄だけでは外部システムへ安全に保存できません。送信・検証・権限・保存処理を別途作ります。 | 公式資料で追加開発の方法を確認しました。今回は実装していません。 |

























