【问题标题】:PivotTable.js OLAP not considering field having more than one valuePivotTable.js OLAP 不考虑具有多个值的字段
【发布时间】:2017-11-05 19:55:04
【问题描述】:

我正在尝试使用PivotTable.JS Script by Nicolas Kruchten 并遇到以下问题:

我的数据中的某些字段具有多个值。例如在以下条目中,有多个“细分”和“趋势”:

{'Segment': ('Lending','Marketplace'), 'Trend': ('Investments', 'Expansion'),  'Month_year': 'Oct 2016', 'Link': 'http://www.geektime.com/2016/10/02/german-credit-startup-smava-bags-34-million-series-c-investment/', 'Title': 'Smava has raised $34 million Series C investment from Runa Capital', 'Country': 'Germany'},

现在,

  1. 如果我将 Segment 作为元组 ( ) 传递,则数据透视表 UI 只考虑最后一个条目(市场),而忽略它之前的所有条目(借贷)。因此,Marketplace 为 1,Lending 为 0。
  2. 如果我将段作为列表/数组[ ] 传递,则数据透视表 UI 将“借贷、市场”视为一个单独的实体,而不是在“借贷”和“市场”中单独计算.
  3. 如果我将段作为字典{ } 传递,则脚本根本不起作用。

我不能中断和重复输入,一个有“借贷”和另一个“市场” - 因为它会导致其他字段的大量重复计数。例如。打破并重复“segment”和“trend”这两个条目将导致“国家:德国”有四个计数,而实际上只有一个。

我被这个问题困住了,需要一个解决方案来解决它。任何帮助将不胜感激。 TIA

【问题讨论】:

  • 您需要将数据“标准化”为“事实”:每列只有一个值的数据集。在您的情况下,您可以在将数据传递给计算数据透视表的组件之前将示例行扩展为几行(对于“Segment”和“Trend”数组中的每个唯一值)。
  • 这就是整个问题。如果我拆分并扩展上面提到的行/条目,我将有 4 行....现在,在枢轴中,如果我在一个轴上有 Month_year,在另一个轴上有 Country,我的计数将为 4,而实际上应该是 1。
  • 只有在选择“多值”列作为维度时才可以展开。 Pivottable.js 具有“onRefresh”处理程序,您可以在用户选择后重新绑定数据(不幸的是,如果没有更改 pivot.js,双重渲染是不可避免的)。

标签: javascript pivot-table olap olap-cube pivottable.js


【解决方案1】:

不幸的是,这个库不支持每个属性的多个值,因此如果您无法中断/重复这些值,则无法执行您要查找的操作。

【讨论】:

  • 谢谢。中断/重复将重复其他单元格的计数。我在 Tableau 中查看了数据,也发现了同样的问题。是否有解决方案可以在一般数据透视表级别处理它?
  • 不幸的是,在一般情况下,这是一个很难解决的问题......我不知道有什么好的解决方案。
  • 请您接受这个答案,即使它是一个否定的结果?我很确定它是权威的;)
  • 大声笑.. 是的......你的目的是什么,在这种情况下不能矛盾 :) 顺便说一句,问题是在宏观层面,跨 OLAP。我在 POWER BI 和 Tableau 中也遇到了同样的问题。我能想到的唯一解决方案是....首先将所有数据放入浏览器,然后使用 '%like%' 执行 SQL 查询以过滤该数据....但是对于具有 10 行和 10 行的数据透视表列,它将导致 100 个查询......一次也只有一个用户 :( 再次感谢您的帮助,以及很棒的脚本
猜你喜欢
  • 2015-08-27
  • 1970-01-01
  • 2020-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多