Day 177|Looker Studio:返品×T-sortを“1枚で状況がわかる”にする
こんにちは、こんです🦊
100日チャレンジ2回目のWeek 11 / Day 6(通算 Day 177)です。
Day 176までで「Box → BigQuery」定期転送(返品 ec_returns/T-sort稼働 tsort_logs)が毎朝まわる状態になりました。今日はこの生データを“見れば動ける1枚”に変換すべく、Looker Studioのプロトタイプを作成。関係者レビューに耐える初期UXを作り切りました。
🎯 今日のゴール
BigQueryの2テーブルをLooker Studioに接続(型・タイムゾーンを整備)
KPIカード+時系列+深掘りテーブルで1ページ完結ダッシュボードを構成
共有テンプレ(期間・SKU・ライン・拠点フィルタ、比較軸、注記)を実装
🔧 実装ログ(Looker Studio)
1) データソース接続と型の最終調整
データソース:
box_raw_data.ec_returns(返品):return_date=日付、qty=数値
box_raw_data.tsort_logs(稼働):started_at=日時、duration_sec=数値
タイムゾーンは JST(Asia/Tokyo)。started_at はレポート側で日付抽出フィールドを追加(DATE(started_at))し、日別集計を安定化。
派生フィールド(計算例)
返品関連返品件数 = SUM(qty)
前週比(%) = (SUM(qty) - SUM(qty)[比較期間]) / SUM(qty)[比較期間]
T-sort関連(ステータスの語彙は当週データ準拠)稼働時間(時間) = SUM(CASE WHEN status = "running" THEN duration_sec ELSE 0 END) / 3600
停止時間(時間) = SUM(CASE WHEN status IN ("down","error") THEN duration_sec ELSE 0 END) / 3600
稼働率(%) = 稼働時間(時間) / NULLIF(稼働時間(時間) + 停止時間(時間), 0)
注:返品率の正式版は出荷母数の連携後に実装。今日は**暫定KPI(返品件数・前週比)**で運用開始し、出荷テーブル追加後に差し替えます(次週バックログ)。
2) ダッシュボード構成(ワンページ)
A. ヘッダー(共通フィルタ)
期間(デフォルト:過去30日)/SKU/理由/拠点/ライン
表示切替:日/週(Date granularity)
B. KPIカード(4つ)
返品件数(期間内合計)|前週比バッジ
SKU最多返品(SKU・件数)
T-sort稼働率(全ライン平均)
エラー発生比率(error_code有の比率)
C. 可視化コンテナ
返品の時系列推移(折れ線):DATE(return_date) × SUM(qty)
SKU別・理由別の構成(積み上げ棒):SKU Top20/その他
T-sort時間帯稼働率(ヒートマップ):HOUR(started_at) × line の 稼働率(%)
エラーコード構成(ドーナツ):error_code 別件数
ドリルダウン表:選択SKU×日別の返品件数、選択ライン×時間帯の稼働/停止内訳
D. 注意・解釈(下部ノート)
データ更新:毎朝 8–9時台に自動更新(GASトリガー)
NULL/0の扱い:qty空値は暫定0(来週、NULL設計へ再検討)
稼働率は暫定定義(running対down|error)。語彙追加時は自動反映
3) “共有してすぐ使える”テンプレ
ビュー切替:拠点→ライン→SKUの順にフィルタが連動(クロスフィルタON)
比較ボタン:「前週」「前年同週」(Date range comparison をプリセット)
ワンクリック共有:権限は閲覧のみ、ダウンロードは管理者のみに限定
注記スイッチ:運用メモ(DLQ件数/今朝の処理数)をフッターに表示・非表示
🧪 スモーク結果
接続・描画とも体感1–2秒で反応(30日レンジ、数千行スケール)
フィルタ連動の齟齬なし(SKU→理由のドリルでもグラフ整合OK)
稼働ヒートマップで**“早朝に特定ラインが薄い(稼働低下)”**を即発見。現場ヒアリングの良い叩き台に。
💡 作ってわかったこと
“1ページ完結”は正義:KPI→推移→構成→深掘りまで1画面で流れると、会議が早い。
語彙の標準化が効く:T-sortのstatus語彙を先に決め、Looker側は式で吸収すると改修コストが小さい。
暫定KPIでも前週比を置く:“良い/悪い”を即言える。母数の連携後に精度を上げればよい。
🔭 明日の予定(Day 178|Week 11 最終日)
レビュー会(BNE/T-sort担当と30分):使い方レクチャ&“この1枚で足りる?”ヒアリング
反映見込み(バックログ化)
① 出荷母数の取り込み → 正式な返品率
② ライン停止のトップ原因カード(error_code×時間帯)
③ アラートしきい値(前週比↑↑/↓↓)→ Slack通知案
ダッシュボードの共有権限整備(チーム配布)
✍️ まとめ
Day 177は、“毎朝まわるデータ”を“毎朝読める1枚”に変換。
KPI・推移・原因の最短ループをLooker Studioで実体化し、明日のレビューで運用の芯へ寄せていきます。
#100日チャレンジ #Week11 #Day177 #DX実験室
#BoxDataWeaver #BigQuery #LookerStudio #GoogleAppsScript
#データ可視化 #オペレーション最適化 #業務改善
