【実践】dbtで会計データを整える!仕訳・部門・取引先マスタのモデリング基礎とDX活用
dbtを活用し、会計データの整理・分析を効率化。仕訳・部門・取引先マスタのモデリング基礎から、企業の意思決定を支援するデータ活用戦略、導入の注意点までを網羅的に解説します。
目次 クリックで開く
企業の財務状況を可視化する会計データは、ERP(基幹系システム)やSaaS、銀行明細など多岐にわたるソースに分散しています。これらを統合し、経営判断に耐えうる「信頼できる唯一のソース(SSOT:Single Source of Truth)」を構築するには、dbt(data build tool)を用いた高度なモデリングが不可欠です。本ガイドでは、仕訳データや各種マスタの構造化、および実務上のトラブルを回避する具体的な実装手順を解説します。
1. 会計DXを加速させるdbtの役割とデータ基盤の全体像
1.1 会計データの「サイロ化」と「手作業」を技術で解決する
従来の会計業務では、各システムからCSVを出力し、表計算ソフトのVLOOKUP関数や複雑なマクロで突合する作業が常態化していました。しかし、この手法ではデータ加工プロセスがブラックボックス化し、監査対応や再現性の確保が困難です。
dbt(data build tool)とは、データウェアハウス(DWH)内でのデータ変換をSQLで行い、そのプロセスをソフトウェアエンジニアリングのベストプラクティス(バージョン管理、テスト、ドキュメント化)で管理するためのツールです。dbtを導入することで、データ変換ロジックをコードとして管理し、Gitによる履歴管理と自動テストを組み込むことが可能になります。
1.2 ELT(Extract, Load, Transform)におけるdbtの責務
モダンデータスタックにおいて、データ統合の主流はETLから「ELT」へと移行しています。これは、データを抽出(Extract)し、そのままDWHへロード(Load)した後に、DWHのリソースを使って変換(Transform)を行う手法です。dbtはこの「T(Transform)」を担います。
FivetranやTROCCO等のツールで生データをDWHへロードした後、dbtがその生データを会計基準に準拠した形式へと整形します。これにより、生データを汚さずに何度でもロジックの再試行が可能になり、データの「鮮度」と「品質」を両立できます。
関連記事:高額なCDPは不要?BigQuery・dbt・リバースETLで構築する「モダンデータスタック」ツール選定と公式事例
2. 実務で採用すべきデータスタック:dbtを軸とした構成選定
会計データ基盤を構築する際、連携の安定性とコスト効率、そして監査に耐えうる証跡管理のバランスが重要です。以下に、主要なデータ統合ツールとDWHのスペックを比較します。
2.1 データ統合(EL)ツールの比較
| ツール名 | 主な特徴 | 強みと活用シーン | 公式リンク・事例 |
|---|---|---|---|
| Fivetran | 300以上のコネクタ。完全自動更新。セットアップが容易。 | グローバルSaaSとの連携に強く、メンテナンス工数を最小化したい場合。 | 公式サイト / Autodesk事例 |
| TROCCO | 日本産。UIが日本語で使いやすい。日本の商習慣に合ったコネクタ。 | 国内SaaS(freee, 楽楽精算等)との連携や、GUIでの運用を重視する場合。 | 公式サイト / リクルート事例 |
| Airbyte | オープンソースベース。高いカスタマイズ性。 | 独自のAPI連携が必要な場合や、インフラを自社管理してコストを抑える場合。 | 公式サイト |
2.2 データウェアハウス(DWH)の比較
dbtを実行するための計算基盤となるDWH選定は、クエリ性能とコストに直結します。
| DWH名 | 課金体系 | 会計実務におけるメリット | 公式ドキュメント |
|---|---|---|---|
| BigQuery | クエリ実行量またはスロット課金 | サーバーレスで管理不要。Google Workspaceとの連携が強力で、スプレッドシートへの書き出しが容易。 | Google Cloud |
| Snowflake | クレジット(コンピュート)課金 | 「Virtual Warehouse」による秒単位のスケーリング。データのタイムトラベル機能により、過去時点の復元が容易。 | Snowflake公式 |
| Amazon Redshift | ノード時間またはサーバーレス | 既存のAWS資産との親和性が高く、大規模なバッチ処理において安定したパフォーマンスを発揮。 | AWS公式 |
3. 【実践】会計データのモデリング設計:3層構造の定義
会計データのモデリングでは、生データをそのまま加工するのではなく、段階的に抽象度を高めていく「3層構造」が推奨されます。
3.1 ステージング層(Staging):ソースデータの正規化
最初のステップでは、ERPや各SaaSから抽出された生の仕訳データをクリーニングします。ここでは以下の処理に限定し、複雑なビジネスロジック(配賦や税計算の組み換えなど)は含めません。
- カラム名の統一(例:ent_id → journal_entry_id)
- データ型の変換(例:文字列で入ってきた日付を DATE 型にキャスト)
- 欠損値の補完(例:部門コードがない場合に unknown を入れる)
- 重複削除(APIの再送等による重複レコードの排除)
3.2 中間層(Intermediate):コンテクストの付与と結合
ステージング層で整えられたデータに対し、部門マスタや取引先マスタを結合(JOIN)します。会計実務で最も厄介なのは、**「マスタの有効期間」**です。例えば、2025年4月に部門名が「営業1課」から「ソリューション営業部」に変更された場合、過去の仕訳データがどちらの名称を表示すべきかをここで定義します。また、税区分コードを「10%標準税率」といった人間が理解できるラベルに変換する処理もここで行います。
関連記事:【完全版】給与ソフトからfreee会計への「部門別配賦」と仕訳連携
3.3 マート層(Mart):エンドユーザー向け出力
最終的に、財務諸表(B/S, P/L)や予実管理レポート、監査用リストとして出力する層です。この層では、経営会議でそのまま使えるレベルまで集計・加工されます。dbtの tags 機能を使い、「監査用」「管理会計用」といった分類を行うことで、用途に応じたデータの出し分けを管理します。
4. 勘定科目・部門・取引先マスタの「履歴管理(Snapshots)」実装手順
会計組織変更に対応するために、dbtの Snapshots 機能を活用します。これは、データの変更履歴を保持する SCD(Slowly Changing Dimensions)Type 2 を自動的に実装する仕組みです。
4.1 SCD Type 2が必要な理由
通常のデータベース更新では、部門名が上書きされると過去のデータまで新しい部門名で表示されてしまいます。これでは「当時の組織図に基づいた分析」が不可能です。Snapshotsを使用すると、データの「有効開始日」と「有効終了日」をカラムとして保持し、任意の時点の組織状態を再現できます。
4.2 実装の具体的な流れ
- dbtプロジェクト内に snapshots ディレクトリを作成:ここにSQLファイルを配置します。
- ユニークキーの特定:部門IDなど、不変のIDを unique_key に設定します。
- 監視対象カラムの定義:部門名や責任者名など、変更を検知したいカラムを check_cols に指定します。
- 戦略の選択:タイムスタンプで追跡するか、ハッシュ値で比較するかを選択します(会計マスタは check 戦略が一般的です)。
- dbt snapshot コマンドの実行:コマンドを実行すると、DWH側に履歴保持用のテーブルが生成されます。
この履歴テーブルを参照することで、「2023年度決算時点の部門マスタ」をいつでも正確に呼び出すことが可能になります。
5. 会計データ特有の「異常系」シナリオとdbtでの対処
システム導入後に最も現場を悩ませるのは、正常なフローではなく「イレギュラーなデータ」への対応です。dbtを用いた堅牢なパイプライン構築には、以下のシナリオへの備えが必要です。
5.1 取消・修正仕訳の「二重計上」リスク
ERPでは、一度確定した仕訳を「赤黒(マイナス仕訳)」で打ち消したり、直接修正したりすることがあります。dbtの incremental(増分更新)モデルを使用している場合、過去にロード済みのレコードが修正されても、デフォルトの設定では反映されません。
解決策: unique_key を設定し、merge 戦略を採用します。さらに、処理対象期間を「過去N日間」として常にオーバーラップさせてスキャンすることで、直近の修正を漏れなく取り込みます。
5.2 振込手数料ズレと合算払いの名寄せ
銀行明細と売掛債権を突合する際、手数料分が差し引かれたり、複数請求が1件で振り込まれたりします。dbtでは、こうした不一致を解消するための「名寄せ(Matching)」ロジックを中間層に実装します。
- 閾値処理:±500円以内の差分は「支払手数料」として自動的に仕訳を補完するロジック。
- 名義の正規化:銀行明細のカナ名称と取引先マスタのカナ名称を REPLACE 関数等で標準化して結合。
関連記事:【完全版】freeeの「自動消込」が効かない? 振込手数料ズレと合算払いを撲滅する「バーチャル口座」決済アーキテクチャ
5.3 APIレートリミットによるデータ欠損
クラウド会計SaaS(freee, マネーフォワード等)からデータを取得する場合、APIの短時間での大量リクエスト制限がボトルネックとなります。
解決策: 取得ツール側で「指数バックオフ(Exponential Backoff)」を有効にします。これは、エラー時に待機時間を徐々に延ばしながら再試行するアルゴリズムです。また、dbtのテスト機能(dbt test)を使い、レコード件数が前日比で極端に減っていないかを監視する「ボリュームテスト」を実装します。
6. 実務者のためのdbt導入10ステップ:初期設計から運用まで
会計データ基盤を成功させるための標準的な導入プロセスを整理しました。
- 要件定義(データの範囲決定):どのERP、どの銀行口座、どのSaaSを統合するかを決定。
- DWH環境の構築:BigQueryやSnowflakeのプロジェクト/ワークスペースをセットアップ。
- ELツールの設定:FivetranやTROCCOで、ソースシステムからDWHへの定期連携を開始。
- dbt環境のセットアップ:dbt Cloudまたはdbt Coreをインストールし、DWHと接続。
- ステージングモデルの作成:生データを stg_ プレフィックスで正規化。
- Snapshotの定義:部門・勘定科目マスタの履歴管理を開始。
- ビジネスロジックの実装:中間層で配賦計算、予実突合、マスタ結合を行う。
- テストの実装:unique, not_null, relationships などの基本テストに加え、会計的な整合性テストを記述。
- ドキュメント生成:dbt docs generate で、データの定義とリネージ(つながり)を可視化。
- ジョブスケジューリング:月次決算や日次更新のタイミングに合わせて実行スケジュールを設定。
7. 導入事例の深掘り:会計データ基盤がもたらした変革
事例1:成長著しいスタートアップの予実管理(SaaS企業)
【課題】 複数の決済手段(Stripe, 銀行振込)とSalesforceの商談データがバラバラで、月次決算が終わるまで着地予想が立てられなかった。
【導入】 dbtを軸としたモダンデータスタックを構築。Salesforceの受注データとStripeの入金実績をdbt上で統合。
【結果】 決算確定を待たずに、毎日「未入金リスク」と「当月の売上着地」が可視化された。監査法人へのデータ提出もdbtのリネージ図を提示することで、加工プロセスの透明性が認められ、監査工数が大幅に削減された。
事例2:多拠点展開する小売チェーンの原価計算
【課題】 店舗ごとに異なるPOSシステムを使用しており、全社共通の在庫評価と原価計算に膨大なExcel作業が発生していた。
【導入】 全POSデータをBigQueryに集約し、dbtで移動平均法による原価計算ロジックを実装。マスタの履歴管理により、店舗の統廃合も正確に反映。
【結果】 従来10日かかっていた原価算出が、翌朝には完了する体制へ。各店長がリアルタイムで粗利を確認できるようになった。
成功の共通要因と失敗を避ける条件
- 成功の型:最初から全データを統合しようとせず、まずは「仕訳と部門マスタ」だけに絞ってSSOTを作るなど、スモールスタートを徹底している。
- 失敗の条件:データの「意味(セマンティクス)」を定義せずにツールだけを導入すること。例えば「売上」の定義が事業部と経理でズレていると、どれだけ最新の技術を使っても不信感を招く。
8. よくある誤解と正しい理解(FAQ)
| 質問 | よくある誤解 | 正しい理解・実務上のアドバイス |
|---|---|---|
| エンジニアが必要? | データエンジニアがフルタイムで必要。 | SQLが書ければ経理担当者でも基本操作は可能。ただし、最初の環境構築やGit管理のルール作りはプロの支援を受けるのが近道です。 |
| Excelは不要になる? | すべての分析をBIツールで行う。 | dbtで整えた「綺麗なデータ」を、使い慣れたExcelやGoogleスプレッドシートから呼び出して分析する形が最も実務的です。 |
| 修正仕訳は反映される? | 一度取り込んだデータは固定される。 | dbtの incremental モデルや merge 戦略を正しく設定すれば、過去に遡った修正も自動でデータ基盤に反映されます。 |
| コストが高い? | 月額数十万円からの高額投資。 | dbt Core(オープンソース)やBigQueryの無料枠を活用すれば、月数千円〜数万円規模の小規模な運用から開始可能です。 |
| 監査には耐えられる? | AIが勝手に変換するので不透明。 | むしろ逆です。誰が・いつ・どのSQLで変換したかがGitに残るため、Excel作業よりも遥かに高い透明性と監査証跡を確保できます。 |
9. まとめ:会計データを「死んだ数字」にしないために
会計データのモデリングは、単なる技術的な課題ではなく、経営指標の信頼性を担保する重要なプロセスです。dbtによる厳格な管理を通じて、属人化を排除し、変化に強い財務基盤を構築しましょう。データが整えば、それは単なる「過去の記録」から、次の打ち手を示す「羅針盤」へと変わります。
関連記事:【完全版・第5回】freee会計の「経営可視化・高度連携」フェーズ。会計データを羅針盤に変えるBIとAPI連携術
参考文献・出典
- dbt Documentation — https://docs.getdbt.com/
- Fivetran Case Studies — https://www.fivetran.com/case-studies
- Snowflake Documentation (SCD Type 2) — https://docs.snowflake.com/
- Google Cloud BigQuery Documentation — https://cloud.google.com/bigquery/docs
- TROCCO 導入事例 — https://trocco.io/lp/cases
- 一般社団法人 日本CFO協会「データドリブン経営の現状」 — 公式サイト内調査報告書より
10. 導入前に押さえるべき実務のチェックポイント
dbtを用いた会計データ基盤の構築において、技術的な実装以上に重要なのが「業務フローとの整合性」です。特にクラウド会計ソフトと連携する場合、APIの仕様やデータの確定タイミングを正しく理解していないと、集計値が一致しないといったトラブルの原因になります。
10.1 データ整合性を担保するための「dbt test」チェックリスト
会計監査に耐えうる基盤にするため、最低限以下のテストをdbtのschema.ymlに定義することを推奨します。これにより、異常なデータがマート層(レポート用データ)に混入するのを未然に防げます。
- ユニーク性(unique):仕訳IDやマスタIDが重複していないか。
- 非欠損(not_null):勘定科目コードや金額が空欄になっていないか。
- 参照整合性(relationships):仕訳データにある部門IDが、部門マスタに存在するか。
- 正負の整合性(accepted_values):特定の収益科目がマイナスになっていないか(修正仕訳を除外した分析時など)。
10.2 よくある「マスタ管理」の落とし穴
部門やプロジェクトの統合・廃止が頻繁に起こる企業では、dbt Snapshotsの導入が必須ですが、運用ルールもセットで検討が必要です。例えば、freee会計等のSaaS側で「削除」されたマスタをDWH側でどう扱うか(論理削除か物理削除か)を定義しておかなければ、過去の分析レポートが壊れるリスクがあります。
| 項目 | SaaS側の挙動 | dbt側での推奨対応 |
|---|---|---|
| 過去仕訳の修正 | 承認済みの値を直接書き換える、または赤黒処理。 | incrementalモデルではなく、定期的なフルリフレッシュまたは適切なmerge戦略をとる。 |
| マスタの名称変更 | コードは同じで名称のみ上書きされることが多い。 | Snapshots(SCD Type 2)を使い、有効期間付きの履歴を保持する。 |
| API連携のラグ | 更新から反映まで数分〜数十分のタイムラグが発生。 | バッチ実行時に前日分までのデータを対象にするなど、余裕を持った設計にする。 |
11. さらなるデータ活用とアーキテクチャの拡張
会計データがdbtによって整理されると、その活用範囲は財務報告に留まりません。例えば、BigQueryに集約されたデータを「リバースETL」によって他のSaaSへ戻すことで、より高度な業務自動化が可能になります。
具体的なアーキテクチャの全体像については、以下の記事も参考にしてください。
- 高額なCDPは不要?BigQuery・dbt・リバースETLで構築する「モダンデータスタック」ツール選定と公式事例
- 【図解】SFA・CRM・MA・Webの違いを解説。高額ツールに依存しない『データ連携の全体設計図』
特に経理部門における自動化を深掘りしたい場合は、楽楽精算×freee会計の「CSV手作業」を滅ぼすアーキテクチャの解説も、実務上の「責務分解」の参考になります。
公式技術ドキュメントへのリンク
dbt実装テンプレート・テスト・運用ガイド
dbt Core vs dbt Cloud の使い分け
| 観点 | dbt Core (OSS) | dbt Cloud |
|---|---|---|
| ライセンス | 無料 | $100/開発者/月〜(Developer/Team/Enterprise) |
| 実行環境 | 自社(Airflow/GitHub Actions等) | マネージド |
| IDE | VS Code等 | WebIDE(dbt Cloud IDE) |
| スケジューラ | 自前 | 標準装備 |
| CI/CD(Slim CI) | 自前構築 | 標準(PR時に変更モデルのみ実行) |
| Semantic Layer | 限定 | フル機能 |
| 適合する組織 | 1〜2人体制/既存データ基盤あり | 5人以上のチーム/チーム横断運用 |
会計データ向け dbt テストテンプレート
会計データに特化した、dbt yml で記述すべき必須テスト集です。schema.yml に貼り付けて即運用可能。
version: 2
models:
- name: fct_journal_entries
columns:
- name: journal_id
tests: [unique, not_null]
- name: posting_date
tests:
- not_null
- dbt_utils.accepted_range:
min_value: "'2020-01-01'"
max_value: "current_date"
- name: account_code
tests:
- not_null
- relationships:
to: ref('dim_account')
field: account_code
- name: amount_jpy
tests:
- not_null
- dbt_utils.expression_is_true:
expression: ">= -1e10 AND amount_jpy <= 1e10"
tests:
- dbt_utils.equal_rowcount:
compare_model: ref('stg_journal_entries')
- dbt_utils.expression_is_true:
expression: "ABS(SUM(debit_amount) - SUM(credit_amount)) < 1"
name: balance_check_journal
※ 借方/貸方合計の一致テストは複式簿記の基本制約。これを自動検知できるかが品質の分岐点。
会計特化マクロ(Macros)の例
- 会計年度フラグ:
{{ fiscal_year('posting_date', start_month=4) }}で3月決算企業の会計年度を返す - 為替換算:
{{ fx_convert('amount', 'currency_code', 'posting_date') }}でレートテーブルとjoinして機能通貨へ変換 - 勘定科目正規化: 会計ソフト別の表記揺れを統一マスタへマッピング
- 消費税分離: 内税/外税/免税のタグ付けと税抜額算出
- 部門配賦: 配賦元→配賦先のリレーションを `seed/allocation_rules.csv` から読み込み計算
- 累積(YTD/QTD): 会計期間ベースの累積を Window 関数で生成
ディレクトリ構成(会計データプロジェクト推奨)
models/
staging/
accounting/
stg_freee__journal.sql
stg_freee__account.sql
stg_mf__journal.sql
_accounting__sources.yml
_accounting__models.yml
intermediate/
accounting/
int_journal_normalized.sql
int_account_with_hierarchy.sql
int_fx_rate_daily.sql
marts/
finance/
fct_journal_entries.sql
dim_account.sql
dim_department.sql
fct_pl_monthly.sql
fct_bs_monthly.sql
fct_cash_flow_monthly.sql
_finance__models.yml
macros/
fiscal_year.sql
fx_convert.sql
account_normalize.sql
seeds/
account_master.csv
department_master.csv
fx_rate.csv
allocation_rules.csv
ジョブスケジュール設計(会計業務サイクル合わせ)
| ジョブ | 頻度 | 依存 | ねらい |
|---|---|---|---|
| EL(Fivetran/TROCCO) | 1日4回(6/12/18/22時) | — | 当日の仕訳取り込み |
| dbt Staging層 | EL完了の1時間後 | EL | クレンジング・標準化 |
| dbt Intermediate層 | Staging完了後 | Staging | 結合・配賦・換算 |
| dbt Mart層 | Intermediate完了後 | Intermediate | BI向け集計テーブル生成 |
| dbt Test(フル) | 1日1回(夜間) | Mart完了 | 品質確認・通知 |
| 月次締め後フル再構築 | 月初3営業日 | — | 確定値で過去2ヶ月再計算 |
| 四半期末リフレッシュ | 四半期末翌週 | — | 監査用スナップショット作成 |
CI/CD実装(GitHub Actions版)
変更PR提出時に「変更モデル+下流」だけテスト実行する Slim CI のサンプル。dbt Core でも同等を実装可能:
name: dbt_ci
on: [pull_request]
jobs:
dbt_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install dbt-bigquery
- name: Get production manifest
run: gsutil cp gs://my-bucket/manifest.json ./prod-manifest.json
- run: dbt deps
- run: dbt build --defer --state ./prod-manifest.json --select state:modified+ --target ci
- name: Upload test results
uses: actions/upload-artifact@v4
with: { name: dbt-target, path: target/ }
監査証跡(dbt artifacts/Snapshot活用)
- dbt artifacts(manifest.json/run_results.json): 実行履歴・モデル定義・依存関係を毎ラン保管。GCS/S3にバージョン管理
- dbt snapshots: SCD Type 2 でマスタ変更履歴を保持。組織変更や勘定科目体系の変更を時系列で追跡
- Elementary Data/Re_data: dbt artifacts を解析し、データ品質ダッシュボードを自動生成
- Sources Freshness: 各データソースの鮮度監視(freee 最終取得から12時間以内 等)
- Exposureドキュメント: 「このBI/このダッシュはどのモデルに依存するか」を YAML で明示し、影響範囲を可視化
dbt Semantic Layer の会計指標統一
「売上」「粗利」「営業利益」など、ダッシュボードごとに微妙に定義が違う問題を Semantic Layer で一箇所に集約します。
semantic_models:
- name: pl_monthly
model: ref('fct_pl_monthly')
entities:
- name: company
type: primary
dimensions:
- name: posting_month
type: time
type_params: { time_granularity: month }
measures:
- name: revenue
agg: sum
expr: amount_jpy
agg_filter: account_type = 'revenue'
- name: cogs
agg: sum
expr: amount_jpy
agg_filter: account_type = 'cogs'
metrics:
- name: gross_profit
type: derived
type_params:
expr: revenue - cogs
metrics: [revenue, cogs]
これにより、Tableau/Looker/BigQuery直クエリのどこから呼んでも「売上=同じSQL」が保証されます。
会計向け dbt 実装で頻出するアンチパターン
- Stagingを飛ばして直接Mart: 元テーブル変更で全Martが連鎖破壊
- seed と source の混同: 大量データを seed に入れGitリポを肥大化させる
- full_refresh前提のIncremental: 実際のincremental戦略未定義で月次フル再構築に頼る
- テスト未記述: uniqueとnot_nullだけ書いて借方/貸方合計テストを忘れる
- マスタ変更履歴の無視: 組織コード変更で過去レポートが歴史改ざんされる
- 環境分離不足: 開発/検証/本番の3環境を意識せず単一プロジェクトで運用
FAQ(実務頻出10問)
| 質問 | 回答 |
|---|---|
| Q1:会計データに dbt は必須? | SQLが書けるアナリスト1名以上いる場合、dbtを使わない理由はほぼない。Excel運用との差は1年後の保守性で歴然。 |
| Q2:dbt Cloudのコスト見合うか? | 5人以上のチームならYes。1〜2人体制ならCore+GitHub Actionsで十分。 |
| Q3:会計年度をどう扱うか? | マクロ化(前項参照)して全モデルで共通利用。Mart層では会計月(fiscal_month)と暦月(calendar_month)を両保持。 |
| Q4:複数会計ソフト(freee/MF/SAP)混在は? | Staging層でソース別、Intermediate層で統一フォーマットへ集約。account_master を必ず統合マスタ化。 |
| Q5:監査法人にdbtは説明できるか? | dbt docs(自動生成)+manifest.jsonで「処理の根拠」を全て可視化できる。むしろExcelより説明性が高い。 |
| Q6:内部統制(J-SOX)対応は? | (1)変更管理:Git/PR/レビュー必須化 (2)アクセス管理:DWH側RBAC (3)モニタリング:dbt test失敗のSlack通知。3点セットを文書化。 |
| Q7:データ品質指標は何で測る? | (1)テストPass率 (2)Sources鮮度 (3)モデル実行成功率 (4)Mart層のNull率/重複率。Elementaryで自動可視化。 |
| Q8:dbt vs Dataform vs SQLMesh どれが良い? | 標準=dbt。BigQuery専用ならDataform。大規模で仮想環境テスト重視ならSQLMesh。会計データなら dbt が無難。 |
| Q9:BIへの接続はどう? | Mart層を直接BI接続。Tableau/Looker/Power BIから読み込み。Semantic Layer活用で指標定義を統一。 |
| Q10:人材獲得はどうする? | 「アナリティクスエンジニア」職種で募集。SQL+データモデリング+業務理解(会計知識)の3点セット。経理部からの異動も有効。 |