專利名稱:一種自定義bi展現(xiàn)模型的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)應(yīng)用技術(shù),具體說(shuō)是提供了一種用戶自定義BI展現(xiàn)模型的方法。
背景技術(shù):
現(xiàn)有的BI展現(xiàn)模型是針對(duì)各種數(shù)據(jù)的分析系統(tǒng),用戶需求隨著時(shí)間的變化而變化,給BI展現(xiàn)模型的研發(fā)和實(shí)施帶來(lái)了很多不必要的重復(fù)性工作,增加了研發(fā)和實(shí)施的周期,從而也增加了成本的投入。這時(shí)迫切需要一種輕量級(jí)的,可以根據(jù)用戶需求隨時(shí)自定義出特定BI展現(xiàn)模型的一種方式。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種用戶自定義BI展現(xiàn)模型的方法。本發(fā)明的目的是按以下方式實(shí)現(xiàn)的,包括BI展現(xiàn)模型界面自定義,BI展現(xiàn)模型數(shù)據(jù)源自定義,BI展現(xiàn)模型消息通信自定義,其中
“BI展現(xiàn)模型界面自定義”,用戶根據(jù)需要,拖拽工具欄中的部件到工作區(qū),設(shè)置控件的坐標(biāo)位置、長(zhǎng)度、寬度、層次關(guān)系、停靠方式,即可輕松設(shè)置出符合用戶要求的BI展現(xiàn)模型的功能界面,并以XML文件的形式保存,工具欄也是以配置文件XML為基礎(chǔ),簡(jiǎn)化了設(shè)置應(yīng)用服務(wù)環(huán)境的工作,便于維護(hù)管理,同時(shí)具有極強(qiáng)的可擴(kuò)展性;
“BI展現(xiàn)模型數(shù)據(jù)源自定義”,通過(guò)設(shè)計(jì)器選擇特定分析主題,從而關(guān)聯(lián)到特定數(shù)據(jù)源,展現(xiàn)出不同的分析內(nèi)容,此設(shè)置方式輕松便捷、具有極強(qiáng)的功能擴(kuò)展性,這種BI展現(xiàn)模型和數(shù)據(jù)源的關(guān)聯(lián)方式,操作簡(jiǎn)潔,并且數(shù)據(jù)源支持表、視圖、xml文件;
“BI展現(xiàn)模型消息通信自定義”,通過(guò)設(shè)計(jì)器設(shè)置各部件間的消息通信,實(shí)現(xiàn)維度信息改變時(shí),分析模型中的展現(xiàn)數(shù)據(jù)相應(yīng)隨之變化,通過(guò)圖形化界面即可設(shè)置各功能部件之間的自定義消息通信,并切通過(guò)配置XML方式擴(kuò)展消息通信的種類;
具體實(shí)施步驟如下
I)通過(guò)拖拽自定義功能部件的方式,自定義出內(nèi)容豐富的BI展現(xiàn)模型,其定義粗略示意代碼為
III <summary)
III拖動(dòng)工具欄中的部件進(jìn)入父部件區(qū)域時(shí),子部件添加到父部件中。
Ill </summary)
III〈param name=//sender//></param>
III〈param name=//e//X/param>
private void Control_DragDrop(object sender, DragEventArgs e)
{
NavBarItemLink dragltem =null; dragltem = GetNavBarItemLink(e);、if (dragltem == null)
{
return;
}
BuildingChildControl (dragltem) ;// 創(chuàng)建子部件
}
/// 〈summary>
///構(gòu)建子控件 /// </summary) ///〈param name=〃 dragltem 〃> 選中的工具欄菜單項(xiàng)〈/param〉
Private bool BildingChildControl(NavBarItemLink dragltem)
{
……//詳細(xì)代碼略
}
/// 〈summary>
///控件移動(dòng)操作/// </summary)public class ControlMover
{
/// 〈summary>
III初始化控件鼠標(biāo)事件MouseDown、MouseUp、MouseMove方法/// </summary)
///〈param name=〃control〃> 子部件 </param>
///〈param name=〃container〃> 父部件 </param>
/// 〈param name=〃direction〃>〈/param>public static void Init (Control control, Control container,Direction direction)
{
……//詳細(xì)代碼率
}
};
2)通過(guò)設(shè)計(jì)器選擇特定分析主題,從而關(guān)聯(lián)到特定數(shù)據(jù)源,展現(xiàn)出不同的分析內(nèi)容,此設(shè)置方式輕松便捷、具有極強(qiáng)的功能擴(kuò)展性,其定義粗略示意代碼為
private void btnDesign_Click(object sender, EventArgs e)
{
OpenDesigner ()
}
/// 〈summary>
///打開(kāi)控件的設(shè)計(jì)器Ill </summary)
Private void OpenDesigner() { }
III <summary)
III保存部件所對(duì)應(yīng)胡數(shù)據(jù)源 III </summary)
Private void SaveDataSources() { }
3)通過(guò)設(shè)計(jì)器設(shè)置各部件間的消息通信,實(shí)現(xiàn)維度信息改變時(shí),分析模型中的展現(xiàn)數(shù)據(jù)相應(yīng)隨之變化,其定義粗略示意代碼為
private void btnDesign_Click(object sender, EventArgs e)
{
OpenDesigner ();
}
III <summary)
III打開(kāi)控件的設(shè)計(jì)器 III </summary) Private void OpenDesigner() { }
III <summary)
III保存部件所對(duì)應(yīng)的消息通信關(guān)聯(lián) III </summary)
Private void SaveCommunication() {本發(fā)明的優(yōu)異效果本發(fā)明的BI展現(xiàn)模型構(gòu)建方法,可以通過(guò)拖拽部件輕松設(shè)置消息發(fā)布、訂閱、界面布局等功能,創(chuàng)建出內(nèi)容豐富、用戶體驗(yàn)佳的各種BI展現(xiàn)模型。用戶可以根據(jù)需要,自定義分析模型中各部件的位置、大小、??糠绞?、層次關(guān)系、數(shù)據(jù)源、部件之間的消息通信等,因此在分析模型的自定義和功能擴(kuò)展性方面相當(dāng)靈活。本發(fā)明廣泛應(yīng)用于商務(wù)智能系統(tǒng)的分析模型構(gòu)建等方面,具有很好的推廣使用價(jià)值。由于BI展現(xiàn)模型是針對(duì)各種數(shù)據(jù)的分析系統(tǒng),每個(gè)用戶關(guān)心的數(shù)據(jù)指標(biāo)側(cè)重點(diǎn)有所不同,BI展現(xiàn)模型就具有復(fù)雜多樣性,這時(shí)用戶迫切需要一種輕量級(jí)的可以根據(jù)自己需要隨時(shí)自定義出特定BI展現(xiàn)模型的一種方式。一種自定義BI展現(xiàn)模型的方法,正好可以解決這一類突出問(wèn)題。
具體實(shí)施方式
展現(xiàn)步驟如下
I.通過(guò)拖拽自定義功能部件的方式,自定義出內(nèi)容豐富的BI展現(xiàn)模型。其定義粗略示意代碼為
III <summary)
III拖動(dòng)工具欄中的部件進(jìn)入父部件區(qū)域時(shí),子部件添加到父部件中。
Ill </summary)
III〈param name=//sender//></param>
III〈param name=//e//X/param>
private void Control_DragDrop(object sender, DragEventArgs e)
{NavBarItemLink dragltem =null;dragltem = GetNavBarItemLink(e);if (dragltem == null)
{
return;
}
BuildingChildControl (dragltem) ;// 創(chuàng)建子部件
}
/// 〈summary>
///構(gòu)建子控件 /// </summary)
///〈param name=〃 dragltem 〃> 選中的工具欄菜單項(xiàng)〈/param〉
Private bool BildingChildControl(NavBarItemLink dragltem)
{
……//詳細(xì)代碼略
}
/// 〈summary>
///控件移動(dòng)操作
/// </summary)
public class ControlMover
{
/// 〈summary>
III初始化控件鼠標(biāo)事件MouseDown、MouseUp、MouseMove方法 /// </summary)
///〈param name=〃control〃> 子部件 </param>
///〈param name=〃container〃> 父部件 </param>
/// 〈param name=〃direction〃>〈/param>
public static void Init(Control control, Control container, Directiondirection)
{
……//詳細(xì)代碼率
}
}
2、可以通過(guò)設(shè)計(jì)器選擇特定分析主題,從而關(guān)聯(lián)到特定數(shù)據(jù)源,展現(xiàn)出不同的分析內(nèi)容。此設(shè)置方式輕松便捷、具有極強(qiáng)的功能擴(kuò)展性。其定義粗略示意代碼為private void btnDesign_Click(object sender, EventArgs e)
{
OpenDesigner ()
}/// 〈summary>
///打開(kāi)控件的設(shè)計(jì)器 /// </summary)
Private void OpenDesigner() { }
/// 〈summary> ///保存部件所對(duì)應(yīng)胡數(shù)據(jù)源 /// </summary)
Private void SaveDataSources() { }
3、可以通過(guò)設(shè)計(jì)器設(shè)置各部件間的消息通信,實(shí)現(xiàn)維度信息改變時(shí),分析模型中的展現(xiàn)數(shù)據(jù)相應(yīng)隨之變化。其定義粗略示意代碼為
private void btnDesign_Click(object sender, EventArgs e)
{
OpenDesigner ();
}
/// 〈summary>
///打開(kāi)控件的設(shè)計(jì)器 /// </summary)
Private void OpenDesigner() { }
/// 〈summary>
///保存部件所對(duì)應(yīng)的消息通信關(guān)聯(lián) /// </summary)
Private void SaveCommunication() { }
實(shí)施例
本發(fā)明提供了一種全新的BI展現(xiàn)模型構(gòu)建方法,可以通過(guò)拖拽部件的方式輕松設(shè)置消息發(fā)布、訂閱、界面布局等功能,創(chuàng)建出內(nèi)容豐富、用戶體驗(yàn)佳的各種BI展現(xiàn)模型。為使本發(fā)明的優(yōu)點(diǎn)、目的更容易理解、易懂,下面就具體的實(shí)施方式做一個(gè)說(shuō)明。1.根據(jù)拖拽的控件構(gòu)建分析模型界面。例如
NavBarItemLink dragltem =null;
dragltem = GetNavBarItemLink(e);if (dragltem == null)
{
return;
}
BuildingChildControl (dragltem) ;// 創(chuàng)建子部件;
2.設(shè)置部件所對(duì)應(yīng)的數(shù)據(jù)源。例如
SaveDataSourcesO ;//保存數(shù)據(jù)源信息
3.設(shè)置各部件的消息通信關(guān)聯(lián)。例如
SaveCommunication() ;// 保存關(guān)聯(lián)信息。目前本發(fā)明廣泛應(yīng)用于商務(wù)智能系統(tǒng)的BI展現(xiàn)模型構(gòu)建等方面,可以直觀、方便、貼切的實(shí)現(xiàn)多樣化的分析模型,具有很好的推廣使用價(jià)值。 除說(shuō)明書(shū)所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1. 一種自定義BI展現(xiàn)模型的方法,其特征在于,包括BI展現(xiàn)模型界面自定義,BI展現(xiàn)模型數(shù)據(jù)源自定義,BI展現(xiàn)模型消息通信自定義,其中 “BI展現(xiàn)模型界面自定義”,用戶根據(jù)需要,拖拽工具欄中的部件到工作區(qū),設(shè)置控件的坐標(biāo)位置、長(zhǎng)度、寬度、層次關(guān)系、??糠绞剑纯奢p松設(shè)置出符合用戶要求的BI展現(xiàn)模型的功能界面,并以XML文件的形式保存,工具欄也是以配置文件XML為基礎(chǔ),簡(jiǎn)化了設(shè)置應(yīng)用服務(wù)環(huán)境的工作,便于維護(hù)管理,同時(shí)具有極強(qiáng)的可擴(kuò)展性; “BI展現(xiàn)模型數(shù)據(jù)源自定義”,通過(guò)設(shè)計(jì)器選擇特定分析主題,從而關(guān)聯(lián)到特定數(shù)據(jù)源,展現(xiàn)出不同的分析內(nèi)容,此設(shè)置方式輕松便捷、具有極強(qiáng)的功能擴(kuò)展性,這種BI展現(xiàn)模型和數(shù)據(jù)源的關(guān)聯(lián)方式,操作簡(jiǎn)潔,并且數(shù)據(jù)源支持表、視圖、xml文件; “BI展現(xiàn)模型消息通信自定義”,通過(guò)設(shè)計(jì)器設(shè)置各部件間的消息通信,實(shí)現(xiàn)維度信息改變時(shí),分析模型中的展現(xiàn)數(shù)據(jù)相應(yīng)隨之變化,通過(guò)圖形化界面即可設(shè)置各功能部件之間的自定義消息通信,并切通過(guò)配置XML方式擴(kuò)展消息通信的種類; 具體實(shí)施步驟如下 1)通過(guò)拖拽自定義功能部件的方式,自定義出內(nèi)容豐富的BI展現(xiàn)模型,其定義粗略示意代碼為 /// 〈summary> ///拖動(dòng)工具欄中的部件進(jìn)入父部件區(qū)域時(shí),子部件添加到父部件中; /// </summary) /// 〈param name=〃sender〃>〈/param>///〈param name=//e//></param> private void Control—DragDrop(object sender, DragEventArgs e) {NavBarItemLink dragltem =null;dragltem = GetNavBarItemLink(e);if (dragltem == null) { return; }BuildingChildControl (dragltem) ;// 創(chuàng)建子部件 } /// 〈summary> ///構(gòu)建子控件 /// </summary) ///〈param name=〃 dragltem 〃> 選中的工具欄菜單項(xiàng)〈/param〉Private bool BildingChildControl(NavBarItemLink dragltem) { ……//詳細(xì)代碼略 } /// 〈summary>Ill控件移動(dòng)操作III </summary)public class ControlMover {III 〈summary>III初始化控件鼠標(biāo)事件MouseDown、MouseUp、MouseMove方法III </summary) III〈param name=〃control〃> 子部件 </param> III〈param name=〃container〃> 父部件 </param>III 〈param name=〃direction〃>〈/param>public static void Init (Control control, Control container,Direction direction) { ……//詳細(xì)代碼率}}; 2)通過(guò)設(shè)計(jì)器選擇特定分析主題,從而關(guān)聯(lián)到特定數(shù)據(jù)源,展現(xiàn)出不同的分析內(nèi)容,此設(shè)置方式輕松便捷、具有極強(qiáng)的功能擴(kuò)展性,其定義粗略示意代碼為 private void btnDesign_Click(object sender, EventArgs e){ OpenDesigner () }III 〈summary> ///打開(kāi)控件的設(shè)計(jì)器 III </summary) Private void OpenDesigner() { }III 〈summary> ///保存部件所對(duì)應(yīng)胡數(shù)據(jù)源 III </summary) Private void SaveDataSources() { } 3)通過(guò)設(shè)計(jì)器設(shè)置各部件間的消息通信,實(shí)現(xiàn)維度信息改變時(shí),分析模型中的展現(xiàn)數(shù)據(jù)相應(yīng)隨之變化,其定義粗略示意代碼為 private void btnDesign_Click(object sender, EventArgs e){OpenDesigner (); }III 〈summary> ///打開(kāi)控件的設(shè)計(jì)器/// </summary) Private void OpenDesigner() { } /// 〈summary> ///保存部件所對(duì)應(yīng)的消息通信關(guān)聯(lián) /// </summary)Private void SaveCommunication() {
全文摘要
本發(fā)明提供了一種全新的BI展現(xiàn)模型構(gòu)建方法,可以通過(guò)拖拽部件輕松設(shè)置消息發(fā)布、訂閱、界面布局等功能,創(chuàng)建出內(nèi)容豐富、用戶體驗(yàn)佳的各種BI展現(xiàn)模型。用戶可以根據(jù)需要,自定義分析模型中各部件的位置、大小、??糠绞健哟侮P(guān)系、數(shù)據(jù)源、部件之間的消息通信等,因此在分析模型的自定義和功能擴(kuò)展性方面相當(dāng)靈活。本發(fā)明廣泛應(yīng)用于商務(wù)智能系統(tǒng)的分析模型構(gòu)建等方面,具有很好的推廣使用價(jià)值。
文檔編號(hào)G06F17/30GK102629262SQ201210051739
公開(kāi)日2012年8月8日 申請(qǐng)日期2012年3月2日 優(yōu)先權(quán)日2012年3月2日
發(fā)明者姚慶濤, 王濤威 申請(qǐng)人:浪潮集團(tuán)山東通用軟件有限公司