1,203,400.00
プロダクトツアー
ノートブックで書き、
チャットで尋ね、
アプリで共有する。
入口は三つ、下にあるのは同じセマンティックレイヤー。どこから入っても、同じ定義、同じ権限、同じ数字です。
SQL
-- 第3四半期のカテゴリ別売上(確定注文のみ)
SELECT category,
SUM(amount) AS revenue
FROM orders
WHERE status = 'confirmed'
AND quarter = 'Q3'
GROUP BY category
ORDER BY revenue DESC5 行 · 完了
結果
| カテゴリ | 売上 | 前期比 |
|---|---|---|
| 衣料 | 454万 | +3.9% |
| ホーム | 448万 | +8.2% |
| 家電 | 304万 | -1% |
| コスメ | 270万 | +1.9% |
| 食品 | 213万 | +6% |
チャート
カテゴリ別売上
- 454衣料
- 448ホーム
- 304家電
- 270コスメ
- 213食品
制限付きの SQL サンドボックスで実行され、読み取りを許可されたテーブルだけを対象にします。
ふつうの言葉で質問してください。Agent がセマンティックレイヤーを読み、手順を見せ、答えをグラフにします。
地域と四半期ごとの売上を、カテゴリで積み上げて比べて。
- cube_list_models1 モデル
- cube_get_metadataretail_model
- cube_queryrevenue × region × quarter
権限のあるデータのみ
3 つの地域すべてで、売上は四半期ごとに伸びています。最大は東部、全地域で首位なのは衣料、唯一減っているカテゴリは家電です。
- 衣料
- ホーム
- コスメ
- 家電
- 食品
- 売上
- 1689万
- +4.0% 前四半期比
- 売上トップのカテゴリ
- 衣料
- 最も伸びたカテゴリ
- ホーム
カテゴリ別売上
チャネル構成 · 衣料
行レベルの権限は、閲覧者全員に適用されます。
架空の小売企業のサンプルデータによるイメージ画面です。実データには接続しておらず、実際の AI も呼び出していません。
オフィスでよく聞く声
- この数字、どうして経理の数字と合わないの?
- 先月のレポートを、当時のデータのまま出し直せる?
- あの人に、そのテーブルの権限を誰が与えたの?
- 数字をひとつ見たいだけなのに、またデータチームの順番待ち。
- AI が出した数字、そのまま使っていいの?
- レポートが何版にもなって、どれが正しいか誰も言えない。
01 · 定義
ひとつの言葉、
三つの数字。
経理は認識済み売上、営業は受注額、オペレーションは入金額で数えます。それぞれが自分のレポートと自分の SQL を持ち、週次会議は突合の場になります。
1,318,950.25
1,176,280.40
サンプルデータ。定義を共有すると、レポート・AI アシスタント・API はすべて同じ定義を読みます。
02 · 5 つの動き
ソースから答えまで、
5 つの動き。
どの段階にも版があり、定義があり、記録があります。それは約束ごとではなく、構造によるものです。
01 / 05 · 取り込み
先月のレポートを、当時のデータのまま出し直せる?
どんなに雑多なソースも、
同じ形に収める。
データベース、API、アップロードしたファイルを、ワークフローで取得・変換・マージし、版付きの不変スナップショットとして保存します。更新のたびに新しい版ができ、問題があれば前の版に戻せます。
- ワークフローで取得取得と変換を視覚的に組み立てます。ソースをまたぐデータは、まず管理されたスナップショットに同期してから、あわせて分析します。
- 不変の版公開したスナップショットは変更されません。追跡も巻き戻しもでき、参照中の版が誤って削除されることもありません。
- 読み書きの分離書き込むのはスケジューラだけ。クエリは読み取り専用のレプリカを使います。API が知らないうちにデータを変えることはありません。
ソース
- PostgreSQL
- SQL Server
- REST API
- CSV · XLSX
ワークフロー
- 01取得
- 02変換
- 03主キーでマージ
スナップショット
- v13parquet 不変
- v12parquet
- v11parquet
snapshot v13 · parquet · immutable
02 / 05 · モデル
この数字、どうして経理の数字と合わないの?
定義は、一度だけ。
キャンバス上でテーブル、結合、ディメンション、メジャーをセマンティックモデルに組み立て、検証して公開します。レポート、AI アシスタント、オープン API は同じ定義を読むので、自己流の集計は生まれません。
- ビジュアルモデリングテーブル、結合、ディメンション、メジャーをキャンバスで構築。必要なときはネイティブ定義も確認できます。
- 下書きから公開へまず検証し、次に全体を新しいリビジョンとして公開します。過去の定義が書き換えられることはありません。
- 統一された計算定義レポート、AI アシスタント、公開 API は同じセマンティックモデルで計算し、結果を検証できます。
measures:
- name: revenue
type: sum
sql: amount
filters:
- sql: "{CUBE}.status = 'confirmed'" ref(revenue)
- レポート
- AI アシスタント
- API
- PG ポート
- MCP
revenue = SUM(amount) WHERE status = 'confirmed'
03 / 05 · 探索
数字をひとつ見たいだけなのに、またデータチームの順番待ち。
現場が自分でクリック。
アナリストは行列から解放。
公開済みのモデルで、ディメンションを選び、メジャーをドラッグし、グラフを切り替え、絞り込みを加える。数字の裏にある理由は、ワンクリックで見えます。
- ドラッグで探索ディメンション、メジャー、グラフの種類を自由に切り替え、結果はすぐに更新されます。
- ドリルと絞り込み合計から明細へ。絞り込み条件はグラフと一緒に保存されます。
- アナリストには SQLデータ準備では SQL を書けます。ただし結果は管理されたテーブルとして保存して初めて、レポートで使えます。
ディメンション
メジャー
売上view → members → query → chart
04 / 05 · 質問
AI が出した数字、そのまま使っていいの?
データに聞く。
答えには出どころがある。
自然な言葉で質問できます。アシスタントはセマンティックレイヤー経由でのみデータに触れます。モデル一覧、メタデータの読み取り、クエリ実行。すべての手順が見え、質問した本人の権限で実行されます。
- 手順が見えるどのツールを使い、どのメンバーを問い合わせたか。すべて見えて、検証できます。
- 同じ権限の境界あなたに見えないモデルや行は、アシスタントにも見えません。
- モデルサービスは選べる管理者が OpenAI 互換のプロバイダー、モデル、キーを設定します。キーは暗号化して保存されます。
どの地域の売上が大きい?
- cube_list_models1 モデル
- cube_get_metadatarevenue_model
- cube_queryrevenue × region
権限のあるデータのみ
サンプル回答:北部の売上が大きい。地域と四半期を選ぶと、範囲ごとのサンプル結果を確認できます。
cube_list_models → cube_get_metadata → cube_query
05 / 05 · 公開
レポートが何版にもなって、どれが正しいか誰も言えない。
変更には痕跡を。
どの版にも戻れる。
グラフがダッシュボードになり、下書きは自動保存され、公開すると不変の版が確定します。壊れたら、過去のどの版にも復元できます。環境間の移行は YAML にエクスポートして行います。
- 自動保存の下書き編集内容はサーバーに自動保存され、別のマシンでも続きから作業できます。
- 公開と復元公開すると履歴版が確定します。復元では、まず現在の下書きを退避してから、選んだ版に戻します。
- コードとしてのレポートグラフとダッシュボードは YAML にエクスポートできます。まとめて検証・取り込みを行い、失敗すれば全体がロールバックされます。
版
- v7現在
- v6·
- v5·
↺ 復元: v6
⇣ YAML をエクスポート
dashboard.yml · version 1 · dry-run → apply
03 · データの構造
五つの層、
事実の源はひとつ。
元データから画面上の答えまで、各層の役割と境界はひとつだけ。層を選んで、そこに何があるか見てみましょう。
人が触れるものは、すべて下の層を読み、迂回しません。ノートブック、Agent、ダッシュボード、データアプリ、JSON API、MCP、PG ポートは、同じ入口を通ります。
- ノートブックと SQL
- Agent チャット
- ダッシュボードとアプリ
- API · MCP · PG ポート
行レベルの権限は、ただ一か所で適用されます。判断できないときは、通さずにクエリを拒否します。
- 適用箇所はひとつ
- 迷ったら拒否
- どこでも同じ行
売上は絞り込み条件ごと一度だけ定義され、すべてのグラフ・回答・API 呼び出しが再利用します。公開済みモデルは読み込むスナップショットを固定するので、クエリの途中で新旧のデータが混ざることはありません。
- ディメンション
- メジャー
- 結合
- スナップショット固定
更新のたびに新しい変更不可のバージョンが書き込まれ、その場での上書きはありません。書き込むのはスケジューラだけで、ほかはすべて読み取り専用です。
- 変更不可
- Parquet
- 主キー必須
10 種類のデータベースに接続し、ファイルをアップロードし、API から取得できます。ワークフローが抽出・変換・マージをスケジュール実行します。
- 10 種類のデータベース
- CSV · Excel
- API 取得
- 定時ワークフロー
概念図です。層の名前は製品のアーキテクチャを簡略化したものです。
04 · AI が作る
言葉にすれば、
動くアプリが手に入る。
見たいものを Agent に伝えてください。セマンティックレイヤーを読み、単一ファイルのデータアプリを書いて、その場でプレビューします。確認したら、データアプリとして保存します。
地域とカテゴリ別の売上ダッシュボードを作って。
売上の概要
1689万売上 · Q3 · サンプルデータ
- 衣料
- ホーム
- コスメ
- 家電
- 食品
値上げ・値下げを試して、売上と粗利がどうなるか見たい。
価格シミュレーション
- 売上
- 474万
- +22万
- 粗利率
- 62.8%
- +1.8
売上予測
登録月ごとの顧客の継続率を見せて。
継続率
コホートと月別の継続率
顧客ごとに売上と成長をプロットして、外れ値に印を付けて。
顧客マップ
架空の小売企業のサンプルデータによるイメージです。生成されたアプリはネットワークに接続できないサンドボックスで動き、ホストを通じて、あなたの権限でデータを読み取ります。
05 · ガバナンス
同じテーブルでも、
人によって見える行は違う。
認証、スペースの認可、行レベル権限、監査。何層にも絞り込みます。行レベル権限はセマンティックレイヤーで一度だけ実施され、レポート、AI アシスタント、API、PG ポートに同じように適用されます。判定が得られなければ、許可ではなく拒否します。
試す:身元を切り替える
4 つの入口、同じ結果
- レポート7,549,201.50
- AI アシスタント7,549,201.50
- API7,549,201.50
- PG ポート7,549,201.50
- 01
認証
アカウントと OIDC によるサインイン。データに触れる前に、まず本人を確認します。
- 02
スペースとリソースの認可
資産は個人またはチームのスペースに属し、フォルダやリソースはメンバーに付与します。
- 03
行レベル権限
権限テーブルが各人に見える行を決め、セマンティックレイヤーで一度だけ実施されます。
- 04
監査
主要な操作は記録され、誰がいつ何をしたかを調べられます。
SQL はサンドボックスで
SQL コンソールは制限付きの DuckDB サンドボックスで実行され、外部ファイルへのアクセスは無効です。
外向き通信にもポリシー
ワークフローや接続からの外向きリクエストは、すべてグローバルな外部アクセスポリシーに従います。
AI もあなたと同じ権限
アシスタントは質問した本人として問い合わせ、それ以上の権限は引き継ぎません。
06 · オープン性
取り込みやすく、
持ち出しやすい。
ネイティブ JSON API、MCP、PG プロトコルのポート、そして YAML 形式のグラフとダッシュボード。データも定義も、画面の中に閉じ込めません。
データソース
- PostgreSQL
- MySQL
- Oracle
- SQL Server
- ClickHouse
- Doris · StarRocks
- ファイル · API 取得
Cube Core
- データモデリングディメンション・メジャー・結合・ビューを一度だけ定義
- アクセス制御行権限の適用点は 1 つ、公開はビューのみ
- スナップショット固定各クエリは不変のデータバージョンを読む
- オープン APIJSON API · MCP · PG ポート
セマンティックレイヤー
利用側
- ダッシュボードとデータアプリワークスペース内
- AI エージェントMCP
- 外部システムJSON API
- BI ツールと ExcelPG ポート · Power Query
POST /api/v1/query
Authorization: Bearer <token>
{
"model_id": "valuation",
"view": "asset_view",
"query": {
"measures": ["asset_view.revenue"],
"dimensions": ["asset_view.region"],
"order": [["asset_view.revenue", "desc"]],
"limit": 100
}
}
// → { "data": [ … ], "release_id": "…", "snapshot_set_id": "…" }ネイティブの JSON クエリ。結果には公開バージョンとスナップショットの識別子が付きます。
対応データベース
- PostgreSQL
- MySQL
- Oracle
- SQL Server
- ClickHouse
- TiDB
- Doris
- StarRocks
- KingbaseES
- DuckDB
ほかに CSV / XLSX のアップロードと API 取得に対応。
データベース接続は SSH 踏み台と相互 TLS に対応
07 · 誰が使うか
ひとつのプラットフォームで、
3 つの役割が必要なものを得る。
ビジネスチーム
以前データチームが数字を出すのを待つ
現在公開済みモデルを自分で探索する
以前数字の出どころを説明できない
現在AI の回答にツールの手順と定義がつく
以前レポートごとに数字が違う
現在共通の指標定義を使う
データチーム
以前レポートごとに SQL が一本
現在準備は一度、モデリングも一度、公開も一度
以前手作業の更新で、エラーが追いにくい
現在ワークフローで更新し、毎回新しい版ができる
以前定義を変えると全部壊れそうで怖い
現在下書きで検証し、新しいリビジョンとして全体を公開
IT と経営層
以前権限は慣習とチャット頼み
現在スペースの認可と行レベル権限を、一か所で実施
以前エクスポートとスクリーンショットが氾濫
現在取得は認可された API を通り、操作は監査される
以前AI が権限を越えないか心配
現在AI は質問者と同じ権限、手順も確認できる
よくある質問
Shuzi とは何ですか?
Shuzi は、データの取り込み、準備、セマンティックモデリング、分析、公開をひとつの流れにつなぎ、チームが共通の指標定義で働けるようにします。
SQL を知っている必要はありますか?
ビジネス側のユーザーは、公開済みのレポート、探索画面、AI アシスタントを使えます。アナリストはデータ準備の段階で SQL を使えます。
AI は、見る権限のないデータを見られますか?
いいえ。アシスタントは質問した本人として、同じ認可と行レベル権限を通して問い合わせます。
他のツールからも問い合わせられますか?
はい。公開済みのモデルは JSON API、MCP、PG ポートから利用できます。実際のアクセスには認証と認可が必要です。
このサイトのデータは本物ですか?
いいえ。このサイトでは、ローカルのサンプルデータと定型の回答のみを使っています。実データはサインイン後、あなたの権限の範囲で利用できます。