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

如何以DBGrid或StringGrid呈現MDX多維度的資料?

尚未結案
s9054469
一般會員


發表:21
回覆:35
積分:11
註冊:2003-04-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-18 13:33:13 IP:61.218.xxx.xxx 未訂閱
在Analysis Services中有提供MDX Sample Application,它可以多維度方式展現資料,若我的MDX語法如下: Select  {[USA].Children} ON COLUMNS, CROSSJOIN([Gender].CHILDREN,[Marita Status].CHILDREN) ON ROWS FROM Sales 資料呈現結果如下: 但我以delphi設計類似MDX Sample Application,在DBGrid中呈現的結果卻如下: 請問我該如何做才可以做到如上圖的呈現方式呢? ~做中學,學中做~
------
corn
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-19 20:24:35 IP:192.168.xxx.xxx 未訂閱
可以考慮用Delphi的decision cube做 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
s9054469
一般會員


發表:21
回覆:35
積分:11
註冊:2003-04-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-20 10:04:03 IP:61.70.xxx.xxx 未訂閱
站長大大你好: 由於我們要利用MsSQL的OLAP工具產生出Cube,所以才會想要直接利用他的MDX語法來做,而目前我們就是測試到將MDX語法執行的結果放入StringGrid裏,而DecisionGrid好像不能像StringGrid一樣可以直接塞值進去,是不是使用DecisionGrid就要透過DecisionSource DecisionCube DecisionQuery才能用呢?在站上看到許多篇類似的問題時,站長大大你都會建議使用DecisionCube來做,所以想請教一下,不知有沒有方法可以讓DecisionCube接受來自使用MDX語法的ClientDataSet。 目前在站上看到有提到幾個可以做到向下展開的Grid好像都是要錢的,所以我們現在也是在尋找解決方案,因為這是要做我們學校專題的,所以不可能花錢買那些元件來用,如果各位先進有好的Grid能提供,那真的感激不盡,謝謝!! ~做中學,學中做~
------
corn
hahalin
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-20 10:13:05 IP:210.243.xxx.xxx 未訂閱
如果你只是要顯示的話,不嫌棄就看看小弟發表過的post吧... http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26832
s9054469
一般會員


發表:21
回覆:35
積分:11
註冊:2003-04-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-20 10:52:52 IP:61.70.xxx.xxx 未訂閱
引言: 如果你只是要顯示的話,不嫌棄就看看小弟發表過的post吧... http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26832
hahalin版主你好,非常感謝你的回答;但是因為我們現在主要問題是在當資料是2個以上維度來源時,怎麼在Grid裏呈現可以讓User較容易看懂這個分析,所以當然最好像是能做到像DecisionGrid一樣,如下圖圖中的Payment為第一層,Terms為第二層的維度,我們想要秀出的就是這樣的結果,當然如果DecisionCube能處理來自OLAP的Cube的話,那應該就都沒問題了,版主謝謝你。 ~做中學,學中做~
------
corn
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-10-20 12:50:11 IP:192.168.xxx.xxx 未訂閱
引言: 所以想請教一下,不知有沒有方法可以讓DecisionCube接受來自使用MDX語法的ClientDataSet。
Sorry,這我也沒用過! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-10-20 13:14:55 IP:61.218.xxx.xxx 未訂閱
vb 裡有個 ocx 元件叫MSHFlexGrid (Microsoft Hierarchical FlexGrid Control 6.0) MSHFLXGD.OCX 可以顯示多維度階層式的資料也可以向下展開,就像您想要的一樣 可試Import 到Delphi 來玩看看 src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=8147403&CC=182217">
hahalin
版主


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-10-20 13:39:46 IP:210.243.xxx.xxx 未訂閱
>>hahalin版主你好,非常感謝你的回答;但是因為我們現在主要問題是在當資>>料是2個以上維度來源時,怎麼在Grid裏呈現可以讓User較容易看懂這個分析,所 wow!!! very sorry!!! Grid is not every thing. What can solve the problem is a good cat, including the cat in black or white!!! if you still want the dbgrid or stringgrid to make it... 1.Buy it !!! but I don't know where to buy.You can search it via internet. 2.Write it or Design it !!! but it need a powerful ability to write code. But,if the user just want to see it,no more any modify with the dataset,from the report to make it would be fine. Computer/tool is mechanical,but the man is alive,fill the brain with stone,your boss will cry all day. 發表人 - hahalin 於 2003/10/20 13:41:36
s9054469
一般會員


