軽技Webで結合テーブル帳票作成してみた。


# はじめに
軽技Webの使い方手順をExcelベースに落とし込んでみたのですが、
自分ができるように細かく書いてみたので備忘録としてここにも残しておこうと思います。
かなり長いのでスクロール大変だと思います・・・
番号で区切るのでゆっくり読んでくださるとよろしいと思います。

# 目次
1.出てくるワード
2.経緯
3.前提条件
4.手順(1)DB選択
5.手順(2)結合テーブル選択
5.手順(3)結合設定
6.手順(4)検索方法・項目選択
7.手順(5)サマリー指定
8.手順(6)検索条件指定
9.手順(7)並び替え指定
10.手順(8)確認画面
11.手順(9)項目設定
12.手順(10)書式設定
13.手順(11)転送設定
14.手順(12)作成した条件を保存
15.手順(13)保存条件を呼び出し
16.手順(14)実行確認・検索結果
17.おわりに
18.参考ドキュメント

# 1.出てくるワード
今回の記事で出てくるワードについて

    軽技Web・・・データ活用による業務改善を実現するBIプラットフォーム　※1
    
    

# 2.経緯
軽技Webで結合テーブルからなる帳票を作成する際、どのような手順を踏むと作成できるかを手順書にまとめてみました。


# 3.前提条件
データベースはOracleDBを利用、軽技WebはPoCのため試用版。


# 4.手順(1)DB選択
ログイン後、作成する帳票のベースが格納されているDBをタイトルから選択、接続を行います。
![db接続.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/64fbbc44-2a7c-3c79-18e2-f41e2096e253.png)

# 5.手順(2)結合テーブル選択
SQLでいうと結合条件に使用するテーブルを選択するフェーズになります。
![table選択.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/20fc660d-279c-5155-e1ee-00b0f0092fad.png)

```sql:結合条件例.sql
WHERE
( V_VIEW_NAME_A.'カラム名'=TABLE_NAME_H.'カラム名'(+)  )
AND  ( V_VIEW_NAME_A.'カラム名'=V_VIEW_NAME_B.'カラム名'  )
AND  ( V_VIEW_NAME_A.'カラム名'=TABLE_NAME_E.'カラム名'(+)  )
AND  ( V_VIEW_NAME_A.'カラム名'=V_VIEW_NAME_C.'カラム名'  )
AND  ( V_VIEW_NAME_D.'カラム名'(+)=V_VIEW_NAME_A.'カラム名')
AND  ( TABLE_NAME_G.'カラム名'=V_VIEW_NAME_F.'カラム名'  )
AND  ( V_VIEW_NAME_A.'カラム名'=V_VIEW_NAME_F.'カラム名'  )
AND  ( V_VIEW_NAME_A.'カラム名'=V_VIEW_NAME_F.'カラム名')
AND  ( V_VIEW_NAME_A.'カラム名'=V_VIEW_NAME_F.'カラム名'  )
```
# 5.手順(3)結合設定
上記で記載したSQLの結合条件箇所にあたる設定をここで行っています。
![結合設定.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/a3e283d1-5d75-9ec5-503a-8a8070b3d174.png)

結合方法は以下の4つ

１．（＋）の記載がないとき
![等価結合.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/4be6fe77-f087-f849-7ca8-6544be531ff3.png)
例：V_VIEW_NAME_A.カラム名=V_VIEW_NAME_C.カラム名

２．右辺に（＋）が記載されているとき（LEFT OUTER JOIN）
![左側外部結合.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/1680d2ea-e968-5550-f7e2-f05fc79bc0b3.png)
例:V_VIEW_NAME_A.カラム名=TABLE_NAME_H.カラム名(+) 

３．左辺に（＋）が記載されているとき（RIGHT OUTER JOIN）
![右側外部結合.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/bfd0512d-ebdd-c0fe-ecaf-ece852d75dfb.png)
例：V_VIEW_NAME_D.カラム名(+)=V_VIEW_NAME_A.カラム名

４．今回出現なしFULL OUTER JOIN
![完全外部結合.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/10e038a8-2d17-be63-96b8-7f66f3f09f4b.png)
ここはOracleだとどのような文言になるのかわかりません汗　教えてください。

:::note warn
1.今回はORACLEの場合で、移行元のSQLが古い形式でしたので外部結合演算子が含まれております。
2.現在は外部結合演算子は非推奨で、JOIN句を使うのが正しいみたいです。(独自調査)
:::

設定完了させた後、次へを押します。
![次へを押す.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/a6445e8d-6b1f-b6e4-add6-1c5d7d917c77.png)


# 6.手順(4)検索方法・項目選択
検索方法で使用する項目を選択します。
（デフォルトは通常。ユニオンやユニオンサマリー等が作成可能）
使用する項目を選択して右側のボックスに追加していきます。その後次へを押します。
![検索方法・項目選択.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/a9d89d22-e75a-efe2-f4e7-52eb514090bc.png)

# 7.手順(5)サマリー指定
サマリーする項目を選択し、それ以外をサマリーキーへ選択追加します。
![サマリー指定.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/01dd085b-abd8-305d-3113-a3be2da3b055.png)

