LINE マーケティングダッシュボード
再構築プロンプト集

GenSparkで全く同じダッシュボードを新規構築するための完全なプロンプト。
会社情報・業界情報を差し替えるだけで即利用可能。

マニュアルに戻る

使い方

  1. GenSpark の Sparkページ(AI Webサイトビルダー)を開く
  2. Step 1 のプロンプトをコピーして送信 → テーブル定義&基本HTML作成
  3. Step 2 のプロンプトをコピーして送信 → メインJavaScript (app.js) 作成
  4. Step 3 のプロンプトをコピーして送信 → 深掘り分析JS (deep-analysis.js) 作成
  5. Step 4 のプロンプトをコピーして送信 → CSS作成&最終調整
  6. Publishタブでデプロイ → 完成!
以下の【会社名】【業界名】等のプレースホルダーを、対象企業の情報に置き換えてから送信してください。

カスタマイズ箇所(差し替え一覧)

プレースホルダー説明
【会社名】ヘッダー・フッター・レポートの社名沖縄コミュニケーションサービス株式会社
【業界名】ベンチマーク比較テーブルの業界名観光業
【ハイシーズン月】季節性分析のピーク月範囲4〜10月(海シーズン)
【シーズン説明】季節性インサイトの説明文沖縄の海シーズン(4〜10月)
【施策提案】レポートのアクション提案文天然水族感ツアー予約時のLINE友だち追加促進
【ベンチマーク値】業界平均のブロック率・純増等ブロック率 15-25%、月平均獲得 50-100

STEP 1 テーブル定義 & index.html 作成

最初にデータベーステーブルとHTMLの骨格を作成します。

