リレーショナルレポーティングのためのオープンフォーマットおよび組み込み可能なエンジン——すべてのレポートは、ポータブルなクエリグラフ、マテリアライズドSQLiteテーブル、そしてパラメトリックレイアウトとして表現されます。
MADは、アドホッククエリ、レポーティング、およびレポート設計のための組み込み型リレーショナルレポーティングプラットフォームです。iOSおよびネイティブmacOS(AppKit)向けのMAD DesignerおよびMAD Viewerアプリケーション、LinuxおよびmacOS上でそれらをヘッドレス実行するエンジン、そしてオープンな.madドキュメントフォーマットで構成されています。.madファイルは、データベースのスキーマスナップショット、クエリグラフ(テーブル、結合、述語、グループ化)、および各要素のバンド型レイアウトというレポート定義全体を100 KB未満で保持し、更新(リフレッシュ)時に生成されるマテリアライズドSQLiteテーブル(.maddb + .mdcache)から明確に分離されています。
ソースコードはgithub.com/mthomason/MADにてMITライセンスで公開されています。なお、名称およびアプリケーションのアートワークは同ライセンスの対象外です(NOTICEを参照)。
macOSでMAD Designerを試す(macOS 12.0以降、Apple Silicon):
- Homebrew:
brew install --cask mthomason/tap/mad-designer
直接ダウンロード: MAD-Designer-macOS.dmg MAD-Designer-macOS.zip (直接ダウンロードして /Applicationsへ配置した場合は、初回起動前に一度xattr -cr "/Applications/MAD Designer.app"を実行してください)
MAD Designer for macOS——ネイティブAppKitデスクトップアプリケーション(NSDocument、視覚的なテーブル/結合クエリキャンバス、インタラクティブなセクションミニマップおよびバンド型レポートデザイナー、ページ分割されたPDF/HTML/CSV/JSONレポートビューアを搭載):


MAD Designer for iOS——データソースの選択からMAD Viewerで完成したレポートを閲覧するまで:
Linux上でヘッドレス動作する同一エンジン:データベースサーバーも認証情報も不要で、mad CLIからinspect、schema、query、refresh、exportを実行:

録画内で生成されたエクスポート済みレポートはプレーンなHTMLであり、任意のブラウザで開くことができます。
.madファイルはスキーマ契約、クエリAST、およびプレゼンテーションレイアウトを、検査可能かつdiff可能な単一のアーティファクトにパッケージ化します。これにより、AppleプラットフォームとLinuxの間でバイト単位で同一のSQLおよびエクスポート結果が得られます。libpq、SQLite)と、アーカイブ用のlibarchive/bzip2およびバーコード用のzintのみに限定されており、プロプライエタリなレポーティングSDKの再販ではありません。MADDataTableFast)に読み込み、そこから2パスのグループ化と集計を計算するため、スマートフォンの限られたメモリ内でも高速なページ分割レンダリングが可能です。.madコンテナはポータブルなSQLiteストアを格納したbzip2圧縮tarアーカイブであり、開くためにApple製フレームワークを必要としません。.madフォーマット仕様1ファイル1章で構成されたオープン仕様書です:
ドキュメントとは何か ·
コンテナ ·
ストア ·
読み込みと書き込み ·
コンパニオンファイル ·
注意点・ハザード ·
規定仕様 v1 ·
未解決の論点 ·
検証
AppKitデスクトップアプリ:視覚的なクエリキャンバス、ミニマップとインスペクタを備えたバンド型レポートデザイナー、ページ分割ビューア、およびソースからのビルド・パッケージ化手順。mad CLI——Dockerから1行のコマンドで.madを検査、更新、エクスポート。.madをGitHub Actionsで実行し、エクスポート結果をアップロード(mthomason/mad-action@v1)。MADDatabaseをサブクラス化し、ドライバを登録して行データを返す方法。ビジョン——コンポーザブルなデータベーステーブルとしてのレポート、単一レポート内でのマルチデータソースクエリ、紙のパラダイムを超えたネイティブUIKitデータビュー、およびレガシーなCrystal Reports(.rpt)からオープンな.madファイルへの変換。
このエンジン上に構築されたレポートデザイナーアプリMAD Designerの製品サイトはmad.everydayapps.comで公開されています。
このページは英語原文の日本語翻訳です。内容に相違がある場合は、英語原文が優先されます。