線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1431
推到 Plurk!
推到 Facebook!

如何利用圖表,呈現drill down的多維分析

尚未結案
goodjimmy
一般會員


發表:20
回覆:26
積分:9
註冊:2004-02-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-06 08:08:48 IP:218.162.xxx.xxx 未訂閱
請問各位高手: 我現在的查詢類別有,性別、科別、醫生等類別,我利用dbchart來查詢資料庫的數值,會呈現出長條圖、圓餅圖等,如果我想用資料倉儲中的多維分析,drill down的功能,我可以利用那些元件,來幫我達成下列的方式查詢呢? 例如: 使用者欲查詢,某科別中的醫生,在醫生中的某性別病患 意謂著 科別--醫生--性別,這樣的向下探鑽 但是,根節點是靈活的,也可以用 醫生--科別--性別 目前我是用treeView的元件,去呈現該類別,但是不能依照上列的查詢方式,去判斷,且數值的回傳sql語法,也有待商確。 耐的住被人磨,則會像鑽石一樣發光
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-06 10:09:50 IP:218.170.xxx.xxx 未訂閱
這問題我有興趣 可否提供詳細的規格,table shema 其實用treeview也可以做到,看程式怎麼寫吧...
sanhang
一般會員


發表:12
回覆:25
積分:17
註冊:2002-08-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-06 13:03:24 IP:203.67.xxx.xxx 未訂閱
引言: 請問各位高手: 我現在的查詢類別有,性別、科別、醫生等類別,我利用dbchart來查詢資料庫的數值,會呈現出長條圖、圓餅圖等,如果我想用資料倉儲中的多維分析,drill down的功能,我可以利用那些元件,來幫我達成下列的方式查詢呢? 例如: 使用者欲查詢,某科別中的醫生,在醫生中的某性別病患 意謂著 科別--醫生--性別,這樣的向下探鑽 但是,根節點是靈活的,也可以用 醫生--科別--性別 目前我是用treeView的元件,去呈現該類別,但是不能依照上列的查詢方式,去判斷,且數值的回傳sql語法,也有待商確。 耐的住被人磨,則會像鑽石一樣發光
提供一點意見 樓主所提的好像就是OLAP跟BI的範圍 透過不同的dimension以Drill-down、Drill-through的方式呈現不同的資訊 也可以用PivotTable呈現分析過的資料 想單純用DBChart應該是沒辦法做到 我記得Delphi好像有一組Decision Cude的元件,不過沒用過 如果您主要是公司應用的話,且預算足夠,建議您可以向外買一套好的BI Package 如果預算不夠,但是公司有SQL Server授權的話 可以試試看SQL Server中的Analysis Services Reporting Services (或是未來會boudle的ActiveViews) 會比您自行開發要來的好
goodjimmy
一般會員


發表:20
回覆:26
積分:9
註冊:2004-02-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-06 15:17:32 IP:218.162.xxx.xxx 未訂閱
呵!!,我知道sqlserver也有提供元件,只是boss希望我用coding的方式 目前,我是有想到用treeview複選的功能 選擇不同類別,ex:可以選擇,男性,加上某位醫生,加上某科別,加上某病房 以此類推去複選,不過好像有點死,不靈活,呵 dbchart,的確沒有提供多維度的呈現,fxchart才有,只不過因為我的運算過程都設計放於view的設計上,在資料庫已經運算好,將資料回傳而已    我程式的sql是:
select inh_yyymm as  day ,inh_sex,inh_docid,inh_setno,inh_broom,inh_ptct,inh_total, inh_psex as value from v_inh where inh_yyymm between 日期
提供資料庫的表格,和view的用法
表格欄位
create table INH(
INH_SECTNO (科別)                         VARCHAR2(4)NOT NULL,
INH_YYYMM  (日期年月)                     VARCHAR2(5)NOT NULL,
INH_DOCID  (醫生編號)                     VARCHAR2(4)NOT NULL,
INH_BROOM  (病房編號)                     VARCHAR2(4)NOT NULL,
INH_SEX    (性別)                         VARCHAR2(3),
INH_PTCT   (住院人數)                     NUMBER(5)NOT NULL,
INH_THDCT  (超過30天住院人數)            NUMBER(6)NOT NULL,
INH_SUMDAY  (平均住院日)                  NUMBER(6)NOT NULL);    以下是view的用法利用它來運算公式    create view vw_INH(inh_total,inh_yyymm) as  select                                                                                         
sum(inh_ptct),inh_yyymm from inh
 group by inh_yyymm ; 
commit;    create view v_inh(inh_yyymm,inh_sex,inh_docid,inh_sectno,inh_broom,inh_ptct,inh_thday,inh_sumday,inh_total,inh_psex,inh_thdct,inh_avgday)
 as select a.inh_yyymm,b.inh_sex,b.inh_docid,b.inh_sectno,b.inh_broom,b.inh_ptct,b.inh_thday,b.inh_sumday,a.inh_total,(b.inh_ptct/a.inh_total*100),
          (b.inh_thday/a.inh_total*100),(b.inh_sumday/a.inh_total)
 from vw_inh a,inh b where a.inh_yyymm=b.inh_yyymm;    
耐的住被人磨,則會像鑽石一樣發光
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-07 11:18:43 IP:218.174.xxx.xxx 未訂閱
你可以試著這樣想    介面上有兩個區塊    一個區塊是設定條件,一個區塊是treeview    有個啟動的按鈕    每當設定完成,按下啟動的按鈕    就根據設定來源重新依序產生treeview來源資料 發表人 - hahalin 於 2004/12/07 11:21:15
系統時間:2024-05-05 16:55:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!