[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp/index.php?FrontPage]] 「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>QandAAnalysisEngineの開発で検討したこと。#y76d0166]] --[[業務プロセス>QandAAnalysisEngineの業務プロセス]] --画面 --[[テーブル>QandAAnalysisEngineのテーブル]] --[[SQL>QandAAnalysisEngineのSQL]] *目次 [#o97fb9a3] #contents *概要 [#ba6e270a] 画面について。 *区分 [#jf8f099f] **コンテンツ画面 [#o4bbf71b] [[HTML/CSS/JavaScript]]技術を中心に使用して開発する。 **[[コンテンツ画面の生成画面>コンテンツ画面の生成]] [#sebe5c46] エンプラ寄りのWeb Forms技術を使用して開発する。 **カスタマイズ画面 [#f0937daa] エンプラ寄りのWeb Forms技術を使用して開発する。 ***画面初期化情報の入力・編集処理 [#p35ab644] 画面初期化情報の入力・編集画面をコンテンツ画面毎に開発する。 -[[画面初期化情報テーブル>QandAAnalysisEngineのテーブル#o314802e]] -[[画面初期化情報のJSONフォーマット]] ***画面初期化情報のJSON情報から入力・編集フィールドを自動生成 [#r4a168b8] -廃案~ 始めは、非構造化データの定義によりカスタマイズ画面の生成も可能にしようと考えていたが、~ 現在は、非構造化データの仕様が複雑になる割に、画面レイアウトの品質が上がらないため取り止め。~ 従って、現時点では、コンテンツ画面と1対1でカスタマイズ画面を作成する方向で考えている。 **条件検索と集計・グラフ表示機能 [#s69312b8] エンプラ寄りのWeb Forms技術を中心に使用して開発する。 -通常の条件検索と集計・グラフ表示機能を実装する。 -グラフ表示は、[[ChartControl>https://techinfoofmicrosofttech.osscons.jp/index.php?Chart%20%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB]]を使用する。 -参考 --【初級編⑪】SQLのGROUP BYでレコードのグループ化と集計を行う | SQLServer2008虎の巻~ http://kaya-soft.com/sqlserver2008-toranomaki/beginner/groupby/ ***ボタンIDの集計 [#m31fa83d] -集計処理 --集計対象 : ボタンID(GROUP BY ボタンID) --集計関数 : COUNT(*) -参考 --円グラフ/ドーナツ・グラフで結果を表示する。 ---[ASP.NET]チャート・コントロールで円グラフ/ドーナツ・グラフを作成するには?[3.5、C#、VB] - @IT~ http://www.atmarkit.co.jp/fdotnet/dotnettips/1001aspchartpie/aspchartpie.html ---[ASP.NET]チャート・コントロールに凡例を追加するには?[3.5、C#、VB] - @IT~ http://www.atmarkit.co.jp/fdotnet/dotnettips/1002aspchartlegend/aspchartlegend.html ***期間の中でのボタンIDの集計結果の変化 [#v77ac69b] -集計処理~ 以下のクエリは、クエリ毎にCASE WHENを指定する必要があり汎用化できない。~ 従って、通常の集計クエリを期間毎に発行するようにするのが良いと考える。~ select date_part('month', 日付) as 月, count (CASE WHEN ボタンID = 1 THEN TRUE ELSE NULL END) AS AAAAA, count (CASE WHEN ボタンID = 2 THEN TRUE ELSE NULL END) AS BBBBB, count (CASE WHEN ボタンID = 3 THEN TRUE ELSE NULL END) AS CCCCC, count (CASE WHEN ボタンID = 4 THEN TRUE ELSE NULL END) AS DDDDD from 結果テーブルの条件検索の結果セット group by 日付 order by 日付; -上記のクエリで得られる結果セット(取得したい結果セット)~ 通常の集計クエリを期間毎に発行する場合、~ 期間(月)毎に発行したクエリから得た結果セットを和結合したものに同じ。 |月|AAAAA|BBBBB|CCCCC|DDDDD|EEEEE|h |1|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値| |2|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値| |3|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値| |4|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値| |5|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値| |6|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値|条件付きcount集計値| -参考 --積み上げ棒グラフで期間毎の結果を表示する。 ---[ASP.NET]チャート・コントロールで積み上げ棒グラフを作成するには?[3.5、C#、VB] - @IT~ http://www.atmarkit.co.jp/fdotnet/dotnettips/1004aspchartstack/aspchartstack.html~ SeriesオブジェクトのChartTypeプロパティを変更することで、~ ・ 積み上げ棒グラフ(StackedColumn)、~ ・ 横方向の100%積み上げ棒グラフ(StackedBar100)、~ ・ 100%積み上げ面グラフ(StackedArea100)~ なども表現できる。 --CASE WHEN 等の条件式を記述し、(月毎などの)条件付き集計(PostgreSQL) ---PostgreSQL: 条件付き集計 : 都筑総研~ http://blog.livedoor.jp/g0031067/archives/51879514.html ---月ごとの集計をするSQL | SEとDIY~ http://choice-site.com/2013/04/26/%E6%9C%88%E3%81%94%E3%81%A8%E3%81%AE%E9%9B%86%E8%A8%88%E3%82%92%E3%81%99%E3%82%8Bsql/ --substringを使用し、上n桁単位などで集計 ---郵便番号上3桁単位で人数集計をするSQLをかきたいと思いますが... - Yahoo!知恵袋~ http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1114025801 *画面の説明 [#je58c48b] **メンテナンス画面 [#c1e45966] ***ユーザ [#icc1ea97] -ユーザ・テーブルのCRUD画面 --R:サイン・イン、サイン・アウト --C:サイン・アップ画面 --U:編集画面 -企業テーブルのCRUD画面 --R:企業検索 --C:企業登録 --U:企業編集 -店舗テーブルのCRUD画面 --R:店舗検索 --C:店舗登録 --U:店舗編集 --D:店舗削除 -端末テーブルのCRUD画面 --R:端末検索 --C:端末登録 --U:端末編集 --D:端末削除 ***画面 [#g715f8a4] -画面テーブルのCRUD画面 --R:画面検索 --C:画面登録 --U:画面編集 --D:画面削除 **カスタマイズ画面 [#bb02e1d0] ***画像テーブルのCRUD画面(画像アップローダ) [#x4467ac1] --R:画面検索 --C:画面登録 --U:画面編集 --D:画面削除 ***画面初期化情報テーブルのCRUD画面 [#o785ed26] CRUDではなく、コンテンツ画面毎に開発する。 **コンテンツ画面 [#lf762213] ***1クリック・パターン [#a3f8ba81] ***2クリック・パターン [#v5c8d425] **集計画面 [#p37fb3d8] ***集計画面1 [#ief042ad] 円グラフ/ドーナツ・グラフで結果を表示する。 ***集計画面2 [#a904e7ab] 積み上げ棒グラフで期間毎の結果(の変化)を表示する。