批量导入工作队列数据

通过将 Power Automate 和工作队列作为 Power Platform 的组成部分,您可以轻松简化数据管理流程。 可用的工具套件非常全面,包括从最终用户高度优化向导到基于云的强大 ETL 服务在内的内容,甚至有专业代码选项。 无论您是业务用户、IT 专业人员还是开发人员,您都可以找到合适的工具来轻松高效地创建或批量上传数据。

全面的批量导入选项

这是您可以选择的数据管理和批量导入选项的完整列表。

  • 将云端流与 Dataverse 连接器操作一同使用 - 添加行新操作,以将一个或多个行添加到工作队列工作队列项表中。

  • 使用 Microsoft Dataverse 批量导入选项

    • 使用连接器导入 - 支持使用 Power Query 进行数据转换,并连接到许多不同的源,例如 Excel、Azure、SQL Server、CSV、JSON、XML、文本、OData 等。
    • 从 Excel 或 CSV 导入 - 支持具有数据验证和可视化映射体验的 Excel 和 CSV 文件。
  • 使用 Power Platform 数据流及其基于云的强大 ETL 服务。

使用云端流和 Dataverse 连接器添加工作队列项

  1. 转到 Power Automate 并使用您的凭据登录。

  2. 在左侧菜单中选择我的流

  3. 在工具栏中,选择 + 新建流,并选择即时云端流

  4. 提供流名称,然后选择手动触发流选项。

  5. 选择创建

  6. 流设计器打开后,选择 + 新建步骤并选择 Microsoft Dataverse 连接器。

  7. 在操作列表中,选择添加新行

  8. 以下突出显示的字段表示将项添加到工作队列所需的最少字段。 用于创建工作队列项的 Dataverse 连接器操作的屏幕截图。

    当使用 Dataverse 连接器添加行操作时,它期望在引用父记录时遵循特定模式。 这种模式的一个例子可以在“工作队列 ID(工作队列)”字段中看到,此示例使用工作队列 ID (Guid) 来引用父工作队列,例如,/workqueues(44e44ea8-1af2-ed11-8848-000d3ae86f97)

  9. 选择保存测试流。

  10. 导航到您在操作中指定的工作队列的工作队列详细信息页面,并确认已添加了新创建的工作队列项。

教程:从 CSV 导入工作队列和项

本教程展示了提到的Dataverse 批量导入选项(用于导入工作队列),及其关联的工作队列项(在本例中为供应商发票)。

备注

虽然创建工作队列最简单、最直接的方法是通过 Power Automate 门户来创建,如创建工作队列中所述,但我们包括了工作队列导入步骤,以演示从 Excel 或 CSV 导入方法。

重要提示

本教程的 CSV 示例数据包括三个特殊列:workqueuekeycomponentstateoverwritetime 及其值。 componentstateoverwritetime 字段通常分别采用默认值 001/01/1900 00:00workqueuekey 字段的默认值是 Guid,在您通过 Power Automate 门户创建工作队列时它会自动生成。 但是,如果您通过导入文件(如本示例所示)或通过云端流中的 Dataverse 连接器创建工作队列,您可以提供更具说明性的工作队列密钥,例如 Vendor Invoices。 这些字段是工作队列记录的一部分,必须包含在任何导入中。 要查看其值,请转到 Power Apps,在下搜索工作队列

先决条件

  • Power Automate 或 Power Apps 高级许可证
  • 本教程的某些部分需要 OneDrive for Business 访问权限

第 1/3 阶段:创建示例文件

  1. 创建一个名为 vendor-invoice-queue.csv 的本地文件,并将以下文本粘贴到其中:

    defaultitemtimetoliveinminutes,description,name,prioritytype,overwritetime,componentstate,workqueuekey,workqueuetype
    1440,Vendor invoice queue with a 14 day SLA.,Vendor invoice processing,Fifo,01/01/1900 00:00,0,Vendor Invoices,Work Queue
    
  2. 保存文件。

  3. 创建另一个名为 vendor-invoice-items.csv 的文件,并将以下行粘贴到其中:

    WorkQueueItemId,InvoiceId,InvoiceDate,AccountName,ContactEmail,Amount,Status,WorkQueueKey,ComponentState,OverwriteTime
    653d9256-a217-4742-8cfc-f7d0a4a0f902,I-1001,01/04/2023,Fabrikam,invoicing@fabrikam.com,4232.16,Paid,Vendor Invoices,0,01/01/1900 00:00
    01634ba7-93bf-4aa6-85f7-15a4d6cb3b20,I-1002,02/04/2023,Litware Inc.,adixon@litware.com,2455.00,Paid,Vendor Invoices,0,01/01/1900 00:00
    6fa8c944-5400-4db6-af6d-2f18d8b74bed,I-1003,03/04/2023,Proseware Inc.,lrobbins@proseware.com,7458.98,Paid,Vendor Invoices,0,01/01/1900 00:00
    683be530-017f-48a7-899b-c7390836fc37,I-1004,04/04/2023,Tailspin Toys,p.gupta@tailspintoys.com,5237.26,Paid,Vendor Invoices,0,01/01/1900 00:00
    daedf721-40e8-40a0-b6f9-e332e90c1187,I-1005,05/04/2023,WingTip Toys,b.friday@wingtiptoys.com,2230.99,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    64d6dbbb-52a8-47b1-8587-b791ae7e612a,I-1006,06/04/2023,Fabrikam,invoicing@fabrikam.com,1253.78,Paid,Vendor Invoices,0,01/01/1900 00:00
    688e12f2-6528-43b1-ae36-d31214fad7dd,I-1007,07/04/2023,Proseware Inc.,lrobbins@proseware.com,3345.87,Paid,Vendor Invoices,0,01/01/1900 00:00
    36ecf154-9cc4-43aa-aaa6-2b3e6807d6d2,I-1008,08/04/2023,Tailspin Toys,p.gupta@tailspintoys.com, 967.45 ,Paid,Vendor Invoices,0,01/01/1900 00:00
    7404787b-e9c1-49fc-90cf-c1f3372d2577,I-1009,09/04/2023,WingTip Toys,b.friday@wingtiptoys.com,1437.75,Paid,Vendor Invoices,0,01/01/1900 00:00
    53970b80-b23e-46e5-afb4-9f6f6f46c365,I-1010,10/04/2023,Fabrikam,invoicing@fabrikam.com,1687.43,Paid,Vendor Invoices,0,01/01/1900 00:00
    41cf9fd8-c98f-4dea-be0a-ff70bc9c74b9,I-1011,11/04/2023,WingTip Toys,b.friday@wingtiptoys.com,2854.67,Paid,Vendor Invoices,0,01/01/1900 00:00
    95ea6270-6efe-476f-a86c-892483242532,I-1012,12/04/2023,Litware Inc.,adixon@litware.com,6743.12,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    c639cd8c-b603-4a30-9659-30de6e333c2f,I-1013,13/04/2023,Fabrikam,invoicing@fabrikam.com,2997.12,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    9dcefd8a-f4cf-4592-b179-1e1bdfa808b4,I-1014,14/04/2023,Proseware Inc.,lrobbins@proseware.com, 843.76 ,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    4775f771-4168-46ca-9e10-5957c15e4145,I-1015,15/04/2023,Fabrikam,invoicing@fabrikam.com,1349.24,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    5450ea15-1a69-4692-b083-ba1ac0e8cb6e,I-1016,16/04/2023,Tailspin Toys,p.gupta@tailspintoys.com, 367.13 ,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    c7718c58-8b9c-4915-b9d7-f067ceac726b,I-1017,17/04/2023,Litware Inc.,adixon@litware.com,3984.54,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    ab1c46f8-6de2-4583-b0ba-0959a962e8f1,I-1018,18/04/2023,Fabrikam,invoicing@fabrikam.com,1943.89,Uninvoiced,Vendor Invoices,0,01/01/1900 00:00
    9d5b0ab6-1cb0-40b8-af91-326417843eee,I-1019,19/04/2023,Proseware Inc.,lrobbins@proseware.com,2853.39,Paid,Vendor Invoices,0,01/01/1900 00:00
    154d6965-1a4c-49c3-96e2-ce94f5bc92f1,I-1020,20/04/2023,Fabrikam,invoicing@fabrikam.com,8764.14,Paid,Vendor Invoices,0,01/01/1900 00:00
    b5ff78f0-c3d7-4da0-b233-9cdbc0798f7c,I-1021,21/04/2023,Litware Inc.,adixon@litware.com, 643.68 ,Paid,Vendor Invoices,0,01/01/1900 00:00
    816463ca-4ecd-4433-b56c-7d16df6a9fe0,I-1022,22/04/2023,Proseware Inc.,lrobbins@proseware.com,4232.16,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    2d1e88b7-f4f7-4885-98f0-f56e33218291,I-1023,23/04/2023,Tailspin Toys,p.gupta@tailspintoys.com,3345.87,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    338d57d0-f869-4707-b817-f9d1bbd9ed92,I-1024,24/04/2023,WingTip Toys,b.friday@wingtiptoys.com,3345.87,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    67b2184d-8a3a-40e8-8647-298852529070,I-1025,25/04/2023,Fabrikam,invoicing@fabrikam.com,3345.87,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    475b5afa-5c21-427e-af32-d4af33a018c2,I-1026,26/04/2023,Proseware Inc.,lrobbins@proseware.com,6743.12,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    23b08df8-49de-475d-96c6-894880d6d2ad,I-1027,27/04/2023,Tailspin Toys,p.gupta@tailspintoys.com,4232.16,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    2a3425b7-3e84-4560-a2eb-b20d5c666c25,I-1028,28/04/2023,WingTip Toys,b.friday@wingtiptoys.com,6743.12,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    58b40e26-a34a-493d-865f-d6dbe32edb96,I-1029,29/04/2023,Fabrikam,invoicing@fabrikam.com,4232.16,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    989ae0b3-a4d4-491c-be3a-5f32791c465a,I-1030,30/04/2023,WingTip Toys,b.friday@wingtiptoys.com,3345.87,Invoiced,Vendor Invoices,0,01/01/1900 00:00
    
  4. 保存文件。

