本說(shuō)明書(shū)涉及數(shù)據(jù)分析領(lǐng)域,尤其涉及一種數(shù)據(jù)分析方法、裝置、存儲(chǔ)介質(zhì)及電子設(shè)備。
背景技術(shù):
1、業(yè)務(wù)數(shù)據(jù)分析通常需要編寫(xiě)sql(structured?query?language,sql)語(yǔ)句,并執(zhí)行該sql語(yǔ)句,得到數(shù)據(jù)分析結(jié)果。但當(dāng)待分析的數(shù)據(jù)較多時(shí),編寫(xiě)sql語(yǔ)句的工作量較大,數(shù)據(jù)分析效率較低。因此,如何自動(dòng)生成用于對(duì)數(shù)據(jù)進(jìn)行分析的sql語(yǔ)句,提高數(shù)據(jù)分析效率,是一個(gè)亟待解決的問(wèn)題。
2、基于此,本說(shuō)明書(shū)提供一種數(shù)據(jù)分析方法。
技術(shù)實(shí)現(xiàn)思路
1、本說(shuō)明書(shū)提供一種數(shù)據(jù)分析方法、裝置、存儲(chǔ)介質(zhì)及電子設(shè)備,以部分的解決現(xiàn)有技術(shù)存在的上述問(wèn)題。
2、本說(shuō)明書(shū)采用下述技術(shù)方案:
3、本說(shuō)明書(shū)提供了一種數(shù)據(jù)分析方法,所述方法包括:
4、響應(yīng)于用戶的請(qǐng)求數(shù)據(jù)分析的操作,向所述用戶展示畫(huà)布,所述畫(huà)布包括若干用于配置數(shù)據(jù)關(guān)系的控件;
5、響應(yīng)于所述用戶的數(shù)據(jù)添加操作,獲取所述用戶在所述畫(huà)布中添加的待分析數(shù)據(jù);
6、響應(yīng)于所述用戶對(duì)所述控件的操作,確定所述控件的配置信息,所述配置信息包括操作條件及操作對(duì)象;
7、響應(yīng)于用戶的數(shù)據(jù)分析觸發(fā)操作,基于所述控件及所述控件的配置信息,確定所述待分析數(shù)據(jù)的sql語(yǔ)句;
8、執(zhí)行所述sql語(yǔ)句,得到所述待分析數(shù)據(jù)的數(shù)據(jù)分析結(jié)果,并展示。
9、可選地,確定所述控件的配置信息,具體包括:
10、在所述畫(huà)布中,確定數(shù)據(jù)分析結(jié)果生成節(jié)點(diǎn);
11、根據(jù)預(yù)設(shè)關(guān)系屬性,確定所述數(shù)據(jù)分析結(jié)果生成節(jié)點(diǎn)的前置控件,根據(jù)所述前置控件的屬性標(biāo)識(shí)及預(yù)設(shè)的對(duì)應(yīng)關(guān)系,確定所述前置控件的配置信息,直至獲取到所述用戶操作的所有控件的配置信息。
12、可選地,在所述畫(huà)布中,確定數(shù)據(jù)分析結(jié)果生成節(jié)點(diǎn),具體包括:
13、獲取所述畫(huà)布中若干節(jié)點(diǎn)的屬性標(biāo)識(shí);
14、根據(jù)所述屬性標(biāo)識(shí),判斷是否存在數(shù)據(jù)分析結(jié)果生成節(jié)點(diǎn);
15、若否,則將屬性標(biāo)識(shí)為預(yù)設(shè)標(biāo)識(shí)對(duì)應(yīng)的節(jié)點(diǎn)確定為數(shù)據(jù)分析結(jié)果生成節(jié)點(diǎn)。
16、可選地,所述控件包括連接控件、篩選控件、分組控件、函數(shù)控件、排序控件中的至少一種。
17、可選地,當(dāng)所述控件為連接控件時(shí),基于所述控件及所述控件的配置信息,確定所述待分析數(shù)據(jù)的sql語(yǔ)句之前,所述方法還包括:
18、判斷所述連接控件的若干操作對(duì)象之間是否重復(fù)和/或判斷所述連接控件的操作對(duì)象是否缺失;
19、若是,則返回連接錯(cuò)誤提示信息,并展示。
20、可選地,基于所述控件及所述控件的配置信息,確定所述待分析數(shù)據(jù)的sql語(yǔ)句,具體包括:
21、針對(duì)查詢sql語(yǔ)句,根據(jù)預(yù)設(shè)第一拼接格式,將所述篩選控件的配置信息中的操作對(duì)象及所述函數(shù)控件的配置信息中的操作對(duì)象進(jìn)行拼接,得到查詢sql語(yǔ)句;
22、針對(duì)篩選sql語(yǔ)句,根據(jù)所述配置信息中的操作條件,確定篩選sql語(yǔ)句;
23、針對(duì)來(lái)源sql語(yǔ)句,判斷所述連接控件的操作對(duì)象的數(shù)量與所述連接控件的數(shù)量是否滿足預(yù)設(shè)數(shù)量關(guān)系,若是,則根據(jù)預(yù)設(shè)第二拼接格式,將所述連接控件的操作對(duì)象進(jìn)行連接,得到連接sql語(yǔ)句;
24、針對(duì)分組sql語(yǔ)句,獲取所述分組控件的操作對(duì)象,根據(jù)預(yù)設(shè)第三拼接格式,將所述分組控件的操作對(duì)象進(jìn)行拼接,得到分組sql語(yǔ)句;
25、針對(duì)排序sql語(yǔ)句,針對(duì)每個(gè)排序控件,根據(jù)該排序控件的配置信息,判斷該排序控件是否存在操作對(duì)象,若是,則根據(jù)該排序控件的操作條件,對(duì)該排序控件的操作對(duì)象進(jìn)行排序,得到排序sql語(yǔ)句。
26、可選地,將所述連接控件的操作對(duì)象進(jìn)行連接之前,所述方法還包括:
27、針對(duì)每個(gè)連接控件,判斷該連接控件的預(yù)設(shè)第一操作對(duì)象是否為該連接控件的前置連接控件的預(yù)設(shè)第二操作對(duì)象;
28、若否,則針對(duì)每個(gè)連接控件,將該連接控件的操作對(duì)象與剩余每個(gè)連接控件的操作對(duì)象進(jìn)行位置置換,得到若干置換結(jié)果,在若干置換結(jié)果中,確定目標(biāo)置換結(jié)果。
29、可選地,所述方法還包括:
30、根據(jù)業(yè)務(wù)數(shù)據(jù),生成復(fù)制數(shù)據(jù),并作為待分析數(shù)據(jù);
31、當(dāng)預(yù)設(shè)時(shí)刻到來(lái)時(shí),根據(jù)所述待分析數(shù)據(jù),判斷所述業(yè)務(wù)數(shù)據(jù)是否更新;
32、若是,則根據(jù)更新后的業(yè)務(wù)數(shù)據(jù),更新所述待分析數(shù)據(jù)。
33、本說(shuō)明書(shū)提供了一種數(shù)據(jù)分析裝置,所述裝置包括:
34、畫(huà)布展示模塊,用于響應(yīng)于用戶的請(qǐng)求數(shù)據(jù)分析的操作,向所述用戶展示畫(huà)布,所述畫(huà)布包括若干用于配置數(shù)據(jù)關(guān)系的控件;
35、數(shù)據(jù)獲取模塊,用于響應(yīng)于所述用戶的數(shù)據(jù)添加操作,獲取所述用戶在所述畫(huà)布中添加的待分析數(shù)據(jù);
36、配置信息確定模塊,用于響應(yīng)于所述用戶對(duì)所述控件的操作,確定所述控件的配置信息,所述配置信息包括操作條件及操作對(duì)象;
37、sql語(yǔ)句確定模塊,用于響應(yīng)于用戶的數(shù)據(jù)分析觸發(fā)操作,基于所述控件及所述控件的配置信息,確定所述待分析數(shù)據(jù)的sql語(yǔ)句;
38、語(yǔ)句執(zhí)行模塊,用于執(zhí)行所述sql語(yǔ)句,得到所述待分析數(shù)據(jù)的數(shù)據(jù)分析結(jié)果,并展示。
39、可選地,所述配置信息確定模塊具體用于,在所述畫(huà)布中,確定數(shù)據(jù)分析結(jié)果生成節(jié)點(diǎn);根據(jù)預(yù)設(shè)關(guān)系屬性,確定所述數(shù)據(jù)分析結(jié)果生成節(jié)點(diǎn)的前置控件,根據(jù)所述前置控件的屬性標(biāo)識(shí)及預(yù)設(shè)的對(duì)應(yīng)關(guān)系,確定所述前置控件的配置信息,直至獲取到所述用戶操作的所有控件的配置信息。
40、可選地,所述配置信息確定模塊具體用于,獲取所述畫(huà)布中若干節(jié)點(diǎn)的屬性標(biāo)識(shí);根據(jù)所述屬性標(biāo)識(shí),判斷是否存在數(shù)據(jù)分析結(jié)果生成節(jié)點(diǎn);若否,則將屬性標(biāo)識(shí)為預(yù)設(shè)標(biāo)識(shí)對(duì)應(yīng)的節(jié)點(diǎn)確定為數(shù)據(jù)分析結(jié)果生成節(jié)點(diǎn)。
41、可選地,所述控件包括連接控件、篩選控件、分組控件、函數(shù)控件、排序控件中的至少一種。
42、可選地,所述裝置還包括:
43、第一校驗(yàn)?zāi)K,用于當(dāng)所述控件為連接控件時(shí),基于所述控件及所述控件的配置信息,確定所述待分析數(shù)據(jù)的sql語(yǔ)句之前,判斷所述連接控件的若干操作對(duì)象之間是否重復(fù)和/或判斷所述連接控件的操作對(duì)象是否缺失;若是,則返回連接錯(cuò)誤提示信息,并展示。
44、可選地,所述sql語(yǔ)句確定模塊具體用于針對(duì)查詢sql語(yǔ)句,根據(jù)預(yù)設(shè)第一拼接格式,將所述篩選控件的配置信息中的操作對(duì)象及所述函數(shù)控件的配置信息中的操作對(duì)象進(jìn)行拼接,得到查詢sql語(yǔ)句;針對(duì)篩選sql語(yǔ)句,根據(jù)所述配置信息中的操作條件,確定篩選sql語(yǔ)句;針對(duì)來(lái)源sql語(yǔ)句,判斷所述連接控件的操作對(duì)象的數(shù)量與所述連接控件的數(shù)量是否滿足預(yù)設(shè)數(shù)量關(guān)系,若是,則根據(jù)預(yù)設(shè)第二拼接格式,將所述連接控件的操作對(duì)象進(jìn)行連接,得到連接sql語(yǔ)句;針對(duì)分組sql語(yǔ)句,獲取所述分組控件的操作對(duì)象,根據(jù)預(yù)設(shè)第三拼接格式,將所述分組控件的操作對(duì)象進(jìn)行拼接,得到分組sql語(yǔ)句;針對(duì)排序sql語(yǔ)句,針對(duì)每個(gè)排序控件,根據(jù)該排序控件的配置信息,判斷該排序控件是否存在操作對(duì)象,若是,則根據(jù)該排序控件的操作條件,對(duì)該排序控件的操作對(duì)象進(jìn)行排序,得到排序sql語(yǔ)句。
45、可選地,所述裝置還包括:
46、第二校驗(yàn)?zāi)K,用于將所述連接控件的操作對(duì)象進(jìn)行連接之前,針對(duì)每個(gè)連接控件,判斷該連接控件的預(yù)設(shè)第一操作對(duì)象是否為該連接控件的前置連接控件的預(yù)設(shè)第二操作對(duì)象;若否,則針對(duì)每個(gè)連接控件,將該連接控件的操作對(duì)象與剩余每個(gè)連接控件的操作對(duì)象進(jìn)行位置置換,得到若干置換結(jié)果,在若干置換結(jié)果中,確定目標(biāo)置換結(jié)果。
47、可選地,所述裝置還包括:
48、數(shù)據(jù)同步模塊,用于根據(jù)業(yè)務(wù)數(shù)據(jù),生成復(fù)制數(shù)據(jù),并作為待分析數(shù)據(jù);當(dāng)預(yù)設(shè)時(shí)刻到來(lái)時(shí),根據(jù)所述待分析數(shù)據(jù),判斷所述業(yè)務(wù)數(shù)據(jù)是否更新;若是,則根據(jù)更新后的業(yè)務(wù)數(shù)據(jù),更新所述待分析數(shù)據(jù)。
49、本說(shuō)明書(shū)提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述數(shù)據(jù)分析方法。
50、本說(shuō)明書(shū)提供了一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)上述數(shù)據(jù)分析方法。
51、本說(shuō)明書(shū)采用的上述至少一個(gè)技術(shù)方案能夠達(dá)到以下有益效果:
52、從本說(shuō)明書(shū)提供的數(shù)據(jù)分析方法可以看出,響應(yīng)于用戶的數(shù)據(jù)添加操作,可獲取到待分析數(shù)據(jù)。響應(yīng)于用戶對(duì)控件的操作,可確定配置信息,該配置信息可表征待分析數(shù)據(jù)之間的數(shù)據(jù)關(guān)系。再根據(jù)控件的配置信息及控件,生成sql語(yǔ)句,并執(zhí)行該sql語(yǔ)句,得到數(shù)據(jù)分析結(jié)果。無(wú)需用戶編寫(xiě)用于數(shù)據(jù)分析的sql語(yǔ)句,提高了數(shù)據(jù)分析效率。