【问题标题】:data loading to qlikview extension this.Data将数据加载到 qlikview 扩展 this.Data
【发布时间】:2014-07-07 09:57:37
【问题描述】:

我正在尝试使用 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 包含数据(未定义)?

【问题讨论】:

    标签: qlikview


    【解决方案1】:

    根据您的反馈,我认为可能值得尝试一种稍微不同的方式来访问您的数据,因为 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下载。

    【讨论】:

    • 我认为我的definition.xml 文件定义良好,如何确定?
    • 我在这段代码中访问 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); } 行中打印的值为空。
    【解决方案2】:

    在 webview 中的扩展对象中,设置维度和有效表达式。让我知道它是否有效!

    【讨论】:

      猜你喜欢
      • 2020-10-14
      • 1970-01-01
      • 2014-02-27
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多