Compare commits

..

3 Commits

Author SHA1 Message Date
32a99580c1 sql 2024-03-25 06:50:55 +09:00
be6acf4506 Readmeを更新する 2024-02-12 03:34:01 +09:00
d9d7f906a9 Metabaseメール機能を実装 2024-02-12 03:32:20 +09:00
5 changed files with 103 additions and 2 deletions

View File

@ -24,6 +24,21 @@ https://qiita.com/kengo-sk8/items/7eb265513d9b0cf3e2df
```bash
docker exec -it metabase_db psql -U metabase -d metabase_db
docker exec -i metabase_db psql -U metabase -d metabase_db < /var/lib/postgresql/sql/create_table_sale_data.sql
docker exec -it metabase_db bash
psql -U metabase -d metabase_db < /var/lib/postgresql/sql/create_table_sale_data.sql
```
### Metabaseをテストする
- 初期ユーザーアカウント
dev@example.com
D)EN5x??ze9nw]z
## Mail機能
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_FROM_ADDRESS=info@example.com

View File

@ -30,5 +30,11 @@ services:
ports:
- 5432:5432
restart: always
mailhog:
container_name: metabase_mailhog
image: 'mailhog/mailhog:latest'
ports:
- '8025:8025'
- '1025:1025'
volumes:
db_volume: {}

31
documents/HOW_TO_USE.md Normal file
View File

@ -0,0 +1,31 @@
### ダッシュボードを作成する
クエスチョン(質問)を保存
シンプルクエスチョン、カスタムクエスチョン、ネイティブクエリ、いずれかの方法でクエスチョンを作ります。
**シンプルクエスチョン**
最も直感的でユーザーフレンドリーなデータ探索方法です。これは、特にSQLやデータベースに関する知識がないユーザーに適しています。シンプルクエスチョンを使用すると、ユーザーはドロップダウンメニューやボタンクリックなどの簡単な操作で、データベースから情報を選択し、基本的な質問を作成できます。
**カスタムクエスチョン**
シンプルクエスチョンよりも高度なカスタマイズを提供します。これにより、ユーザーはより複雑なデータ探索と分析を行うことができます。カスタムクエスチョンを使用すると、複数のテーブルを結合したり、特定の計算を実行したり、データをグループ化して集計したりすることが可能になります。
**ネイティブクエリ**
最も柔軟性が高く、強力なオプションです。このオプションを使用すると、ユーザーは直接SQLを記述してデータベースに対する質問を作成できます。ネイティブクエリは、データ分析の経験が豊富なユーザーや、特定の複雑なデータ操作を実行したいユーザーに適しています。
## モデルとは
Metabaseにおける「Models」は、バージョン0.41以降で導入された機能で、事前に定義されたSQLクエリやカスタムクエスチョンをベースとしたデータモデルを指します。Modelsは、より複雑なデータ分析を容易に再利用可能な形で保存するための方法を提供し、Metabaseユーザーがデータに対する質問を簡単に作成できるようにすることを目的としています。
Modelsの主な特徴と利点
再利用性: Modelsを使用すると、複雑なデータ変換や分析のロジックを保存し、異なる分析やダッシュボード間で再利用することができます。これにより、同じデータ操作を繰り返し行う手間を省きます。
アクセス制御: データベースのビューと同様に、Modelsを使用すると、特定のデータのみを特定のユーザーグループに公開することができます。これにより、データのセキュリティとプライバシーを維持しつつ、必要な情報にアクセスできるようになります。
クエリの簡素化: 複雑なSQLクエリやジョインをModel内にカプセル化することで、最終的なユーザーはよりシンプルなクエリやインターフェースを通じてデータにアクセスできるようになります。これにより、SQLに精通していないユーザーでも、必要なデータ分析を行うことが可能になります。
一貫性の確保: 同じデータセットに対して一貫した分析方法を使用することができるため、組織内でのデータ解釈の一貫性を保つことができます。

View File

@ -0,0 +1,15 @@
### ダッシュボードの内容をメール送信する
* 送信するアドレスを選択する
* 今すぐメール
* 定時実行
- 毎時、デイリー、ウィークリー、マンスリー
* データのフィルター値
クエリの結果が空(つまり、データが一切ない場合)であれば、メールが送信されないようにすることができます。この機能は、不要な通知を避け、受信者が重要な情報のみを受け取るようにするために役立ちます。
* 毎時に更新されているダッシュボードのメールを送信することは可能です
* データが更新されるたびに通知することは、Metabaseの機能だけでは不可能

34
documents/SQL.md Normal file
View File

@ -0,0 +1,34 @@
WITH User5Data AS (
select
ROW_NUMBER() OVER (ORDER BY timestamp) as `id`,
timestamp as `日時`,
user_name as `名前`,
-- user_info as `情報`,
JSON_EXTRACT(user_info, '$.age') as `年齢_情報`,
from
gcp_bq_dev.dbbq_value
where
DATE(timestamp)=DATE({{tdate}}) and
(user_name = 'user5'
or user_name = 'user2')
),
User1Data AS (
select
ROW_NUMBER() OVER (ORDER BY timestamp) as `id`,
timestamp as `日時`,
user_name as `名前`,
-- user_info as `情報`,
JSON_EXTRACT(user_info, '$.gender') as `性別_情報`,
from
gcp_bq_dev.dbbq_value
where
DATE(timestamp)=DATE({{tdate}}) and
user_name = 'user1'
)
SELECT
*,
DATE({{tdate}})
FROM User5Data u5
FULL OUTER JOIN User1Data u1 ON u5.id = u1.id
ORDER by u5.id