0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ファウンドリでカスケード(絞り込み)検索フィルターを作成する

Posted at

はじめに

Sharperlightのファウンドリは、Webアプリケーションの作成をサポートするツールです。データベースのデザインから入力フォームまで設計できます。
今回は、入力フォーム上にカスケードルックアップを作成する方法をご紹介します。
カスケードルックアップとは何かを説明します。
都道府県と市町村を入力する場合を例とします。ある都道府県を一覧から選択し、次に市町村を選択する場合、市町村の一覧は、先に選択した都道府県に属する市町村のみに限定されるといったルックアップ(検索)機能です。

Sharperlight ファウンドリの使用

Sharperlightアプリケーションメニューより、ファウンドリを選択します。
image.png
ファウンドリが起動します。

製品タブ

image.png
製品タブでは、これから作成するシステム(製品)の概要を記載します。あらかじめ規定値が各オプションに設定されています。
今回は、製品コード説明著者およびデータベースを以下のように書き換えます。
製品コード: Sharperlightのデータモデルのコードおよびそのファイル名となります。
データベース: ファウンドリによって作成されるデータベース名を指定します。

さらにテーブル名に接頭辞を付与テストデータの作成オプションを無効にします。
image.png

テーブルタブ

ここでは、データベーステーブルを設計します。
image.png

都道府県テーブル

都道府県の一覧およびその関連情報を保存するテーブルです。都道府県テーブルの属性は以下のように設定します。
分類: Dimensionを指定します。Dimensionは、"参照データ保存用テーブル”といった意味です。対して、Factは取引データ等の動的なデータを保存するためのテーブルを意味します。
メニュー: ファウンドリによって作成されるレポートメニューにこのテーブルへのリンクを設定します。
書き戻しを許可: このテーブルへのデータの書き込みを許可します。
image.png

市町村テーブル

市町村の一覧およびその関連情報を保存するテーブルです。市町村テーブルの属性は以下のように設定します。
image.png

発生件数テーブル

なんらかの統計データを保存するテーブルをひとつ用意します。分類にFactを指定するべきですが、ここではDimensionのままにしておきます。
image.png

フィールドタブ

ここでは、先に定義した各テーブルのフィールドを定義していきます。
image.png


都道府県テーブルのフィールド

Code(コード)、Name(名称)、Description(摘要)の三つのフィールドを準備します。
image.png

Code(コード)

一意のコードを保持するフィールドです。
レポートフィルター: 都道府県テーブルがWEBレポートとして使用される場合、このフィールドをプロンプト(フィルター)として使用します。
ドロップダウンリスト: 都道府県テーブルがWEBレポートとして使用され、このフィールドがプロンプトとして使用される場合、ドロップダウンコントロールを使用します。
image.png
高度な設定を使用します。ボタンを押すと専用ダイアログが開きます。
ここでは、入力フォームの設計を行えます。今回は入力スタイルドロップダウンリスト-検索-説明を表示を指定。
image.png

Name(名称)

各コードの名称を保持するフィールドです。
image.png
ここでも高度な設定を使用します。設定内容は、Code(コード)フィールドと同じです

Description(摘要)

各行の適用を保持するフィールドです。
image.png
ここでも高度な設定を使用します。ボタンを押すと専用ダイアログが開きます。
Description(摘要)には、検索ボタンが要らないのでルックアップボタンの非表示を選択します。
image.png


市町村テーブルのフィールド

都道府県、Code(コード)、Name(名称)、Description(摘要)の三つのフィールドを準備します。
image.png

都道府県

都道府県コードを保持するフィールドです。(データベース内では都道府県IDが保持されます。)
image.png
カスケード: 市町村テーブルがWEBレポートとして使用される場合、このフィールドをカスケード(絞り込み)検索フィルターとして使用します。
結合: 都道府県テーブルとの結合を指定しています。
高度な設定を使用します。ボタンを押すと専用ダイアログが開きます。
ここでは、入力フォームの設計を行えます。今回は入力スタイルドロップダウンリスト-検索-説明を表示を指定。
image.png

Code(コード)

一意のコードを保持するフィールドです。
都道府県テーブルのCode(コード)フィールドと同じ設定。
image.png
カスケード: 市町村テーブルがWEBレポートとして使用される場合、先の都道府県コードフィールドと対でこのフィールドをカスケード(絞り込み)検索フィルターとして使用します。

