数据加载到qlikview扩展this.Data

时间:2014-07-07 09:57:38

标签: qlikview

我试图使用Qlikview 11SR2的扩展程序。

我尝试使用this.Data.Rows访问数据,但即使数据不为空,此对象也为空,我可以在表格中显示数据。

我使用的代码是:

var obj = this.Data;

for(var prop in obj) {
    var div = document.createElement("div");
    div.innerHTML = "" + prop + "" + obj[prop];
    this.Element.appendChild(div); 
} 

我无法访问互联网 - 我离线工作。

如何使this.Data.Rows包含数据(未定义)?

1 个答案:

答案 0 :(得分:0)

根据您的反馈,我会说可能值得尝试稍微不同的访问数据的方式,因为this.Data.Rows对象包含行对象的集合,而行对象又包含一个或多个对象,这些对象与传递给脚本的维度和度量(在definition.xml中定义)。

例如,假设我有一个扩展,其中包含维度和度量(按此顺序)。我可以在循环中访问这些值的每个值,如下所示:

for (var rowIx = 0; rowIx < this.Data.Rows.length; rowIx++) {
   var row = this.Data.Rows[rowIx];
   myDimensionValue = row[0].text;
   myMeasureValue = row[1].text;
}

然后,我可以添加代码以将myDimensionmyMeasureValue的每个值输出到循环中,例如在每种情况下为每组值添加新的div

我发现“QVConsole”扩展在编写扩展时非常有用,因为它允许您在QlikView文档中使用JavaScript控制台,因此您可以使用console.log(myDimensionValue)等语句来帮助您调试扩展。您可以从https://github.com/thomasfriebel/QvConsole下载。