Compare commits
5 Commits
master
...
ry-yamafuj
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a53960d4b | ||
|
|
25dee69866 | ||
| 32a99580c1 | |||
| be6acf4506 | |||
| d9d7f906a9 |
42
README.md
42
README.md
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
## Dockerコマンド
|
## Dockerコマンド
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -16,6 +15,14 @@ https://qiita.com/kengo-sk8/items/7eb265513d9b0cf3e2df
|
|||||||
|
|
||||||
## データを挿入する
|
## データを挿入する
|
||||||
|
|
||||||
|
WITH dummy_data AS (
|
||||||
|
SELECT * FROM UNNEST([
|
||||||
|
STRUCT('値1' AS column1, '値2' AS column2),
|
||||||
|
STRUCT('値3', '値4')
|
||||||
|
])
|
||||||
|
)
|
||||||
|
|
||||||
|
SELECT * FROM dummy_data;aaaaaaaaaaaaa
|
||||||
|
|
||||||
```
|
```
|
||||||
- ./sql:/var/lib/postgresql/sql
|
- ./sql:/var/lib/postgresql/sql
|
||||||
@ -24,6 +31,35 @@ https://qiita.com/kengo-sk8/items/7eb265513d9b0cf3e2df
|
|||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker exec -it metabase_db psql -U metabase -d metabase_db
|
docker exec -it metabase_db bash
|
||||||
docker exec -i metabase_db psql -U metabase -d metabase_db < /var/lib/postgresql/sql/create_table_sale_data.sql
|
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
|
||||||
|
|
||||||
|
WITH dummy_data AS (
|
||||||
|
SELECT * FROM UNNEST([
|
||||||
|
STRUCT('値1' AS column1, '値2' AS column2),
|
||||||
|
STRUCT('値3', '値4')
|
||||||
|
])
|
||||||
|
)
|
||||||
|
|
||||||
|
SELECT * FROM dummy_data;aaaaaaaaaaaaa
|
||||||
|
|
||||||
|
WITH date_range AS (
|
||||||
|
SELECT date
|
||||||
|
FROM UNNEST(GENERATE_DATE_ARRAY('2023-01-01', '2023-01-10')) AS date
|
||||||
|
)
|
||||||
|
|
||||||
|
SELECT date FROM date_range;aaaaaaaaa
|
||||||
|
|||||||
@ -30,5 +30,11 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 5432:5432
|
- 5432:5432
|
||||||
restart: always
|
restart: always
|
||||||
|
mailhog:
|
||||||
|
container_name: metabase_mailhog
|
||||||
|
image: 'mailhog/mailhog:latest'
|
||||||
|
ports:
|
||||||
|
- '8025:8025'
|
||||||
|
- '1025:1025'
|
||||||
volumes:
|
volumes:
|
||||||
db_volume: {}
|
db_volume: {}
|
||||||
56
documents/HOW_TO_USE.md
Normal file
56
documents/HOW_TO_USE.md
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
### ダッシュボードを作成する
|
||||||
|
|
||||||
|
|
||||||
|
クエスチョン(質問)を保存
|
||||||
|
|
||||||
|
シンプルクエスチョン、カスタムクエスチョン、ネイティブクエリ、いずれかの方法でクエスチョンを作ります。
|
||||||
|
|
||||||
|
**シンプルクエスチョン**
|
||||||
|
|
||||||
|
最も直感的でユーザーフレンドリーなデータ探索方法です。これは、特にSQLやデータベースに関する知識がないユーザーに適しています。シンプルクエスチョンを使用すると、ユーザーはドロップダウンメニューやボタンクリックなどの簡単な操作で、データベースから情報を選択し、基本的な質問を作成できます。
|
||||||
|
|
||||||
|
**カスタムクエスチョン**
|
||||||
|
|
||||||
|
シンプルクエスチョンよりも高度なカスタマイズを提供します。これにより、ユーザーはより複雑なデータ探索と分析を行うことができます。カスタムクエスチョンを使用すると、複数のテーブルを結合したり、特定の計算を実行したり、データをグループ化して集計したりすることが可能になります。
|
||||||
|
|
||||||
|
**ネイティブクエリ**
|
||||||
|
|
||||||
|
最も柔軟性が高く、強力なオプションです。このオプションを使用すると、ユーザーは直接SQLを記述してデータベースに対する質問を作成できます。ネイティブクエリは、データ分析の経験が豊富なユーザーや、特定の複雑なデータ操作を実行したいユーザーに適しています。
|
||||||
|
|
||||||
|
## モデルとは
|
||||||
|
|
||||||
|
Metabaseにおける「Models」は、バージョン0.41以降で導入された機能で、事前に定義されたSQLクエリやカスタムクエスチョンをベースとしたデータモデルを指します。Modelsは、より複雑なデータ分析を容易に再利用可能な形で保存するための方法を提供し、Metabaseユーザーがデータに対する質問を簡単に作成できるようにすることを目的としています。
|
||||||
|
Modelsの主な特徴と利点
|
||||||
|
|
||||||
|
再利用性: Modelsを使用すると、複雑なデータ変換や分析のロジックを保存し、異なる分析やダッシュボード間で再利用することができます。これにより、同じデータ操作を繰り返し行う手間を省きます。
|
||||||
|
|
||||||
|
アクセス制御: データベースのビューと同様に、Modelsを使用すると、特定のデータのみを特定のユーザーグループに公開することができます。これにより、データのセキュリティとプライバシーを維持しつつ、必要な情報にアクセスできるようになります。
|
||||||
|
|
||||||
|
クエリの簡素化: 複雑なSQLクエリやジョインをModel内にカプセル化することで、最終的なユーザーはよりシンプルなクエリやインターフェースを通じてデータにアクセスできるようになります。これにより、SQLに精通していないユーザーでも、必要なデータ分析を行うことが可能になります。
|
||||||
|
|
||||||
|
一貫性の確保: 同じデータセットに対して一貫した分析方法を使用することができるため、組織内でのデータ解釈の一貫性を保つことができます。
|
||||||
|
|
||||||
|
目的
|
||||||
|
①課題修正で以前にOKになったテストの確認と次局時、チャンネル1以外の更新
|
||||||
|
|
||||||
|
・牌譜アプリIF(3Q時ソースがそのまま)
|
||||||
|
・チャンネルと開始チャンネル修正による影響
|
||||||
|
・雀卓ステータス項目のリセット
|
||||||
|
|
||||||
|
観点
|
||||||
|
1. チャンネル-ch1、ch4
|
||||||
|
2. 東1234,南1234
|
||||||
|
3. 牌譜アプリ出力
|
||||||
|
1. start_info.txt
|
||||||
|
2. riichi.txt
|
||||||
|
3. houra.txt
|
||||||
|
4. tarm_over
|
||||||
|
4. ディスプレイ
|
||||||
|
1. 立直、やり直し、やり直し、途中流局
|
||||||
|
2. 和了、流局
|
||||||
|
3. 親あがり、子あがり、親聴牌、子聴牌、点数計算不可
|
||||||
|
4. 局、本場、供託変更、点数変更
|
||||||
|
5. ゲーム終了、ゲーム継続
|
||||||
|
|
||||||
|
局開始時の雀卓ステータス(ゲーム進行)
|
||||||
|
局終了時の雀卓ステータス(OK前)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
15
documents/HOW_TO_USE_MAIL.md
Normal file
15
documents/HOW_TO_USE_MAIL.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
### ダッシュボードの内容をメール送信する
|
||||||
|
|
||||||
|
* 送信するアドレスを選択する
|
||||||
|
|
||||||
|
* 今すぐメール
|
||||||
|
* 定時実行
|
||||||
|
- 毎時、デイリー、ウィークリー、マンスリー
|
||||||
|
* データのフィルター値
|
||||||
|
|
||||||
|
|
||||||
|
クエリの結果が空(つまり、データが一切ない場合)であれば、メールが送信されないようにすることができます。この機能は、不要な通知を避け、受信者が重要な情報のみを受け取るようにするために役立ちます。
|
||||||
|
|
||||||
|
|
||||||
|
* 毎時に更新されているダッシュボードのメールを送信することは可能です
|
||||||
|
* データが更新されるたびに通知することは、Metabaseの機能だけでは不可能
|
||||||
34
documents/SQL.md
Normal file
34
documents/SQL.md
Normal 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
|
||||||
Loading…
x
Reference in New Issue
Block a user