STEP 1 プロンプト
LINE公式アカウントの「友だち追加経路」データを分析するマーケティングダッシュボードを作成してください。 ■ 基本情報 - 会社名: 【会社名】 - バージョン: v4.0 - 対応: iOS Safari 13以前でも動作するようES5互換のJavaScriptを使用 ■ まず以下の2つのデータベーステーブルを作成してください テーブル1: line_friend_path - id (text): ユニークID - period_start (text): 集計開始日 YYYY-MM-DD - period_end (text): 集計終了日 YYYY-MM-DD - path (text): 友だち追加経路名 - origin_point (text): 流入ポイント - campaign (text): キャンペーン名 - gained (number): 獲得数 - blocked (number): ブロック数 テーブル2: line_monthly_summary - id (text): ユニークID - period_start (text): 集計開始日 - period_end (text): 集計終了日 - total_gained (number): 総獲得数 - total_blocked (number): 総ブロック数 - net_gained (number): 純増数 - block_rate (number): ブロック率(%) - top_path (text): 最多獲得経路 - upload_date (text): アップロード日 ■ index.html を作成してください。以下の要件: CDNライブラリ: - Tailwind CSS (cdn.tailwindcss.com) - ECharts v5 (cdn.jsdelivr.net) - Font Awesome 6.4.0 (cdn.jsdelivr.net) - Google Fonts: Noto Sans JP + Inter Tailwind カスタムカラー: - line: #06C755 (dark: #05a348, light: #e8f9ef) - ocean: #0077B6 (dark: #005f92, light: #e0f2fe) - coral: #FF6B6B (dark: #e55555, light: #ffe0e0) - sand: #F4A261 (dark: #d98b4a, light: #fef3e2) ヘッダー: - 背景: linear-gradient(135deg, #06C755 0%, #0077B6 60%, #8B5CF6 100%) - 左: LINEアイコン + タイトル「LINE マーケティングダッシュボード」+ 社名「【会社名】| v4.0」 - 右: マニュアルリンクボタン(manual.htmlへ) + CSVアップロードボタン(openUploadModal()呼出) - 最終更新日表示 (id="lastUpdate", 初期非表示) ナビゲーションタブ (sticky, 横スクロール対応): 1. 概要 (overview) — fa-chart-pie — デフォルトactive 2. 経路分析 (paths) — fa-route 3. トレンド (trends) — fa-chart-line 4. アドバイス (advice) — fa-lightbulb 5. 深掘り分析 (deep) — fa-microscope 6. レポート (report) — fa-file-alt 7. データ管理 (data) — fa-database 各タブの onclick で switchTab('タブ名') を呼ぶ。 期間選択バー (ナビ下): - プリセットボタン: 全期間, 最新月, 直近3ヶ月, 直近6ヶ月, 直近1年 - それぞれ setPeriodPreset('all'/'latest'/'3m'/'6m'/'1y') を呼ぶ - 全期間がデフォルトアクティブ(緑背景) - カスタム年月選択: 開始(年/月) 〜 終了(年/月) のドロップダウン4つ - onchange で onCustomPeriodChange() を呼ぶ - リセットボタン(×) で clearCustomPeriod() を呼ぶ - id="periodInfo" (フィルター適用中の表示エリア) ■ 概要タブ (tab-overview): - 6つのKPIカード (2列グリッド): 1. 総獲得数 (id=kpiGained, kpiGainedSub) — アイコン: fa-user-plus 緑 2. ブロック数 (id=kpiBlocked, kpiBlockedSub) — アイコン: fa-user-minus 赤 3. 純増数 (id=kpiNet, kpiNetSub) — アイコン: fa-chart-line 青 4. ブロック率 (id=kpiBlockRate, kpiBlockRateSub) — アイコン: fa-shield-alt オレンジ 5. 成長率 (id=kpiGrowthRate, kpiGrowthRateSub) — アイコン: fa-rocket 紫 6. アクティブ経路 (id=kpiPathCount, kpiPathCountSub) — アイコン: fa-project-diagram ティール - チャートRow1 (グリッド): - 円グラフ「友だち追加経路の内訳」(id=chartPie, height:350px) - 棒グラフ「経路別 獲得 vs ブロック」(id=chartBar, height:350px) - チャートRow2 (グリッド): - ゲージ「ブロック率ゲージ」(id=chartGauge, height:280px) - ランキング「経路ランキング TOP5」(id=pathRanking) - ファネルチャート「友だちコンバージョンファネル」(id=chartFunnel, height:300px) ■ 経路分析タブ (tab-paths): - サンバーストチャート (id=chartSunburst, height:400px) - ツリーマップ (id=chartTreemap, height:400px) - 経路詳細テーブル (id=pathTable): カラム=経路,流入元,キャンペーン,獲得,ブロック,ブロック率 ■ トレンドタブ (tab-trends): - 月次推移グラフ (id=chartTrend, height:400px) + 予測ライン + 空データメッセージ(id=trendEmptyMsg) - 経路別推移 (id=chartPathTrend, height:350px) - ブロック率推移 (id=chartBlockRateTrend, height:350px) ■ アドバイスタブ (tab-advice): - 総合スコア (id=chartScore, height:250px) + コメント(id=scoreComment) - キーインサイト (id=keyInsights) - アドバイスカード (id=adviceCards) ■ 深掘り分析タブ (tab-deep): 7つのカード 1. 経路ROI分析 (id=chartROI, height:400px + id=roiInsights) 2. BCGマトリクス (id=chartBCG, height:420px + id=bcgLegend) 3. 経路健全度レーダー (id=chartPathHealth, height:350px + id=pathHealthComment) 4. 季節性分析 (id=chartSeason, height:350px + id=seasonInsights) 5. 経路相関ヒートマップ (id=chartHeatmap, height:400px + id=heatmapInsights) 6. コホート分析 (id=chartCohort, height:380px + id=cohortInsights) 7. ブロック率改善トラッカー (id=chartBlockTracker, height:380px + id=blockTrackerInsights) ■ レポートタブ (tab-report): - タイトル「月次マーケティングレポート」+ 「印刷/PDF保存」ボタン(printReport()) - レポート本文 (id=reportContent > id=reportBody) ■ データ管理タブ (tab-data): - CSVアップロードエリア (id=dropZone, ドラッグ&ドロップ対応) - ファイル選択ボタン (id=fileInput, handleFileSelect) - 期間入力 (id=periodStartInput, periodEndInput) - ステータス (id=uploadStatus) - データ活用ガイド (3列カード: 概要タブ/深掘りタブ/レポートタブ) - マニュアルリンクカード (manual.htmlへの紫カード) - データ履歴テーブル (id=historyTableBody + id=historyEmpty) ■ アップロードモーダル (id=uploadModal): - ドロップゾーン (id=modalDropZone) - ファイル選択 (id=modalFileInput, handleModalFileSelect) - 期間入力 (id=modalPeriodStart, modalPeriodEnd) - ステータス (id=modalUploadStatus) ■ フッター: - 「© 2025 【会社名】 | LINE Marketing Dashboard v4.0」 - 「完全マニュアルを見る」リンク (manual.htmlへ) ■ スクリプト読み込み: - js/app.js - js/deep-analysis.js 全てのスタイルはインラインスタイルとTailwindクラスで記述し、css/style.cssはナビタブ・KPIカード・レスポンシブ用のみに使ってください。 tab-content クラスで display:none、tab-content.active で display:block、fadeInアニメーション付き。 レスポンシブ対応(モバイル/デスクトップ)をしっかり実装してください。

