【问题标题】:Nested JSON Objects in Keen.ioKeen.io 中的嵌套 JSON 对象
【发布时间】:2014-08-28 12:14:51
【问题描述】:

在 Keen.io 的集合中,我有一个名为 pours 的属性,类型为 listpours 是包含 start_time_of_pourend_time_of_pourpour_amount 属性的单个 pour 对象的列表。但是,我无法在工作台中直接查询存储在此列表中的数据。工作台只允许我将目标属性设置为pour 列表,而不是单个浇注对象或属性。

有没有办法在工作台中访问这些嵌套的对象和属性?谢谢!

【问题讨论】:

  • 您好,您删除了有关 ios 表的问题。我不知道怎么联系你,所以我把它写在这里,因为我有答案。在为 url 加下划线时,UITextView 中存在竞争条件:这是由工作线程完成的,该线程尝试从工作线程修改其自己的 AttributedText。但是当这种情况发生时,它的文本已经改变,因为 UITextView 所在的单元格被重用了。要下划线的范围不再有效并且发生崩溃。
  • @Softlion 感谢您的回复。我不再参与我提出问题的项目,但会调查您的答案并尝试重新提出问题。
  • @Softlion 我正在努力重新打开这个问题。如果您可以在此处添加您的评论并投票重新提出问题,那就太好了:stackoverflow.com/questions/25748671/…

标签: javascript json data-visualization keen-io


【解决方案1】:

Josh 来自 Keen IO。

目前无法通过工作台或 API 查询列表中包含的对象的属性。但是,有几种方法可以解决此问题。

索引属性

您可以在发送事件之前将对象列表中的属性复制到一组索引属性中。这会产生 pour_1_amountpour_2_amountpour_n_amount 之类的属性。

如果你这样做,你应该添加一个number_of_pours 属性来表示pours 列表的大小。当您准备好分析时,首先查询以获取事件范围内的最大 number_of_pours。这将是您将运行以分析每个索引属性的循环的输入。

假设您要查找所有浇注的总量。以下是使用 Ruby 和 keen-gem 的方法,尽管这个概念普遍适用。

# within an irb session
require 'keen'   

# get the maximum number of pours to check
maximum_pours_length = 
  Keen.maximum('collection', target_property: 'number_of_pours')

# total pour amount
total_pour_amount = 0

for n in maximum_pours_length
  total_pour_amount = total_pour_amount + 
    Keen.sum('collection', target_property: "pour_#{n}_amount")
end

# print the total
puts total_pour_amount

total_pour_amount 将包含每个事件的每个列表项的所有倾倒量的总和。

预聚合属性

您可以将属性的所有实例聚合(也称为减少)到一个:例如total_pour_amountmaximum_pour_end_time 等。这需要您提前知道要进行什么分析,然后您可以使用 Keen 进行所有查询。

带客户端处理的提取

您可以执行extraction,并在您身边进行手动处理。为了加快提取速度,您可以将其限制为certain properties。此选项使数据模型保持最干净,但在查询时确实需要更多工作,因为 Keen 不会进行聚合。像Miso Dataset 这样的项目可以让其中一些工作变得更容易。

【讨论】:

  • “目前还没有一种方法可以通过工作台或 API 查询列表中包含的对象的属性”直到今天仍然如此吗?
【解决方案2】:

使用 ruby​​ gem,您现在似乎可以运行类似这样的操作来查询嵌套属性:

Keen.select_unique(
    'sessions',
    target_property: 'user.id',
    :timeframe => 'this_8_weeks'
)

【讨论】:

    猜你喜欢
    • 2015-08-23
    • 2011-12-09
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    相关资源
    最近更新 更多