gpt4 book ai didi

Excel 会自行删除我的查询连接并给我一些错误消息

转载 作者:行者123 更新时间:2023-12-04 20:07:24 27 4
gpt4 key购买 nike

我知道这是一篇很长的帖子,但我不确定我的过程的哪一部分导致我的文件崩溃,所以我试图详细说明我为获取错误消息所做的一切。
因此,首先,我在 Kusto 上创建了一个查询,它看起来与此类似,但实际上是 160 行代码,这只是我的代码可能会做的事情的总结版本,只是为了展示我的工作流程。

  • 首先,我在 Session_Id_List 中所做的是创建一个包含过去一天所有不同 Session Id 的列表。
  • 然后在treatment_alarms1 上,我计算每个 session 期间激活的每种警报类型的警报数量。
  • 然后,在treatment_alarms2 上,我创建了一个可能类似于
  • 的列表。

    1x Alarm_Type_Number1
    30x Alarm_Type_Number2
    7x Alarm_Type_Number3
    并且对于每种治疗都是如此,所以我有一个针对该治疗有效的所有警报的列表。
    最后,我使用 Session_Id_List 和treatment_alarms2 创建了一个左外连接。这意味着我会看到所有的治疗 ID,即使是那些没有任何事件警报的 ID。
    let _StartTime = ago(1d);
    let _EndTime = ago(0d);
    let Session_Id_List = Database1
    | where StartTime >= _StartTime and StartTime <= _EndTime
    | summarize by SessionId, SerialNumber, StartTime
    | distinct SessionId, StartTime, SerialNumber;
    let treatment_alarms1 = Database1
    | where StartTime >= _StartTime and StartTime <= _EndTime and TranslatedData_Status == "ALARM_ACTIVE"
    | summarize number_alarms = count() by TranslatedData_Value, SessionId
    | project final_Value = strcat(number_alarms, "x ", TranslatedData_Value), SessionId;
    let treatment_alarms2 = Database1
    | where StartTime >= _StartTime and StartTime <= _EndTime and TranslatedData_Status == "ALARM_ACTIVE"
    | join kind=inner treatment_alarms1 on SessionId
    | summarize list_of_alarms_all = make_set(final_Value) by SessionId
    | project SessionId, list_of_alarms_all;
    let final_join = Session_Id_List
    | join kind=leftouter treatment_alarms2 on SessionId;
    final_join
    | project SessionId, list_of_alarms_all
    然后我使用以下方法将此查询放入Excel
  • 我转到 Kusto Explorer 上的工具 -> 查询 Power BI

  • enter image description here
  • 我转到数据 -> 获取数据 -> 从其他来源 -> 空白查询

  • enter image description here
  • 我去高级编辑

  • enter image description here
  • 我复制并粘贴我的查询,然后按底部的“完成”

  • enter image description here
  • 如果您现在看到,我的数据预览将在 list_of_alarms_all 列上显示“列表”,而不是向我显示列表的实际值。

  • enter image description here
  • 为了解决这个问题,我首先按下列标题上的箭头

  • enter image description here
  • 我按下“提取值”

  • enter image description here
  • 我选择自定义 -> 使用特殊字符连接 -> 换行 -> 按 OK

  • enter image description here
  • 这适用于所有确实有警报的 ID,它将它们显示为列表并告诉我有多少,问题在于没有任何处理的 ID,我在 Excel 上得到“错误”预习。一旦我按下“关闭并加载”,数据就会放在工作表上并且看起来很好,“错误”都消失了,而是出现“错误”所在的空单元格。

  • enter image description here
    现在,当我关闭文件并尝试再次打开它时,问题就开始了。
    首先,我收到此消息。所以我按是尝试输入文件。
    enter image description here
    然后我收到另一条消息。此消息的问题在于它说我打开了文件,但事实并非如此。我什至尝试重新启动笔记本电脑并再次打开文件,但实际上我没有打开该文件时仍然会收到消息。
    enter image description here
    然后我收到这条消息,告诉我与查询的连接已被删除。
    enter image description here
    所以我的问题是 1)除非我制作副本,否则我无法再编辑文件,因为我不断收到消息说我已经打开了文件并且它已被锁定以进行编辑,并且 2)我想刷新这个从现在开始,可能每周使用 VBA 查询一次,但我不能,因为当我保存文件时,与查询的连接会被 excel 本身删除。
    我不确定为什么会发生这种情况,我猜这是因为当我尝试从列表中提取值时出现在空单元格上的“错误”。如果有人有任何关于我如何解决这个问题的信息,所以我没有收到这些错误消息,请告诉我。

    最佳答案

    我无法重现您的问题,但是您可能想尝试一些事情。

  • 在 ADX 中,您可以使用函数包装查询,因此您不必将大量代码复制到 Excel 中。
  • 您可以处理查询中已经存在的空值(这就是为您提供 Error 值的原因)。注意 coalesce 的使用.
  • // I used datatable to mimic your query results

    .create-or-alter function SessionAlarms()
    {
    datatable (SessionId:int,list_of_alarms_all:dynamic)
    [
    1, dynamic([10,20,30])
    ,2, dynamic([])
    ,3, dynamic(null)
    ]
    | extend list_of_alarms_all = coalesce(list_of_alarms_all, dynamic([]))
    }
  • 您可以使用 Power Query ADX 连接器并按原样复制您的查询/功能

  • From Azure Data Explorer
    eAzure Data Explorer (Kusto)
  • 如果您尚未在 KQL 中处理空值,您可以使用 Replace Errors 处理 Excel 中的错误。

  • Replace Errors

    关于Excel 会自行删除我的查询连接并给我一些错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72215676/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com