STEP 2 js/app.js 作成(メインロジック)

KPI計算、チャート描画、CSV処理、期間フィルターを含むメインJavaScriptです。

STEP 2 プロンプト
js/app.js を作成してください。全てES5互換(var, function宣言, アロー関数不使用, ?. ?? 不使用)で書いてください。 ■ グローバル変数: var API_BASE = 'tables'; var COLORS = { line:'#06C755', ocean:'#0077B6', coral:'#FF6B6B', sand:'#F4A261', purple:'#8B5CF6', teal:'#14B8A6', pink:'#EC4899', indigo:'#6366F1', amber:'#F59E0B', gray:'#6B7280' }; var CHART_COLORS = [上記10色の配列]; var allPathData = []; var allSummaryData = []; var currentPeriod = 'all'; var charts = {}; ■ 初期化 (DOMContentLoaded): 1. setupDragDrop() — ドラッグ&ドロップ設定 2. loadAllData() → renderAll() ■ loadAllData(): - Promise.allで2つのAPI呼び出しを並列実行: - GET tables/line_friend_path?limit=1000 - GET tables/line_monthly_summary?limit=1000&sort=-period_start - 結果を allPathData, allSummaryData に格納 - updatePeriodSelector(), updateLastUpdate() を呼ぶ ■ 期間選択機能 (全関数): - getUniquePeriods(): allPathDataから一意の期間リスト(start+end)を抽出、日付順ソート - getAvailableYearMonths(): allPathDataから全年・全月を抽出 - populateYearMonthDropdowns(): 年/月のドロップダウンをデータから動的生成 - setPeriodPreset(preset): 'all','latest','3m','6m','1y'に対応 - 'all' → currentPeriod='all' - 'latest' → 最新の単一期間 - '3m','6m','1y' → 月数を遡ってYYYY-MM|YYYY-MM形式に - プリセットボタンのアクティブ切替(緑背景/白) - カスタムドロップダウンをクリア - onCustomPeriodChange(): 4つのドロップダウンからYYYY-MM|YYYY-MM形式を構築、プリセットボタンを全リセット - clearCustomPeriod(): ドロップダウンをクリア、'全期間'に戻す - updatePeriodInfo(text): id=periodInfoにフィルター情報を表示 - updateLastUpdate(): allSummaryDataの最新period_endをid=lastUpdateに表示 ■ フィルター関数: - getFilteredPathData(): currentPeriodが'all'なら全返却、YYYY-MM|YYYY-MMならperiod_startの年月でフィルタ、それ以外は完全一致 - getMainPaths(data): origin_pointとcampaignが空のレコードのみ返却(=経路ルートレベル) ■ タブ切替: - switchTab(tab): navTabsの全ボタンからactive除去→該当ボタンにactive追加、tab-contentの表示切替、100msでチャートresize - 各タブの描画関数を呼ぶ: advice→renderAdvice(), trends→renderTrends(), deep→renderDeepAnalysis(), report→renderReport(), data→renderHistory() ■ renderAll(): - getFilteredPathData()→getMainPaths()で経路データ取得 - renderKPIs(), renderPieChart(), renderBarChart(), renderGaugeChart(), renderRanking(), renderFunnelChart()を呼ぶ ■ renderKPIs(): - allPathDataからgained/blocked合計を計算 - 純増 = gained - blocked - ブロック率 = blocked/gained*100 - 前期データがあれば前期比デルタを計算(▲プラス緑/▼マイナス赤) - 成長率 = (今期gained - 前期gained) / 前期gained * 100 - アクティブ経路数 = gainedが1以上あるユニーク経路数 - animateNumber()で数値アニメーション - 各KPI要素(kpiGained等)にinnerText設定 ■ animateNumber(element, target, suffix): - 0からtargetまでを600msでカウントアップアニメーション ■ renderPieChart(): - ECharts円グラフ。mainPathsの各経路のgained合計をdataに。CHART_COLORSで色分け。 - ラベルにパーセント表示。 ■ renderBarChart(): - ECharts横棒グラフ。上位8経路のgained(緑)とblocked(赤)を表示。 ■ renderGaugeChart(): - EChartsゲージチャート。全体ブロック率を0-50%レンジで表示。 - 色: 0-15%緑, 15-25%オレンジ, 25-50%赤。 ■ renderRanking(): - TOP5経路を色付きバーとバッジで表示。HTMLで生成。 ■ renderFunnelChart(): - EChartsファネルチャート。全獲得→残存(純増)の流れ。 ■ renderSunburst(data): - 経路→流入元→キャンペーンの3階層サンバーストチャート。 ■ renderTreemap(data): - 経路ごとの面積比較ツリーマップ。 ■ renderPathTable(data): - テーブルにHTML行を生成。ブロック率の色分け(高=赤、中=オレンジ、低=緑)。 ■ renderTrends(): - allSummaryDataが2件未満なら空メッセージ表示 - renderMainTrend(), renderPathTrend(), renderBlockRateTrend()を呼ぶ ■ renderMainTrend(summaries): - 折れ線+棒グラフ。獲得(緑線)、ブロック(赤線)、純増(青棒)。 - 線形回帰で予測トレンドライン(点線)を2期間先まで延長。 ■ renderPathTrend(): - 上位5経路の積み上げ棒グラフ。期間別。 ■ renderBlockRateTrend(summaries): - ブロック率の折れ線 + 20%目標ラインを点線で表示。 ■ renderAdvice(): - 総合スコア計算: calculateScore(gained, blockRate, sorted, topPathShare) - renderScoreChart(score): ゲージチャート - renderInsights(): キーインサイトHTML生成 - renderAdviceCards(): 優先度付きアドバイスカード(高:赤/中:オレンジ/低:緑) ■ calculateScore(gained, blockRate, sorted, topPathShare): - ブロック率低い=高スコア、経路多様性高い=高スコア、獲得数多い=高スコア - 100点満点で返却 ■ CSV処理: - setupDragDrop(): dropZone, modalDropZoneにdrag/drop/dragleaveイベント設定 - handleFileSelect(event): fileInputからprocessCSVFile() - handleModalFileSelect(event): modalFileInputからprocessCSVFile(file, true) - processCSVFile(file, isModal): 1. FileReaderでCSV読み込み 2. ファイル名から日付自動検出 (YYYYMMDD_YYYYMMDD形式) 3. 既存期間チェック→上書き確認ダイアログ 4. parseCSV()→saveCSVData() 5. loadAllData()→renderAll()→showNotification() - parseCSV(text): ヘッダー行で列名判定、行ごとにオブジェクト配列化 - saveCSVData(rows, periodStart, periodEnd): 1. 各行をline_friend_pathにPOST 2. 合計を集計してline_monthly_summaryにPOST 3. カラム名は日本語/英語両対応(path/経路, gained/獲得, blocked/ブロック等) ■ データ履歴: - renderHistory(): allSummaryDataをperiod_start降順でテーブル表示 - deletePeriod(start, end, summaryId): 確認後、該当期間のpath全削除+summary削除→再読み込み ■ モーダル: - openUploadModal(): id=uploadModalをflex表示 - closeUploadModal(): 非表示に ■ 通知: - showNotification(message, type): 右下にトースト通知(成功=緑/エラー=赤)、3秒で自動消去 - showUploadStatus(msg, type, isModal): アップロード結果表示 ■ リサイズ対応: - window resize時に charts オブジェクト内の全EChartsインスタンスをresize() 全てvar宣言、function宣言、forループ使用。const/let/アロー関数/?./??は禁止。

