すべてのチャート、セグメント、および権限を含む既存のダッシュボードの完全なコピーを作成します


copyDashboard ミューテーションは、すべてのチャート、チャートセグメント、値、およびユーザー権限を含む既存のダッシュボードの完全なコピーを作成します。この操作は、すべてのコピーされた要素に新しい一意の識別子を持つ深いコピーを実行します。

基本的な例

カスタムタイトルでダッシュボードのコピーを作成します:

mutation CopyDashboard {
  copyDashboard(input: {
    dashboardId: "dashboard_123"
    title: "Q4 Sales Dashboard Copy"
  }) {
    id
    title
    createdAt
    charts {
      id
      title
      chartType
    }
    dashboardUsers {
      id
      role
      user {
        id
        email
      }
    }
  }
}

高度な例

タイトルを指定せずにダッシュボードをコピーします(自動的に「(Copy)」を追加):

mutation CopyDashboardAuto {
  copyDashboard(input: {
    dashboardId: "dashboard_456"
  }) {
    id
    uid
    title
    createdBy {
      id
      email
    }
    company {
      id
      name
    }
    charts {
      id
      title
      chartType
      position
      chartSegments {
        id
        title
        formula
        chartValues {
          id
          value
        }
      }
    }
    dashboardUsers {
      id
      role
      user {
        id
        email
        fullName
      }
    }
    createdAt
    updatedAt
  }
}

入力パラメータ

CopyDashboardInput

パラメータ 必須 説明
dashboardId String! ✅ はい コピーするダッシュボードのID
title String いいえ コピーされたダッシュボードのカスタムタイトル。提供されない場合は、元のタイトルに「(Copy)」を追加します

レスポンスフィールド

ダッシュボードレスポンス

ミューテーションは、すべてのコピーされたデータを含む完全な Dashboard オブジェクトを返します:

フィールド 説明
id String! 新しいダッシュボードの一意の識別子
uid String! URLルーティングに使用される一意の識別子
title String! コピーされたダッシュボードのタイトル
createdBy User! コピー操作を実行したユーザー
company Company! ダッシュボードが属する会社(元と同じ)
project Project プロジェクトの関連付け(元と同じ、あれば)
charts [Chart!]! 元のダッシュボードからコピーされたすべてのチャート
dashboardUsers [DashboardUser!]! 元からコピーされたユーザー権限(コピーしたユーザーを除く)
createdAt DateTime! コピーが作成された日時
updatedAt DateTime! コピーが最後に修正された日時

ダッシュボードコピーの動作

深いコピーのプロセス

copyDashboard 操作は、次の内容を含む完全な深いコピーを実行します:

  1. ダッシュボードメタデータ

    • 新しいIDとUIDを持つ新しいダッシュボードを作成
    • タイトルをコピー(カスタムタイトルがない場合は「(Copy)」を追加)
    • コピーを実行したユーザーを作成者として設定
    • 会社とプロジェクトの関連付けを維持
  2. チャートと構造

    • 新しいIDとUIDを持つすべてのチャートをコピー
    • チャートの種類、タイトル、および位置を保持
    • チャートの設定とメタデータを維持
  3. チャートセグメントと値

    • 新しいIDとUIDを持つすべてのチャートセグメントをコピー
    • セグメントのタイトル、数式、および設定を保持
    • すべてのチャート値とそのデータをコピー
  4. 数式参照

    • 数式参照を新しいUIDを使用するように更新
    • 数式のロジックと計算を維持
    • コピーされた数式がコピーされたデータを参照することを保証
  5. ユーザー権限

    • 元からすべてのダッシュボードユーザー権限をコピー
    • コピーしたユーザーを除外(彼らが作成者になる)
    • VIEWERおよびEDITORの役割の割り当てを維持

コピー後の操作

コピーを作成した後、システムは自動的に:

  • リアルタイム更新のためにダッシュボード作成イベントを公開
  • すべてのコピーされたチャートの結果再計算をトリガー
  • 依存するシステムや統合を更新

必要な権限

ダッシュボードのコピーには特定の権限が必要です:

役割 ダッシュボードをコピーできる
Dashboard Creator ✅ はい
Dashboard EDITOR ✅ はい
Dashboard VIEWER ❌ いいえ
非ダッシュボードユーザー ❌ いいえ

権限チェック: ユーザーは、次のいずれかを通じて元のダッシュボードに対してEDITORアクセスを持っている必要があります:

  • 元のダッシュボードの作成者であること
  • ダッシュボードに対する明示的なEDITOR役割の割り当てを持っていること

エラー応答

ダッシュボードが見つかりません

{
  "errors": [{
    "message": "Dashboard was not found.",
    "extensions": {
      "code": "DASHBOARD_NOT_FOUND"
    }
  }]
}

権限不足

{
  "errors": [{
    "message": "You don't have permission to access this dashboard",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

無効な入力

{
  "errors": [{
    "message": "Dashboard ID is required",
    "extensions": {
      "code": "VALIDATION_ERROR"
    }
  }]
}

ユースケース

1. テンプレートダッシュボード

新しいプロジェクトやチームのためにコピーできるテンプレートダッシュボードを作成します:

mutation CreateProjectDashboard {
  copyDashboard(input: {
    dashboardId: "template_dashboard_id"
    title: "Project Alpha - Sales Dashboard"
  }) {
    id
    title
  }
}

2. バックアップとバージョニング

重要な変更を行う前にバックアップを作成します:

mutation BackupDashboard {
  copyDashboard(input: {
    dashboardId: "production_dashboard"
    title: "Production Dashboard - Backup 2024-01-15"
  }) {
    id
    title
    createdAt
  }
}

3. チーム間の共有

データ構造を維持しながらチーム間でダッシュボードをコピーします:

mutation ShareDashboardWithTeam {
  copyDashboard(input: {
    dashboardId: "marketing_dashboard"
    title: "Marketing Dashboard - Sales Team Copy"
  }) {
    id
    title
    dashboardUsers {
      role
      user {
        email
      }
    }
  }
}

ベストプラクティス

命名規則

  • コピーの目的を示す説明的なタイトルを使用します
  • 明確さのためにチーム名、日付、またはバージョン番号を含めます
  • 「Copy」や「New Dashboard」などの一般的な名前は避けます

権限管理

  • 作成後にコピーされたダッシュボードの権限を確認します
  • 特定のユースケースに応じてユーザーを追加または削除します
  • ビューアがコピーの編集者になる必要があるかどうかを検討します

データの整合性

  • コピー後に数式と計算が正しく機能することを確認します
  • チャートのデータソースが新しいコンテキストに適していることを確認します
  • 自動化されたレポートや統合をテストします

パフォーマンスの考慮事項

  • 多くのチャートを持つ大規模なダッシュボードのコピーには数秒かかる場合があります
  • チャートの再計算はコピー後に非同期で行われます
  • 非常に大きなダッシュボードのコピーは、オフピーク時間に行うことを検討してください
  • 複数のダッシュボードを同時にコピーする際は、システムリソースを監視します

制限事項

  • 異なる会社間でダッシュボードをコピーすることはできません
  • 数式参照は同じ会社内のデータに制限されています
  • 一部の外部統合は再構成が必要な場合があります
  • カスタム権限や役割は手動で調整する必要がある場合があります
  • 履歴データや分析はコピーに保持されません

関連リソース

AIアシスタント

回答はAIを使用して生成されており、間違いが含まれる可能性があります。

どのようにお手伝いできますか?

Blueやこのドキュメントについて何でも聞いてください。

送信するにはEnterを押してください • 新しい行を作成するにはShift+Enterを押してください • ⌘Iで開く