2017-06-05 153 views
0

我试图使用PivotTable.JS Script by Nicolas Kruchten和我面临着以下问题:PivotTable.js OLAP不考虑外地有一个以上的价值

一些在我的数据字段有一个以上的价值。例如,在下面的条目中,有一个以上的“段”和“趋势”:

{'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. 如果我通过了段作为一个元组(),数据透视表UI只考虑最后进入(市场),并忽略所有(贷款)。因此,市场计数为1,贷款为0。
  2. 如果我将该段作为列表/数组[ ]传递,则数据透视表UI将“贷款,市场”视为一个单独的实体,而不是在“贷款”和“市场”中单独统计。
  3. 如果我将该段作为字典{ }传递,则该脚本根本不起作用。

我不能打破和重复条目,有一个“贷款”和另一个“市场” - 因为它会导致很多重复计数的其他领域。例如。为'段'和'趋势'打破和重复此条目将导致“国家:德国”有四项计数,而实际上只有一项。

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

+0

您需要将数据“标准化”为“事实”:每列只有一个值的数据集。对于您的情况,您可以在将数据传递到计算数据透视表的组件之前,将示例行扩展为多行(针对“段”和“趋势”数组中的每个唯一值)。 –

+0

这就是整个问题。如果我拆分并展开上面提到的行/条目,我将有4行.... 现在,在关键点中,如果我在一个轴上有Month_year,而在另一个轴上有Country,我的计数将是4,而它实际上应为1. – chhibbz

+0

只有当选择“多值”列作为维度时,才可以展开。 Pivottable.js具有“onRefresh”处理程序,您可以在用户选择后重新绑定数据(不幸的是,在不改变pivot.js的情况下,双重渲染是不可避免的)。 –

回答

1

不幸的是,这个库不支持每个属性的多个值,所以如果你无法打破/重复这些值,没有办法做你想要的。

+0

谢谢。打破/重复将重复其他单元格的计数。我检查了Tableau中的数据,发现了同样的问题。在通用数据透视表级别下是否有解决方案? – chhibbz

+0

这是一个相当棘手的问题,在一般情况下不幸解决......我不知道有什么好的解决方案。 – nicolaskruchten

+0

请问您是否接受答案,尽管这是一个负面结果?我敢肯定它是权威的;) – nicolaskruchten

相关问题