STEP 3 js/deep-analysis.js 作成(深掘り分析&レポート)

7種の深掘りチャートと自動レポート生成モジュールです。

ここに業界固有の情報(ベンチマーク値・シーズン定義・施策提案)を入れます。
STEP 3 プロンプト
js/deep-analysis.js を作成してください。全てES5互換で書いてください。 app.jsのグローバル変数(allPathData, allSummaryData, charts, COLORS, CHART_COLORS, API_BASE)と関数(getFilteredPathData, getMainPaths, getUniquePeriods)を参照します。 ■ メインエントリー: - renderDeepAnalysis(): 以下7つを順に呼ぶ (各try-catch) 1. renderROIChart() 2. renderBCGMatrix() 3. renderPathHealthRadar() 4. renderSeasonality() 5. renderCorrelationMap() 6. renderCohortAnalysis() 7. renderBlockTracker() ■ 1. renderROIChart() — 経路ROI散布図 - id=chartROIにECharts scatter - X軸: 獲得数、Y軸: ブロック率 - バブルサイズ: 獲得数に比例 - 緑の「理想ゾーン」を markArea で右下に描画(高獲得・低ブロック率) - id=roiInsights に効率の良い/悪い経路のインサイトをHTML生成 ■ 2. renderBCGMatrix() — BCGマトリクス - id=chartBCGにECharts scatter - X軸: シェア(%)、Y軸: 前期比成長率(%) - 4象限: Star(右上), Cash Cow(右下), Question Mark(左上), Dog(左下) - markLine で中央に十字線 - id=bcgLegend に4象限の凡例HTML ■ 3. renderPathHealthRadar() — 経路健全度レーダー - id=chartPathHealthにECharts radar - 5指標: ブロック率(低い=高スコア), 多様性(HHI逆数), 集中度, ボリューム, 成長性 - 各指標0-100のスコアに正規化 - id=pathHealthComment にスコア最低の指標を改善ポイントとして表示 ■ 4. renderSeasonality() — 季節性分析 - id=chartSeasonにECharts bar - 月別(1-12月)の平均獲得数を棒グラフ - 年間平均を markLine (点線) で重ねる - 【ハイシーズン月】(例: 4〜10月)の棒をハイライト色にする - id=seasonInsights に3つのインサイトカード: - ピークシーズン: 最大獲得月の情報 - オフシーズン: 最小獲得月の情報 - シーズン連動: 「【シーズン説明】とLINE獲得数の相関を確認」 ■ 5. renderCorrelationMap() — 経路相関ヒートマップ - id=chartHeatmapにECharts heatmap - 上位5経路間のピアソン相関係数を計算 - 色: 赤(正の相関) ←→ 青(負の相関) - id=heatmapInsights に最も相関の高いペアを表示 ■ 6. renderCohortAnalysis() — コホート分析 - id=chartCohortにECharts heatmap - Y軸: 経路名、X軸: 期間 - セルの色濃度 = その期間のその経路の獲得数 - id=cohortInsights に成長/衰退トレンドの経路を表示 ■ 7. renderBlockTracker() — ブロック率改善トラッカー - id=chartBlockTrackerにECharts line - 上位5経路のブロック率を期間別に折れ線 - 全体平均を太い点線で追加 - id=blockTrackerInsights に改善/悪化の経路を表示 ■ レポート生成: - renderReport(): id=reportBody にHTMLレポートを生成 - ヘッダー: 「LINE Marketing Report — 月次マーケティングレポート」+ 社名「【会社名】」+ 期間 - エグゼクティブサマリー: 数行の概況文(KPI値を含む) - KPI比較テーブル: 今期 vs 前期、増減率(%)表示 - 経路別ランキング: 獲得順、シェア%付き - 改善提案セクション(4項目): 1. ブロック率改善: ブロック率が高い経路への対策 2. 経路集中リスク: 上位経路への依存度 3. 【施策提案】に関する提案(業界固有の施策) 4. SNSクロスプロモーション - アクションアイテム: 番号付きの具体的TODO - 業界ベンチマーク比較テーブル: - 「【業界名】平均」として比較 - 指標: 月間獲得数、ブロック率、純増率、アクティブ経路数 - ベンチマーク値: 【ベンチマーク値】 - 当社の値と比較して ✅良好 / ⚠️要改善 を判定 - 注釈: 「※ 【業界名】平均値はLINE公式アカウント運用ガイドラインに基づく参考値です」 - フッター: 日付 + 「© 【会社名】」 - printReport(): 別ウィンドウでレポートHTMLを開き、印刷ダイアログ表示 ■ 全チャートのデータが0件の場合は「データがありません」のプレースホルダーを表示。 全てvar宣言、function宣言。const/let/アロー関数不使用。ES5互換厳守。

