如何以DBGrid或StringGrid呈現MDX多維度的資料? |
尚未結案
|
s9054469
一般會員 發表:21 回覆:35 積分:11 註冊:2003-04-21 發送簡訊給我 |
在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 發送簡訊給我 |
|
s9054469
一般會員 發表:21 回覆:35 積分:11 註冊:2003-04-21 發送簡訊給我 |
站長大大你好:
由於我們要利用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 發送簡訊給我 |
|
s9054469
一般會員 發表:21 回覆:35 積分:11 註冊:2003-04-21 發送簡訊給我 |
引言: 如果你只是要顯示的話,不嫌棄就看看小弟發表過的post吧... http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26832hahalin版主你好,非常感謝你的回答;但是因為我們現在主要問題是在當資料是2個以上維度來源時,怎麼在Grid裏呈現可以讓User較容易看懂這個分析,所以當然最好像是能做到像DecisionGrid一樣,如下圖圖中的Payment為第一層,Terms為第二層的維度,我們想要秀出的就是這樣的結果,當然如果DecisionCube能處理來自OLAP的Cube的話,那應該就都沒問題了,版主謝謝你。 ~做中學,學中做~
------
corn |
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
>>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 發送簡訊給我 |
|
s9054469
一般會員 發表:21 回覆:35 積分:11 註冊:2003-04-21 發送簡訊給我 |
引言: 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 發送簡訊給我 |
引言: >>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:36hahalin版主,再次感謝你的回答,很抱歉一開始沒有將問題講清楚,這也是因為目前我們想自己先確定大概能執行的方案,再決定架構如何訂,所以我們還會將這星期測試的結果跟老師討論,請我們老師給我們一些建議,再決定如何來做會較好,非常感謝你。 ~做中學,學中做~
------
corn |
qq_911228
一般會員 發表:30 回覆:22 積分:10 註冊:2003-09-29 發送簡訊給我 |
|
s9054469
一般會員 發表:21 回覆:35 積分:11 註冊:2003-04-21 發送簡訊給我 |
引言: 我有一本外國買回來的書~~~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 發送簡訊給我 |
引言:
在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 發送簡訊給我 |
|
s9054469
一般會員 發表:21 回覆:35 積分:11 註冊:2003-04-21 發送簡訊給我 |
|
qq_911228
一般會員 發表:30 回覆:22 積分:10 註冊:2003-09-29 發送簡訊給我 |
|
qq_911228
一般會員 發表:30 回覆:22 積分:10 註冊:2003-09-29 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |