代码之家  ›  专栏  ›  技术社区  ›  deceparis

电源自动化流程,根据用户输入获取特定的电池

  •  0
  • deceparis  · 技术社区  · 2 年前

    我目前正在开发一个Microsoft Power Virtual Agent(PVA)聊天机器人,帮助用户理解复杂的文档。现在,我正在考虑创建一个流程,将用户的zipcode作为输入,然后从工作表中返回部门联系信息。首先,我不确定最好的解决方案是什么,我在谷歌工作表上使用“获取行”,但我不确定是否应该使用Sharepoint列表。

    我真正的问题如下: 如何根据用户提供的zipcode获取正确的行?所以,如果我在PVA中将其作为Zipcode,并将其转换为流的输入,它如何在一张表中的行中运行,并动态地找到正确的一行,那么我如何选择该行,并将其中的其他单元格转换为变量?我试图使用控制回路,但无法使其正常工作。

    我在这里添加了一张我目前拥有的照片

    pic of flow

    0 回复  |  直到 2 年前
        1
  •  0
  •   Skin    2 年前

    试试这个,看看效果如何。

    我创建了一个Excel文档来存储你的邮政编码。你需要将其存储在SharePoint online文件夹中,我的文件夹如下所示。。。

    Spreadsheet

    你会注意到,在Excel Online中(希望你有这个功能,如果没有,这是一个需要激活的租赁功能),你会在功能区中有一个名为 自动化 ...

    Automate Tab

    在那里,创建一个新脚本,调用它 邮政编码查找 然后在这个代码中粘贴。。。

    function main(workbook: ExcelScript.Workbook, zipCodeToFilter: string)
    {
      let activeSheet = workbook.getActiveWorksheet();
      let zipCodeRange = activeSheet.getUsedRange();
      let zipCodeValues = zipCodeRange.getValues();
    
      let zipCodeFilter = zipCodeValues.filter(row => {
        return row[0].toString() == zipCodeToFilter;
      });
    
      let zipCodeResult: ZipCode = null;
    
      if (zipCodeFilter.length == 1) {
        zipCodeResult = {
          zipCode: zipCodeFilter[0][0].toString(),
          phoneNumber: zipCodeFilter[0][1].toString(),
          departmenName: zipCodeFilter[0][2].toString(),
          website: zipCodeFilter[0][3].toString()
        }
      }
    
      return zipCodeResult;
    }
    
    interface ZipCode {
      zipCode: string,
      phoneNumber: string,
      departmenName: string,
      website: string
    }
    

    现在在PowerAutomation中,您应该能够包含一个名为 运行脚本 这是 Excel Online(商务) 一组行动。

    下面是我配置的一个示例。具体来说,我要查一下邮政编码 53478 ...

    Run Script

    ... 然后,当脚本运行时,您会得到这个输出,所有变量都会被拆分出来供将来使用。

    Result

    因此,如果需要,我可以将department name设置为一个新变量(但您不需要,因为它已经是一个动态属性)。。。

    Result