下にスクロールすると、サマリー動作指定の設定があります。こちらの設定を任意で行います。
(画像はデフォルト設定)
![サマリー動作指定.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/798623e1-3c09-e225-a0d2-5c331db90656.png)

# 8.手順(6)検索条件指定
条件区分を選択後、検索条件を設定します。（結合子、項目名、演算子、比較値を設定）
![検索条件指定.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/e1b4b195-9efd-bea4-8b5f-0c15d1f18b68.png)

SQLだと以下のようなイメージです。
```sql:検索条件例.sql
AND (TABLE_NAME_G.'カラム名'  =  '0A00'
AND TABLE_NAME_G.'カラム名'=0
AND V_VIEW_NAME_A.'出納年月日'  BETWEEN  '22-06-01'  AND  '22-11-30'
AND V_VIEW_NAME_A.'カラム名'  IN  ( '1','2','3','4'  )
AND V_VIEW_NAME_F.'カラム名'  <  50000
AND V_VIEW_NAME_A.'カラム名'  NOT IN  ( '90','91','92'  )
AND V_VIEW_NAME_A.'カラム名'  IN  ( '40','42','43','45','46'  )
AND V_VIEW_NAME_A.'カラム名'='1');
```

出納年月日の比較値を例に挙げます。
こちらのInputと書かれたボタンを押すと要件が切り替わります。
Input関数は画面検索時に任意で入力をすることができるようになる関数になります。
？を押すとポップアップが表示され、関数の設定を行うことができます。
![比較値.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/6aa5f727-3512-fb59-5816-037cbac07418.png)
演算子「BETWEEN」なので範囲項目の入力箇所が2つ発生しているのでそれぞれ設定します。
![ポップアップ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/760702ca-5d41-42e3-8826-2b0bc2a94a1f.png)

# 9.手順(7)並び替え指定
出力する帳票の項目の並び替えが必要な場合、任意で並び替えを実行します。
指定後、次へを押す。
![並び替え指定.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/5f7ef053-cd7b-f942-c6c2-57eb6294fd76.png)

# 10.手順(8)確認画面
確認画面タグで実行設定を確認します。赤枠内はデフォルト設定です。
![確認・実行.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/2b779da6-f854-b907-7cca-baf6d62cde3e.png)

# 11.手順(9)項目設定
項目設定タブへ移動し、項目の名称変更を任意で設定します。
![項目設定.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/bdba39cb-0d0d-8624-ebe1-242b8033c90b.png)

# 12.手順(10)書式設定
書式設定タブでは表示される結果の表の色や書式を変更できます。
![書式設定1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/42d68950-0418-1dc9-e880-5d9e2cb775cc.png)

明細行設定の下部まで移動します。
![書式設定2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/7e16405b-13a3-0f46-3c34-9a7258aadb12.png)

今回は赤枠内の数値書式と日付書式の設定を変更しました。
![書式設定3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/0888727f-015e-417c-d72d-c306873bdb12.png)

# 13.手順(11)転送設定
転送設定項目では結果をCSVやExcel出力ができるように設定することができます。
またテンプレートを用意している場合、それによる出力も可能です。
![転送設定.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/683830fb-b8ef-8264-5467-e1bd2a3f60e2.png)

# 14.手順(12)作成した条件を保存
新規保存を押し、タイトル、説明を任意で入力後、保存を押します。
![確認実行.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/f302fec8-8170-51b4-57fc-f24eca5a7e5c.png)

# 15.手順(13)保存条件を呼び出し
保存した条件を呼び出すには左側のメインメニューから「保存条件で検索」をクリックします。
![保存条件検索.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/37c80fdf-8923-b4e7-3206-82654f87fe80.png)

作成した条件名を一覧から見つける。
今回は「V_出納伝票チェック_案3_TEST」を例としてクリックします。
![保存条件検索②.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/461df14a-16ef-ea45-77c5-fb0f57cc6418.png)

# 16.手順(14)実行確認・検索結果
設定した任意の日付を入れて実行してみます。
![検索結果.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/769e61e4-19c3-7c5e-3c3a-9c71a29f3403.png)

データはお見せできませんが、想定通りの結果が表示されていました。
赤枠内の項目が転送設定を行った項目でCSVやExcelを選んで転送をクリックするとファイルが出力されます。
![検索結果②.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2992046/98e907e6-7e0a-5962-6a96-b8cb8b15a6e2.png)

# 17.おわりに
初めて触るツールだったのですが、なかなかおもしろいなあと思いました。
マニュアル確認しながらこれができる、これができないを探っていくのはわくわくしてました。
しかし、これを一般ユーザーが設定していくとなるとかなり骨が折れそうなので手順書を書き起こしたという経緯があります。
軽技Webで結合テーブル帳票作ろうかなという方の参考になると幸いです。

# 18.参考ドキュメント
※1

https://www.karuwaza.com/karuwaza/?gclid=CjwKCAiAzKqdBhAnEiwAePEjktos5_g_qHdYnY7Ka9QydHl-l4rOMFSNZmkezl1ZGTj0XhH-dxzNSxoCrmwQAvD_BwE