STEP 4 css/style.css 作成 & 最終調整

カスタムスタイルとレスポンシブ対応です。

STEP 4 プロンプト
css/style.css を作成してください。以下のスタイルを含めてください: ■ 基本: - body: font-family 'Noto Sans JP', 'Inter', sans-serif ■ ナビゲーションタブ (.nav-tab): - padding: 10px 16px, font-size: 13px, font-weight: 500 - デフォルト: color #6b7280, border-bottom: 2px solid transparent - hover: color #374151 - active: color #16a34a, border-bottom-color #16a34a ■ タブコンテンツ: - .tab-content { display: none; } - .tab-content.active { display: block; animation: fadeIn 0.3s; } - @keyframes fadeIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } } ■ KPIカード (.kpi-card): - background: white, border-radius: 16px, padding: 20px - box-shadow: 0 1px 3px rgba(0,0,0,0.06), border: 1px solid #e5e7eb - hover: box-shadow 0 4px 12px rgba(0,0,0,0.08) ■ カードコンテナ (.card-container): - background: white, border-radius: 16px, padding: 24px - box-shadow, border ■ ランキングバー (.rank-bar): - background: #f9fafb, border-radius: 10px, overflow: hidden - .rank-fill: height:100%, border-radius: 10px - .rank-badge: 白文字、カラー背景、border-radius: 6px ■ アドバイスカード (.advice-card): - background: white, border-radius: 12px, padding: 20px - hover: translateY(-2px), shadow増加 - 優先度ボーダー: .priority-high→border-left:#FF6B6B, .priority-medium→#F4A261, .priority-low→#06C755 ■ インサイト (.insight-item): - display: flex, gap: 12px, background: #f9fafb, border-radius: 10px, padding: 12px ■ アップロードステータス: - .upload-success: background: #f0fdf4, border: #bbf7d0, color: #166534 - .upload-error: background: #fef2f2, border: #fecaca, color: #991b1b ■ ドロップゾーン: - .drop-active: border-color: #06C755, background: #f0fdf4 ■ レスポンシブ: @media (min-width: 1024px): - #kpiGrid: grid-template-columns: repeat(3, 1fr) - #overviewCharts1, #overviewCharts2, #pathCharts, #trendCharts: grid-template-columns: 1fr 1fr - #adviceTopGrid: grid-template-columns: 1fr 1fr - #adviceCards: grid-template-columns: 1fr 1fr @media (max-width: 640px): - KPI数字: font-size: 24px - .nav-tab: padding: 8px 10px, font-size: 12px ■ カスタムスクロールバー: 細め、丸角 ■ iOS Safari対応: - input: height: auto, -webkit-appearance: none - タッチエリア: touch-action: manipulation ■ 印刷: @media print で不要要素非表示 最後に、index.htmlとjs/app.jsとjs/deep-analysis.jsが全て正しく連携しているか確認し、動作テストしてください。