發表:21
回覆:35
積分:11
註冊:2003-04-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-10-21 15:12:04 IP:61.70.xxx.xxx 未訂閱
引言: Sorry,這我也沒用過! ~~~Delphi K.Top討論區站長~~~
還是很感謝你,謝謝!! ~做中學,學中做~
------
corn
s9054469
一般會員


發表:21
回覆:35
積分:11
註冊:2003-04-21

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-10-21 15:19:45 IP:61.70.xxx.xxx 未訂閱
引言: vb 裡有個 ocx 元件叫MSHFlexGrid (Microsoft Hierarchical FlexGrid Control 6.0) MSHFLXGD.OCX 可以顯示多維度階層式的資料也可以向下展開,就像您想要的一樣 可試Import 到Delphi 來玩看看 src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=8147403&CC=182217">
ddy大大感謝你的建議,不過使用Import進來的Library,我們還不太會使用,所以我們再試一下怎麼用,如果你有相關的資料,再麻煩你告訴我們一下,謝謝!! ~做中學,學中做~
------
corn
s9054469
一般會員


發表:21
回覆:35
積分:11
註冊:2003-04-21

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-10-21 15:32:10 IP:61.70.xxx.xxx 未訂閱
引言: >>hahalin版主你好,非常感謝你的回答;但是因為我們現在主要問題是在當資>>料是2個以上維度來源時,怎麼在Grid裏呈現可以讓User較容易看懂這個分析,所 wow!!! very sorry!!! Grid is not every thing. What can solve the problem is a good cat, including the cat in black or white!!! if you still want the dbgrid or stringgrid to make it... 1.Buy it !!! but I don't know where to buy.You can search it via internet. 2.Write it or Design it !!! but it need a powerful ability to write code. But,if the user just want to see it,no more any modify with the dataset,from the report to make it would be fine. Computer/tool is mechanical,but the man is alive,fill the brain with stone,your boss will cry all day. 發表人 - hahalin 於 2003/10/20 13:41:36
hahalin版主,再次感謝你的回答,很抱歉一開始沒有將問題講清楚,這也是因為目前我們想自己先確定大概能執行的方案,再決定架構如何訂,所以我們還會將這星期測試的結果跟老師討論,請我們老師給我們一些建議,再決定如何來做會較好,非常感謝你。 ~做中學,學中做~
------
corn
qq_911228
一般會員


發表:30
回覆:22
積分:10
註冊:2003-09-29

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-10-23 10:58:54 IP:218.164.xxx.xxx 未訂閱
我有一本外國買回來的書~~~ADVANCED DELPHI DEVELOPER'S GUIDE TO ADO 這裡面有一個章節,寫的就是你要的部份,你可以參考下面的網址,http://www.interface.ru/fset.asp?Url=/borland/11ac/olap.htm 但裡面有些部份的程式碼,你要修改。這應該對你幫助會很大。
s9054469
一般會員


發表:21
回覆:35
積分:11
註冊:2003-04-21

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-10-24 12:54:19 IP:61.70.xxx.xxx 未訂閱
引言: 我有一本外國買回來的書~~~ADVANCED DELPHI DEVELOPER'S GUIDE TO ADO 這裡面有一個章節,寫的就是你要的部份,你可以參考下面的網址,http://www.interface.ru/fset.asp?Url=/borland/11ac/olap.htm 但裡面有些部份的程式碼,你要修改。這應該對你幫助會很大。
qq_911228兄,感謝你提供的資料,因為我英文不太好,所以想請教一下這網站上除了你給的這連結,這篇文章外,還有沒有其它的介紹部份,因為這篇文章我們當初在http://www.olap.ru/desc/microsoft/odelphi.asp#OLAPBASICS這網站也有找到,這篇的幾個範例我們也都做出來了,但是裏面最後那2個範例所使用的StringGrid跟DBGrid就是無法達到我們要的,所以才會在這請教各位是否有更好的Grid可以做例如階層..等等的功能,所以才會想請教qq_911228兄你是怎麼做的?謝謝你喔!! ~做中學,學中做~
------
corn
qq_911228
一般會員


