翻譯|使用教程|編輯:況魚杰|2021-03-16 11:15:48.793|閱讀 117 次
概述:?讓我們看一下Visualization API和nebula.js當(dāng)前的可視化生命周期(創(chuàng)建/更新/銷毀可視化)之間的比較。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Qlik連續(xù)10年成為Gartner“分析與商業(yè)智能平臺(tái)”魔力象限領(lǐng)先者象限,成為企業(yè)商業(yè)智能和個(gè)人職場(chǎng)成功的必然選擇。Qlik Sense是一個(gè)完整的數(shù)據(jù)分析平臺(tái),為新一代分析奠定了基準(zhǔn)。憑借其獨(dú)一無二的關(guān)聯(lián)分析引擎,完善的AI和高性能云平臺(tái),您可以使組織中的每個(gè)人每天都能做出更好的決策,從而創(chuàng)建真正的數(shù)據(jù)驅(qū)動(dòng)型企業(yè)。
讓我們看一下Visualization API和nebula.js當(dāng)前的可視化生命周期(創(chuàng)建/更新/銷毀可視化)之間的比較。
創(chuàng)建
Visualization API和nebula.js都能夠渲染現(xiàn)有對(duì)象并實(shí)時(shí)創(chuàng)建可視化。用于呈現(xiàn)現(xiàn)有對(duì)象的Visualization API方法以其get方法開始,該方法返回QVisualization類的實(shí)例。然后,使用QVisualization類的show方法來呈現(xiàn)可視化效果。使用Visualization API動(dòng)態(tài)創(chuàng)建可視化過程始于create方法,該方法與get方法一樣,返回QVisualization類的實(shí)例。 再次使用show方法來呈現(xiàn)可視化效果。他們看起來像這樣。
// The Capability APIs resources must first be loaded
// Get an existing object and render it with the Visualization API
qlik.app.visualization.get(objectId).then(function(vis) {
vis.show('elementId');
});
// Create a visualization on-the-fly with the Visualization API
qlik.app.visualization.create(type, cols, options).then(function(vis) {
vis.show('elementId');
});
nebula.js還能夠渲染現(xiàn)有對(duì)象并即時(shí)創(chuàng)建可視化效果。使用nebula.js,您首先要?jiǎng)?chuàng)建一個(gè)嵌入實(shí)例,然后使用該嵌入實(shí)例的render函數(shù)來完成這兩個(gè)任務(wù)。他們看起來像這樣。
import { embed } from '@nebula.js/stardust';
// Create an embed instance with nebula.js
const n = embed(app);
// Render an existing object with nebula.js
n.render({
element: el,
id: 'abcdef'
});
// Render an object on-the-fly with nebula.js
n.render({
element: el,
type: 'barchart',
fields: ['Product', { qLibraryId: 'u378hn', type: 'measure' }]
});
nebula.js的優(yōu)點(diǎn)是不必為Capability API(包括require.js,jquery,Angular.js和CSS代碼)加載資源。但是nebula.js可能還不支持所有圖表。 您可以在nebula.js中檢查當(dāng)前支持的圖表列表。
更新中
到目前為止,Visualization API和nebula.js之間的當(dāng)前功能彼此之間有些不同。盡管可視化API可視化具有可用的setOptions方法,該方法允許修補(bǔ)基礎(chǔ)超多維數(shù)據(jù)集并更改現(xiàn)有可視化的各種選項(xiàng),但無法將其更改為其他類型的可視化。相反,盡管nebula.js當(dāng)前沒有支持打補(bǔ)丁底層超立方體的方法,但可以使用實(shí)驗(yàn)的convertTo方法來更改可視化的類型。 讓我們看一下兩者的一個(gè)例子。
// Set new options with the Visualization API
app.visualization.get('xGhjKl').then(function(vis){
vis.setOptions({title:"Now improved"});
});
// Convert to a different type of visualization with nebula.js
(async () => {
const viz = await embed(app).render({
element,
id: 'abc'
});
viz.convertTo('table');
})();
請(qǐng)注意,這里在Visualization API示例中使用了Promise鏈,但使用nebula.js進(jìn)行了async / await。除了使用Capability API時(shí),沒有任何區(qū)別的原因,它傾向于在較早的項(xiàng)目中使用諾言鏈作為與promises一起使用的模式,而傾向于在較新的項(xiàng)目中使用nebula.js時(shí),最好選async / await。
破壞
無論是嵌入現(xiàn)有的可視化效果還是動(dòng)態(tài)創(chuàng)建可視化效果,Visualization API和nebula.js都將創(chuàng)建一個(gè)新的Qlik會(huì)話對(duì)象。而且,尤其是在較大的應(yīng)用程序中,如果不清理,最終將導(dǎo)致大量會(huì)話對(duì)象,并且性能會(huì)受到影響。因此,當(dāng)您不再需要呈現(xiàn)可視化效果時(shí),無論是使用Visualization API還是nebula.js,都應(yīng)該銷毀它。如果隨后需要渲染,則可以再次渲染??梢暬疉PI使用close方法,nebula.js使用恰當(dāng)命名的destroy方法破壞可視化。讓我們看一下使用Visualization API和nebula.js破壞可視化的方法。
// Close a visualization with the Visualization API
var visRef;
app.visualization.get('xGhjKl').then(function(vis){
visRef = vis;
vis.setOptions({title:"Now improved"});
});
if (visRef) { visRef.close(); }
// Destroy a visualization with nebula.js
(async () => {
const viz = await embed(app).render({
element,
id: 'abc'
});
viz.destroy();
})();
再次注意,兩個(gè)示例之間如何處理承諾。
Qlik是一家私有SaaS公司,提供端到端實(shí)時(shí)數(shù)據(jù)集成和分析云平臺(tái),以縮小數(shù)據(jù),洞察力和行動(dòng)之間的差距。通過將數(shù)據(jù)轉(zhuǎn)換為Active Intelligence,企業(yè)可以制定更好的決策,提高收入和盈利能力并優(yōu)化客戶關(guān)系。Qlik在100多個(gè)國(guó)家/地區(qū)開展業(yè)務(wù),為全球50,000多個(gè)客戶提供服務(wù)。
作為Qlik官方的中國(guó)合作伙伴,我們?yōu)镼lik的中國(guó)用戶提供產(chǎn)品授權(quán)與實(shí)施、定制分析方案、技術(shù)培訓(xùn)等服務(wù),旨在讓中國(guó)企業(yè)的每個(gè)Qlik用戶都能探索出數(shù)據(jù)的價(jià)值,讓企業(yè)形成分析文化。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: