jpskill.com
🛠️ 開発・MCP コミュニティ

superset

Apache Supersetは、データ分析・可視化を支援するオープンソースのプラットフォームで、Dockerでの導入からデータベース接続、グラフ作成、ダッシュボード構築、SQL Labの利用、REST API経由でのプログラムアクセスまでを習得するSkill。

📜 元の英語説明(参考)

Apache Superset is an open-source data exploration and visualization platform. Learn Docker deployment, database connections, chart creation, dashboard building, SQL Lab usage, and programmatic access via the REST API.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Apache Supersetは、データ分析・可視化を支援するオープンソースのプラットフォームで、Dockerでの導入からデータベース接続、グラフ作成、ダッシュボード構築、SQL Labの利用、REST API経由でのプログラムアクセスまでを習得するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o superset.zip https://jpskill.com/download/15433.zip && unzip -o superset.zip && rm superset.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15433.zip -OutFile "$d\superset.zip"; Expand-Archive "$d\superset.zip" -DestinationPath $d -Force; ri "$d\superset.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して superset.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → superset フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Superset

Apache Superset は、豊富な可視化、アドホッククエリのための SQL Lab、およびノーコードのチャートビルダーをサポートする最新の BI プラットフォームです。ほとんどの SQL データベースに接続できます。

インストール

# Docker Compose (公式メソッド)
git clone https://github.com/apache/superset.git
cd superset
docker compose -f docker-compose-non-dev.yml up -d

# http://localhost:8088 でアクセス (admin/admin)
# docker-compose.yml: PostgreSQL を使用した最小構成の Superset
services:
  superset:
    image: apache/superset:3.1.0
    ports:
      - "8088:8088"
    environment:
      SUPERSET_SECRET_KEY: your-secret-key-change-me
      DATABASE_URL: postgresql+psycopg2://superset:superset@postgres/superset
    depends_on:
      - postgres
      - redis
    volumes:
      - ./superset_config.py:/app/pythonpath/superset_config.py

  postgres:
    image: postgres:16
    environment:
      POSTGRES_USER: superset
      POSTGRES_PASSWORD: superset
      POSTGRES_DB: superset
    volumes:
      - pg-data:/var/lib/postgresql/data

  redis:
    image: redis:7

volumes:
  pg-data:
# superset_config.py: Superset の基本的な設定
SECRET_KEY = 'your-secret-key-change-me'
SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://superset:superset@postgres/superset'

# Feature flags
FEATURE_FLAGS = {
    'ENABLE_TEMPLATE_PROCESSING': True,
    'DASHBOARD_NATIVE_FILTERS': True,
    'EMBEDDED_SUPERSET': True,
}

# Cache config
CACHE_CONFIG = {
    'CACHE_TYPE': 'RedisCache',
    'CACHE_DEFAULT_TIMEOUT': 300,
    'CACHE_KEY_PREFIX': 'superset_',
    'CACHE_REDIS_URL': 'redis://redis:6379/0',
}

初期設定

# setup.sh: 最初のデプロイ後に Superset を初期化
# 管理ユーザーの作成
docker exec -it superset superset fab create-admin \
  --username admin \
  --firstname Admin \
  --lastname User \
  --email admin@example.com \
  --password admin

# データベースの初期化
docker exec -it superset superset db upgrade

# サンプルのダッシュボードのロード (オプション)
docker exec -it superset superset load_examples

# ロールと権限の初期化
docker exec -it superset superset init

データベースの接続

# add-database.sh: API 経由でデータソースを追加
TOKEN=$(curl -s -X POST http://localhost:8088/api/v1/security/login \
  -H "Content-Type: application/json" \
  -d '{"username": "admin", "password": "admin", "provider": "db"}' \
  | jq -r '.access_token')

curl -X POST http://localhost:8088/api/v1/database/ \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "database_name": "Production Analytics",
    "engine": "postgresql",
    "sqlalchemy_uri": "postgresql://readonly:pass@prod-db:5432/analytics",
    "expose_in_sqllab": true,
    "allow_ctas": false,
    "allow_cvas": false
  }'