發表:30
回覆:22
積分:10
註冊:2003-09-29

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-10-24 14:36:07 IP:218.164.xxx.xxx 未訂閱
引言:     在http://www.olap.ru/desc/microsoft/odelphi.asp#OLAPBASICS這網站也有找到,這篇的幾個範例我們也都做出來了,但是裏面最後那2個範例所使用的StringGrid跟DBGrid就是無法達到我們要的    1.我現在只作到(圖1)的部份,但執行時,都會出現如圖2的問題,所以想請問你是否也有遇到同樣的問題。 我的程式碼如何: unit CubePropListForm;    interface    uses   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,   ComObj, ADOMD_TLB, Db,ADODB, StdCtrls, ComCtrls, Variants, ADODB_TLB;    type   TForm1 = class(TForm)     TreeView1: TTreeView;     Button1: TButton;     procedure Button1Click(Sender: TObject);     procedure CubeList(DataSource:WideString);   private     { Private declarations }   public     { Public declarations }   end;    var   Form1: TForm1;   //CatalogGUID:TGUID;   DS: WideString;   Catalog1: ICatalog;   CubeNode  : TTreeNode;   CubeDefNode: TTreeNode;   RootNode    : TTreeNode;   CubeDef1      :CubeDef;    implementation    {$R *.DFM}    procedure TForm1.Button1Click(Sender: TObject); begin  DS := 'Provider=MSOLAP.1;Persist Security Info=False;'+        'User ID=sa;Data Source=soho;'+        'Connect Timeout=60;Initial Catalog=north;'+        'Client Cache Size=25;Auto Synch Period=10000';  CubeList(DS); end;    procedure TForm1.CubeList(DataSource: WideString); var  I, J  : Integer; begin  Catalog1 := CoCatalog.Create;     TreeView1.Items.Clear;  RootNode := TreeView1.Items.Add(nil, 'Catalog');  CubeNode := TreeView1.Items.AddChild(RootNode, 'Cubes');     Catalog1.Set_ActiveConnection(OleVariant(DS));     for I := 0 to Catalog1.CubeDefs.Count-1 do  begin    CubeDef1    := Catalog1.CubeDefs[I] as CubeDef;    CubeDefNode :=    TreeView1.Items.AddChild(CubeNode, CubeDef1.Name);   for J := 0 to CubeDef1.Properties.Count - 1 do   begin    TreeView1.Items.AddChild(CubeDefNode,    CubeDef1.Properties[J].Name+'='+    VarToStr(CubeDef1.Properties[J].Value));   end;  end; end;    end.     發表人 - qq_911228 於 2003/10/24 17:47:11
qq_911228
一般會員


發表:30
回覆:22
積分:10
註冊:2003-09-29

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-10-24 14:36:23 IP:218.164.xxx.xxx 未訂閱
SOORY 發表人 - qq_911228 於 2003/10/24 15:21:23
s9054469
一般會員


發表:21
回覆:35
積分:11
註冊:2003-04-21

發送簡訊給我
#16 引用回覆 回覆 發表時間:2003-10-24 22:00:14 IP:61.70.xxx.xxx 未訂閱
引言: 1.我現在只作到(圖1)的部份,但執行時,都會出現如圖2的問題,所以想請問你是否也有遇到同樣的問題。
這個問題我們也有遇到過,你只要將Import進來的ADOMD_TLB裏所有的 procedure GhostMethod_CubeDefs_X_X;X代表各組的數字 將這些Procedure都拿掉就可以正常執行了. ~做中學,學中做~
------
corn
qq_911228
一般會員


發表:30
回覆:22
積分:10
註冊:2003-09-29

發送簡訊給我
#17 引用回覆 回覆 發表時間:2003-10-25 05:24:32 IP:218.164.xxx.xxx 未訂閱
引言: 謝謝你,我終於可以繼續往下作了。關於你提的問題,我會繼續往下作。
引言: 1.我現在只作到(圖1)的部份,但執行時,都會出現如圖2的問題,所以想請問你是否也有遇到同樣的問題。
這個問題我們也有遇到過,你只要將Import進來的ADOMD_TLB裏所有的 procedure GhostMethod_CubeDefs_X_X;X代表各組的數字 將這些Procedure都拿掉就可以正常執行了. ~做中學,學中做~
qq_911228
一般會員


發表:30
回覆:22
積分:10
註冊:2003-09-29

發送簡訊給我
#18 引用回覆 回覆 發表時間:2005-06-25 09:09:19 IP:140.127.xxx.xxx 未訂閱
vb 裡有個 ocx 元件叫MSHFlexGrid (Microsoft Hierarchical FlexGrid Control 6.0) MSHFLXGD.OCX 可以顯示多維度階層式的資料也可以向下展開,就像您想要的一樣 可試Import 到Delphi 來玩看看 請問為什麼我的電腦~~~看無到這個元件~~~ 導致無法import進來~~~ 是不是要先灌vb呢?
系統時間:2024-11-22 11:11:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!