我正在尝试使用函数 BuildClassificationValueSegment()来构建内联细分以过滤页面(例如,将博客和游戏的页面分开),以便从Adobe Analytics API获取数据,< / p>
我尝试过像
这样的事情report.data.visits&lt; - QueueTrended(reportsuite.id,date.from,date.to,metrics,elements, segment.inline = BuildClassificationValueSegment(“evar2”,“blog”,“OR”))。
得到如下错误:
ApiRequest中的错误(body = report.description,func.name =“Report.Validate”): 错误:segment_invalid - 段“evar2”对此公司无效 另外:警告信息: 在if(segment.inline!=“”){: 条件的长度> 1,只使用第一个元素
请提供帮助。谢谢提前......
答案 0 :(得分:0)
我建议您事先声明InlineSegment并将其存储在变量中。然后将其传递给QueueTrended函数。
我一直在使用以下语法生成内联细分:
InlineSegment <- list(container=list(type=unbox("hits"),
rules=data.frame(
name=c("Page Name(eVar48)"),
element=c("evar48"),
operator=c("equals"),
value=c(as.character("value1","value2"))
))
您可以更改名称和元素参数,以便个性化查询。
下一步是将InlineSegment传递给QueueRanked函数:
Report <- as.data.frame(QueueRanked("reportsuite",
date.from = dateStart,
date.to = dateEnd,
metrics = c("pageviews"),
elements = c("element"),
segment.inline = InlineSegment,
max.attempts=500))
前一段时间我从这个帖子中借用了这个语法:https://github.com/randyzwitch/RSiteCatalyst/issues/129
请注意,在不使用InlineSegmentation的情况下,可能有更简单的方法来获取此类报告。也许你可以使用QueueRanked函数中的 selected 参数来缩小报告的范围。
另外,我故意避开 BuildClassificationValueSegment 函数,因为我发现它有点难以理解。
希望这种解决方法有所帮助......