STEP 5 マニュアル作成(任意)

操作マニュアルが必要な場合は以下のプロンプトを追加送信してください。

STEP 5 プロンプト(任意)
manual.html として画像付きの完全マニュアルを作成してください。 ■ 要件: - 左サイドバーに目次(スクロール追従、現在章ハイライト) - ヒーローセクション(グラデーション背景、タイトル) - PDF保存ボタン (window.print())、HTMLダウンロードボタン (Blobで即ダウンロード) - 全12章構成: 1. システム概要(機能一覧、技術スタック表、アーキテクチャ図) 2. クイックスタート(3ステップ手順) 3. CSVデータの準備(LINE管理画面からのダウンロード手順、CSVフォーマット仕様表) 4. データアップロード(2通りの方法、期間選択フィルター使い方) 5. 概要タブの使い方(6つのKPI解説、5種のチャート解説) 6. 経路分析/トレンド(サンバースト・ツリーマップ・予測ライン解説) 7. 深掘り分析(7種のチャートをアコーディオンUI付きで解説) 8. レポート/アドバイス(自動生成レポート、PDF保存手順) 9. プログラム構成(ファイル一覧、app.jsの関数マップ、deep-analysis.jsの関数マップ、グローバル変数一覧) 10. データモデル/API仕様(テーブル構造、RESTful APIエンドポイント一覧、コード例) 11. ゼロから再構築する方法(5フェーズの手順、テーブルスキーマJSON、CDN設定、Tailwind設定) 12. カスタマイズガイド(テーマカラー変更、チャート追加テンプレート、会社情報変更箇所、CSVカラム名拡張) - 各章にスクリーンショット風のイメージ画像を生成して配置 - 会社名は「【会社名】」を使用 - レスポンシブ対応(モバイルはサイドバー非表示+モバイルTOCボタン) - 印刷時にサイドバー・ボタン非表示 - index.htmlへの「ダッシュボードに戻る」リンク - 戻るトップボタン(スクロールで表示)

完成チェックリスト

項目確認方法
テーブル2つが作成されているデータ管理タブでCSVアップロードが成功する
7タブが全て切り替わる各ナビタブをクリック
CSVアップロード(D&D + ファイル選択)LINE管理画面のCSVをアップロード
6つのKPIが正しく表示概要タブで数値確認
円グラフ・棒グラフ・ゲージが描画概要タブでチャート確認
深掘り分析7種が描画深掘りタブで全カード確認
レポートが自動生成されるレポートタブ表示
PDF印刷が動作するレポートの「印刷/PDF保存」ボタン
期間選択が動作するプリセット/カスタム年月を切替
データ削除が動作するデータ履歴の操作ボタン
モバイル表示が崩れないブラウザの開発者ツールでレスポンシブ確認
会社名が正しいヘッダー・フッター・レポートを確認
業界ベンチマークが正しいレポートタブのベンチマーク表確認

LINE マーケティングダッシュボード v4.0 — 再構築プロンプト

作成日: 2026年3月4日

ダッシュボード マニュアル