SQL Lab

SQL Lab は Superset のインタラクティブな SQL エディタです。

1. SQL Lab → SQL Editor に移動
2. データベースとスキーマを選択
3. クエリを記述して実行
4. チャート作成のために結果をデータセットとして保存
5. 動的クエリに Jinja テンプレートを使用:
   SELECT * FROM orders
   WHERE created_at >= '{{ from_dttm }}' AND created_at < '{{ to_dttm }}'

API 経由でのチャートの作成

# create-chart.py: プログラムでチャートを作成
import requests

BASE = 'http://localhost:8088/api/v1'
TOKEN = 'your-access-token'
headers = {'Authorization': f'Bearer {TOKEN}', 'Content-Type': 'application/json'}

# チャート (slice) の作成
chart = requests.post(f'{BASE}/chart/', headers=headers, json={
    'slice_name': 'Monthly Revenue',
    'viz_type': 'echarts_timeseries_line',
    'datasource_id': 1,
    'datasource_type': 'table',
    'params': '{"metrics": ["sum__revenue"], "groupby": ["category"], "time_range": "Last year"}',
}).json()

print(f"Chart created: {chart['id']}")

API 経由でのダッシュボードの作成

# create-dashboard.py: ダッシュボードを作成し、チャートを追加
dashboard = requests.post(f'{BASE}/dashboard/', headers=headers, json={
    'dashboard_title': 'Revenue Analytics',
    'published': True,
    'slug': 'revenue-analytics',
}).json()

dashboard_id = dashboard['result']['id']
print(f"Dashboard: http://localhost:8088/superset/dashboard/{dashboard_id}/")

エクスポートとインポート

# export-import.sh: バージョン管理のためにダッシュボードをエクスポート
# ダッシュボードを ZIP としてエクスポート
curl -o dashboard.zip \
  -H "Authorization: Bearer $TOKEN" \
  "http://localhost:8088/api/v1/dashboard/export/?q=[1]"

# ダッシュボードをインポート
curl -X POST "http://localhost:8088/api/v1/dashboard/import/" \
  -H "Authorization: Bearer $TOKEN" \
  -F "formData=@dashboard.zip" \
  -F "overwrite=true"

ロールベースアクセス制御

Superset RBAC:
- Admin: すべての機能へのフルアクセス
- Alpha: すべてのデータソースへのアクセス、チャート/ダッシュボードの作成が可能
- Gamma: 付与されたデータセットとダッシュボードのみへのアクセス
- sql_lab: SQL Lab を使用する権限

カスタムロール: Settings → List Roles → 特定の権限を持つ新しいロールを追加
行レベルセキュリティ: Settings → Row Level Security → ロールごとのフィルタを追加
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Superset

Apache Superset is a modern BI platform that supports rich visualizations, SQL Lab for ad-hoc queries, and a no-code chart builder. It connects to most SQL databases.

Installation

# Docker Compose (official method)
git clone https://github.com/apache/superset.git
cd superset
docker compose -f docker-compose-non-dev.yml up -d

# Access at http://localhost:8088 (admin/admin)
# docker-compose.yml: Minimal Superset with PostgreSQL
services:
  superset:
    image: apache/superset:3.1.0
    ports:
      - "8088:8088"
    environment:
      SUPERSET_SECRET_KEY: your-secret-key-change-me
      DATABASE_URL: postgresql+psycopg2://superset:superset@postgres/superset
    depends_on:
      - postgres
      - redis
    volumes:
      - ./superset_config.py:/app/pythonpath/superset_config.py

  postgres:
    image: postgres:16
    environment:
      POSTGRES_USER: superset
      POSTGRES_PASSWORD: superset
      POSTGRES_DB: superset
    volumes:
      - pg-data:/var/lib/postgresql/data

  redis:
    image: redis:7

volumes:
  pg-data:
# superset_config.py: Basic Superset configuration
SECRET_KEY = 'your-secret-key-change-me'
SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://superset:superset@postgres/superset'

