我正在尝试编写一个查询,该查询将为我提供2个自定义事件之间的平均时间,并按用户会话排序。我在整个应用程序中添加了自定义跟踪事件,我想查询用户从“设置”事件到“处理”事件的时间。
class ViewController: UIViewController, UIImagePickerControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let asset = info[.phAsset] as? PHAsset
print(asset?.creationDate ?? "None")
print(asset?.location ?? "None")
dismiss(animated: true, completion:nil)
}
当我运行此查询时,它会产生以下错误消息:
''运算符:无法解析名为'step1_time'的表或列或标量表达式
对于使用AI编写查询,我还比较陌生,并且没有找到很多资源来解决此问题。预先感谢您的帮助!
答案 0 :(得分:1)
我不确定let 1id=step1_time
行的用途。
这些行试图声明一个新值,但step1_time无关紧要,它是另一个查询中的一个 field
我也不确定为什么要这么做pageviews | take 0
并将其与事件结合起来吗?
let allEvents=customEvents
| where timestamp between (datetime(2019-09-25T15:57:18.327Z)..datetime(2019-09-25T16:57:18.327Z))
| extend SourceType = 5;
let step1 = materialize(allEvents
| where name == "Setup" and SourceType == 5
| summarize arg_min(timestamp, *) by user_Id
| project user_Id, step1_time = timestamp);
let step2 = materialize(step1
| join
hint.strategy=broadcast (allEvents
| where name == "Process" and SourceType == 5
| project user_Id, step2_time=timestamp
)
on user_Id
| where step1_time < step2_time
| summarize arg_min(step2_time, *) by user_Id
| project user_Id, step1_time,step2_time);
step2
| summarize AverageTimeBetween=avg(step2_time - step1_time)
| project AverageTimeBetween
如果我删除了我不了解的内容(例如,页面浏览量为0的联合,然后让我获得了结果,但是我没有您的数据,因此我不得不使用“设置”和“处理”,所以我不知道这是否是您所期望的吗?
您可能希望查看step2
查询的结果而不进行汇总,以仅查看得到的结果与期望的结果相符。