# データセットの作成

## OZデータの構造

### データストア

&#x20;データストアは様々なデータソースをサポートするデータリポジトリです。データベースへの接続、データの定義、データフィールドの構成などの機能をサポートします。データストアのタイプは以下リストのようになります。

| タイプ                             | 説明                                                                                                                       |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| データベース                          | JDBC/ODBC/OLEDB RDBMSをサポート。SQLでデータセットを構成                                                                                 |
| <p>UDS<br>(UserDataSet)</p>     | UDSは一般ファイルデータ(Text、CSV、XML)または外部プログラムデータ (EJB, Servlet, ASP, JSP, Stored Procedureなど)のような様々な形式のデータソースからデータを取得し、データセットを生成 |
| <p>GDS</p><p>(GroupDataSet)</p> | <p>GDSは指定されたフィールド別に全てのデータソースを複数のデータセットとして分けることができるようにサポート　</p><p>GDSはデータセットをマスタ―ディテールセットとして再構成する目的として使用。</p>             |
| ファイル                            | サーバーに存在するCSV、XMLファイル(DTD除外)をパスごとに取得し、データセットを構成                                                                           |
| HTTPストア                         | Web環境に存在する(URLで接近)CSV、XMLファイル(DTD除外)からデータを取得                                                                             |
| SOAPストア                         | ウェブサービスから簡単に結果データを取得するようにサポート                                                                                            |
| XML                             | XMLファイル(DTD・XSDタイプ)からデータを取得                                                                                              |
| SAP                             | SAP R/3 RFCから結果データを取得                                                                                                    |
| CLEAR QUEST                     | IBM Rational Clear Quest programで生成したDBと連携する場合に使用                                                                        |
| トランザクション                        | DML transactionをサポートする機能                                                                                                 |

### データセット

データストアから選択されたデータフィールドの集まりです。データセットの定義する方法はデータストアの形式によって異なります。例えば、データベースのデータセットはクエリによって定義されます。

### ODI(OZ Data Information)

ODI は、データストアを格納する XML形式のファイルです。 OZ e-Form Designerは、ODIを使用してe-Formとデータをバインディングします。

### ODIの階層性

１つのODIファイルは複数のデータストアを含めることができ、1つのデータストアは複数のデータセットを含めることが可能です。

## ODIの作成&#x20;

### クエリデザインモード

| モード      | ユーザー | 説明                              |
| -------- | ---- | ------------------------------- |
| デザインビュー  | 初級   | ドラッグアンドドロップで作成                  |
| クエリビュー   | 高級   | クエリエディターで直接クエリを作成するかクエリをコピーして活用 |
| クエリウィザード | 全体   | インタラクティブモードで高級クエリを作成            |

### クエリウィザード

| タブ      | 説明                   |
| ------- | -------------------- |
| テーブル選択  | FROM句でテーブルを選択        |
| フィールド選択 | 選択リストからフィールドを選択      |
| 結合選択    | 結合条件を定義              |
| 条件選択    | WHERE条件を定義           |
| グループの選択 | GROUP BYとHAVING条件を定義 |
| 並べ替えの選択 | ORDER BY条件を定義        |

## orderList.odiの作成

1. テーブルリストのデータベース配下の**orderList**を右クリックします。
2. **データセットの追加**を選択した後、クエリデータセットの名前を**orderList**と命名します。
3. **デザインビュー**モードでクエリを作成します。
4. アイコンメニューバーの![](/files/-LxybkxhWZJi2R37NE_w)でクエリを実行します。
5. `orderList.odi`として保存します。このクエリは`orderList.ozr`でも活用可能です。

![](/files/-Lzjz7d6m0MSWKxg6dgy)

## orderDetail.odi - Master-Detailデータセットの作成

1\. マスター用の**order**というデータセットを作成します ( 以前の**orderListデータセット**と同一なクエリを使用します。 )

![](/files/-LzkDhllxvO79N7mXBy4)

2\. 詳細のために**detail**というデータセットを作成します。

![](/files/-LzkD5leFM9HSeRFguQ9)

3\. detailの**Master Set**プロパティをorderで設定します。

![](/files/-LzkE2z8cRzROA78tNBs)

4\. トップツールバーの保存アイコンをクリックし、`orderDetail.odi`として保存します。&#x20;

## orderDetailOdiParam.odi - ODIパラメーターの使用

既存に作成したorderDetail.odiを使用します。今回は**order**データセットが1行のみのデータをリターンするように条件文(SalesOrderID使用)を追加します。

1. OZデータツリーで**ユーザーパラメーター**を右クリックし、パラメーターの追加を選択し、`orderID`をユーザーパラメーターとして追加します。
2. WHERE条件を以下画象のように挿入します。

![](/files/-LzkEkYNaGiSKZxskUdV)

&#x20;`orderDetailOdiParam.odi`として保存します。

## ODIパラメーターを使用したMembership.odiの作成

1. **membership**という名前の新しいデータストアを作成します。
2. **member**というデータセットを追加し、ODIパラメーターの**memberNo**を追加します。&#x20;
3. **Manual**モードで、WHERE句を使用して以下のようにクエリを作成します。パラメーターがINTEGER型であるため、パラメーターを引用符で囲む必要はありません。&#x20;
4. アイコンメニューバーの![](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-Lq-pPOWLQFWMl9FcmG8%2F-LwGd0_mFJcAl3ATsRk0%2F-LwGfe5wLYxFhndFU788%2Fqd-run-icon.png?alt=media\&token=53b84cba-4783-4426-aa0a-8874242b1635)でクエリを実行します。
5. `membership.odi`として保存します。このクエリは`membership-odiparam.ozr`でも活用可能です。

![](/files/-Lxxdcv3K6ERShfjnDd_)

## ダウンロード

{% file src="/files/-M4qQiCsqK9plXzwLupk" %}
sample-odi.zip
{% endfile %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jp.ozeform.io/report-design-examples/creating-dataset.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