Name(名称)

各コードの名称を保持するフィールドです。
都道府県テーブルのName(名称)フィールドと同じ設定。

Description(摘要)

各行の適用を保持するフィールドです。
都道府県テーブルのDescription(摘要)フィールドと同じ設定。


発生件数テーブルのフィールド

都道府県、市町村、件数の三つのフィールドを準備します。
image.png

都道府県

都道府県コードを保持するフィールドです。(データベース内では都道府県IDが保持されます。)
市町村テーブルの都道府県フィールドと同じ設定。

市町村

市町村コードを保持するフィールドです。(データベース内では市町村IDが保持されます。)
image.png
カスケード: 発生件数テーブルがWEBレポートとして使用される場合、先の都道府県コードフィールドと対でこのフィールドをカスケード(絞り込み)検索フィルターとして使用します。
結合: 市町村テーブルとの結合を指定しています。市町村コード以外に都道府県コードを結合に指定します。
高度な設定を使用します。ボタンを押すと専用ダイアログが開きます。
ここでは、入力フォームの設計を行えます。今回は入力スタイルドロップダウンリスト-検索-説明を表示を指定。

件数

なんらかの数値が保持されるフィールドです。
image.png


テストデータの準備

ここまでで基本設定は完了しています。保存ボタンで設定を保存しましょう。
実行ボタンで、ファウンドリは設定情報に従って、データベース、データモデル、メニューレポート等を作成します。しかしながらテストデータの作成オプションを無効化しているのでテストデータの作成はされません。
そこで、テストデータを作成するSQLスクリプトを準備して、後プロセスプロパティに設定します。

USE [日本の会社]
GO
INSERT [dbo].[都道府県] ([Code], [Name], [Description]) VALUES (N'TKO', N'東京都', N'首都')
INSERT [dbo].[都道府県] ([Code], [Name], [Description]) VALUES (N'WKY', N'和歌山県', N'近畿地方')
INSERT [dbo].[市町村] ([Code], [Name], [Description], [都道府県_ID]) VALUES (N'KIT', N'北区', N'Desc 1', 1)
INSERT [dbo].[市町村] ([Code], [Name], [Description], [都道府県_ID]) VALUES (N'TOS', N'豊島区', N'Desc 2', 1)
INSERT [dbo].[市町村] ([Code], [Name], [Description], [都道府県_ID]) VALUES (N'MIN', N'港区', N'Desc 3', 1)
INSERT [dbo].[市町村] ([Code], [Name], [Description], [都道府県_ID]) VALUES (N'KUS', N'串本町', N'Desc 1', 2)
INSERT [dbo].[市町村] ([Code], [Name], [Description], [都道府県_ID]) VALUES (N'KOZ', N'古座川町', N'Desc 2', 2)

このSQLスクリプトをここに設定。

image.png

image.png


アプリケーションの作成

実行ボタンで、ファウンドリは設定情報に従って、データベース、データモデル、メニューレポート等を作成します。
image.png

image.png

NOを選択します。
image.png

生成が終了すると、自動でメインページがお手持ちのブラウザで起動します。但し、Sharperlightファウンドリが、Administrator権限で起動されていない場合、Sharperlightサービスの再起動がされていない場合があります。
Sharperlightのクライアントセットアップで、データベースの接続設定を確認後、WindowsサービスダイアログからSharperlightサービスの再起動を行います。
image.png

image.png

このようなメインページが表示されればOKです。
image.png


検証

カスケード(絞り込み)検索フィルターの検証を行いましょう。
メインページのTablesメニューから、発生件数を選択します。
image.png

+アイコンをクリックし、入力フォームを起動します。
image.png
image.png

都道府県ドロップダウンから東京都を選択します。
次に、市町村ドロップダウンを開きます。いかがでしょうか?東京都の区だけが表示されいますか?
image.png

都道府県ドロップダウンで和歌山県を選択するとどうですか?和歌山県に属する市町村のみが表示されましたか?
image.png

おわりに

今回は簡単な例を用いてカスケード(絞り込み)検索を作成してみました。是非皆さんの業務にお役立てくださいね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?