# Feature flags
FEATURE_FLAGS = {
    'ENABLE_TEMPLATE_PROCESSING': True,
    'DASHBOARD_NATIVE_FILTERS': True,
    'EMBEDDED_SUPERSET': True,
}

# Cache config
CACHE_CONFIG = {
    'CACHE_TYPE': 'RedisCache',
    'CACHE_DEFAULT_TIMEOUT': 300,
    'CACHE_KEY_PREFIX': 'superset_',
    'CACHE_REDIS_URL': 'redis://redis:6379/0',
}

Initial Setup

# setup.sh: Initialize Superset after first deploy
# Create admin user
docker exec -it superset superset fab create-admin \
  --username admin \
  --firstname Admin \
  --lastname User \
  --email admin@example.com \
  --password admin

# Initialize the database
docker exec -it superset superset db upgrade

# Load example dashboards (optional)
docker exec -it superset superset load_examples

# Initialize roles and permissions
docker exec -it superset superset init

Connect a Database

# add-database.sh: Add a data source via API
TOKEN=$(curl -s -X POST http://localhost:8088/api/v1/security/login \
  -H "Content-Type: application/json" \
  -d '{"username": "admin", "password": "admin", "provider": "db"}' \
  | jq -r '.access_token')

curl -X POST http://localhost:8088/api/v1/database/ \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "database_name": "Production Analytics",
    "engine": "postgresql",
    "sqlalchemy_uri": "postgresql://readonly:pass@prod-db:5432/analytics",
    "expose_in_sqllab": true,
    "allow_ctas": false,
    "allow_cvas": false
  }'

SQL Lab

SQL Lab is Superset's interactive SQL editor:

1. Navigate to SQL Lab → SQL Editor
2. Select your database and schema
3. Write and execute queries
4. Save results as a dataset for chart building
5. Use Jinja templates for dynamic queries:
   SELECT * FROM orders
   WHERE created_at >= '{{ from_dttm }}' AND created_at < '{{ to_dttm }}'

Create Charts via API

# create-chart.py: Programmatically create a chart
import requests

BASE = 'http://localhost:8088/api/v1'
TOKEN = 'your-access-token'
headers = {'Authorization': f'Bearer {TOKEN}', 'Content-Type': 'application/json'}

# Create a chart (slice)
chart = requests.post(f'{BASE}/chart/', headers=headers, json={
    'slice_name': 'Monthly Revenue',
    'viz_type': 'echarts_timeseries_line',
    'datasource_id': 1,
    'datasource_type': 'table',
    'params': '{"metrics": ["sum__revenue"], "groupby": ["category"], "time_range": "Last year"}',
}).json()

print(f"Chart created: {chart['id']}")

Create Dashboard via API

# create-dashboard.py: Create a dashboard and add charts
dashboard = requests.post(f'{BASE}/dashboard/', headers=headers, json={
    'dashboard_title': 'Revenue Analytics',
    'published': True,
    'slug': 'revenue-analytics',
}).json()

dashboard_id = dashboard['result']['id']
print(f"Dashboard: http://localhost:8088/superset/dashboard/{dashboard_id}/")

Export and Import

# export-import.sh: Export dashboards for version control
# Export dashboard as ZIP
curl -o dashboard.zip \
  -H "Authorization: Bearer $TOKEN" \
  "http://localhost:8088/api/v1/dashboard/export/?q=[1]"

# Import dashboard
curl -X POST "http://localhost:8088/api/v1/dashboard/import/" \
  -H "Authorization: Bearer $TOKEN" \
  -F "formData=@dashboard.zip" \
  -F "overwrite=true"

Role-Based Access

Superset RBAC:
- Admin: Full access to all features
- Alpha: Access to all data sources, can create charts/dashboards
- Gamma: Access only to granted datasets and dashboards
- sql_lab: Permission to use SQL Lab

Custom roles: Settings → List Roles → Add new role with specific permissions
Row-level security: Settings → Row Level Security → Add filter per role