第 2/3 阶段:导入工作队列

  1. 然后,转到 https://make.powerapps.com 并使用您的凭据登录。
  2. 确认您处于正确的环境中,然后在侧边菜单中选择
  3. 选择全部选项卡。Power Apps 门户的屏幕截图,显示了已选中的表和所有选项卡区域。
  4. 搜索工作队列表并打开其详细信息页。
  5. 在工具栏中,选择导入,然后选择从 Excel 导入数据 “工作队列”表详细信息和名为“从 Excel 导入数据”的选定菜单条目的屏幕截图。
  6. 选择上传并选择 vendor-invoice-queue.csv 文件。 带有上传和映射验证选项的 Excel 导入对话框的屏幕截图。
  7. 确认自动映射成功,或者如果需要,通过选择映射列来进行调整。 作为数据导入体验的一部分的字段映射对话框的屏幕截图。
  8. 选择导入
  9. 根据您的数据量,这可能需要一些时间才能完成。 完成后,导航到工作队列列表页面并确认已添加供应商发票队列。 用于确认工作队列记录已导入的工作队列列表页面的屏幕截图

第 3/3 阶段:导入工作队列项

  1. 然后,转到 https://make.powerapps.com 并使用您的凭据登录。
  2. 确认您仍处于正确的环境中,然后在侧边菜单中选择
  3. 选择全部选项卡。
  4. 搜索工作队列项表并打开其详细信息页。
  5. 在工具栏中,选择导入,然后选择导入数据
  6. 在打开的 Power Query 对话框中,选择文本/CSV 选项。 显示 Power Query 对话框的 Power Apps 门户的屏幕截图。
  7. 接下来,选择上传文件(预览版),然后选择浏览 ... 以查找 vendor-invoice-items.csv 文件。 显示用于上传文本或 csv 文件的 Power Query 对话框的 Power Apps 门户屏幕截图。
  8. 如果需要,建立与 OneDrive for Business 文件夹的连接。 Power Query 对话框的屏幕截图,其中包含供应商发票工作队列 csv 文件的上传确认。
  9. 选择下一步,并确认您看到了工作队列项记录并且选择了逗号作为分隔符。 Power Query 预览文件数据对话框的屏幕截图,其中显示了源文件中包含的工作队列项列表。
  10. 选择下一步

备注

如果您只想将基本的、已格式化的值导入到工作队列项表中,则不需要执行接下来的几个步骤。 但是,如果您希望在导入源数据之前调整源数据,那么以下 Power Query 转换可能会在您未来的用例中非常有用。

  1. 在转换 Power Query 窗口中,选择功能区工具栏上的添加列选项卡,然后选择自定义列 Power Query 转换窗口的屏幕截图,其中包含有关如何向表中添加新列的说明。

  2. 在“自定义列”对话框中,输入输入作为新列名,并在自定义列公式字段中输入 Text.FromBinary(Json.FromValue(_)) 需要名称和以下公式输入的自定义列对话框的屏幕截图:Text.FromBinary(Json.FromValue(_))。

    下面是公式的作用:

    • Json.FromValue(_):这部分表达式采用输入值(即表格中的一行),并将其转换为 JSON 格式的文本。
    • Text.FromBinary():这部分表达式采用 JSON 格式的文本并将其转换为二进制格式。 该步骤主要用于优化数据存储或传输。

    通过同时使用这两个函数,表达式可以将表的每一行转换为一个 JSON 对象,并将生成的 JSON 对象存储在名为输入的新列中。 对表的每一行重复此过程。

  3. 选择确定

  4. 选择下一步

  5. 加载设置部分的映射上,选择加载到现有表

  6. 目标表下,选择 workqueueitem

  7. 选择键(可选)下,选择workqueueitemid

  8. 列映射部分,设置以下映射:

    源列 目标列
    输入 input
    InvoiceId 姓名
    ComponentState workqueueid.ComponentState
    OverwriteTime workqueueid.OverwriteTime
    WorkQueueKey workqueueid.workqueuekey

    屏幕截图:映射工作队列项列,以将数据加载到退出的 workqueueitem 表。

  9. 选择下一步,然后选择发布

  10. 转到 Power Apps Maker Portal,从左菜单选择数据流(您可能必须先选择更多才能进入数据流菜单)。

  11. 确认您看到一个新的数据流条目,并且在导入完成后两个图标都显示成功。 “数据流”列表的屏幕截图显示了已完成且仍在刷新的数据流。

  12. 完成后,导航到供应商发票队列的工作队列详细信息页面并确认工作队列项目已添加。 显示新创建的工作队列记录的工作队列列表页面的屏幕截图。

后续步骤

详细了解