练习 - 使用画布应用调整数据

已完成

在本练习中,您将在画布应用中调整数据。

您将需要下载此电子表格以完成本练习。 在链接打开后选择下载。 提取 Excel 电子表格并将电子表格上传到您自己的 OneDrive。

添加数据源

  1. 登录到 Power Apps

  2. 选择左侧的 + 创建

  3. 选择从空白画布开始

    应用中库视图的屏幕截图。

  4. 选择平板电脑尺寸

  5. 选择右上角的保存图标并将其命名为“ShapeData”。

  6. 请确保已将本 Excel 电子表格添加到 OneDrive 中。

  7. 插入下拉列表上,选择垂直库

    应用中垂直库视图选择的屏幕截图。

  8. 在显示的弹出菜单的搜索框中,键入 OneDrive for Business,并从列表中选择 OneDrive for Business。 还可以扩展“连接器”并滚动浏览所有可用连接器,直到找到 OneDrive for Business 连接器。

    在应用中添加 OneDrive for Business 的库视图的屏幕截图。

  9. 选择 + 添加连接

  10. OneDrive for Business 底部,选择连接

  11. 当提示选择 Excel 文件时,导航到在步骤 3 中下载的 Excel 文件的存储位置并选择该文件。

  12. 检查表,然后选择连接

此时已连接到 OneDrive for Business Excel 列表中的 Excel 表,并且可以在库控件中显示数据。

  1. 选择已添加的库。

  2. 在右侧的属性窗格中,选择 Layout 属性的下拉菜单。

  3. 选择图像、标题、副标题和正文布局。

    应用中的库属性视图的屏幕截图。

  4. 在右侧的属性窗格中,选择 Fields 属性旁边的紫色已选择 8 个文本,并设置以下点:

    • Body1:描述

    • Image2:图像

    • Subtitle2:UnitPrice

    • Title2:名称

    应用中属性视图布局的屏幕截图。

  5. 选择数据右侧的 X 以退出。

  6. 在库中,选择第一行中的价格。

  7. 在编辑栏中,请确保已选择文本并键入以下内容。

    "$" & ThisItem.UnitPrice
    

    应用中可见选择视图的屏幕截图。

  8. 在库中,选择第一行中的图像。

  9. 在右侧的属性窗格中,选择图像位置属性的下拉菜单。

    应用中“已选择 8 个”选项的屏幕截图。

  10. 选择填充,然后将看到图像现在填充空间。

您现在已配置库中的数据并与之交互。

  1. 在库上选择。

  2. 请确保在编辑栏中选择了 Items 属性。

  3. 将表达式更改为:

    Filter(Items, Origin = "China")
    

    请注意,库现在仅显示两个“来源”为“中国”的项。

  4. 尝试执行相同操作,但使用 And 运算符:

    Filter(Items, Origin = "China" And UnitsSold > 25)
    

    请注意,库现在仅显示一个与上述两个条件匹配的项。

    显示应用中所选项的屏幕截图。

  5. 现在,我们将 Items 属性更改回“项数据源”。 我们将稍后重新访问本 Filter 函数。

    Items
    

使用 Search 函数

  1. 插入下拉列表上,选择文本输入。将“文本输入”放置在库上方。

  2. 在左侧面板上的树视图 > 屏幕 > Screen1 > 下选择右侧的三个点,然后选择重命名以将文本输入重命名为 SearchInput。重命名本组件是为了便于以后参考。

    应用中的“搜索”选项的屏幕截图。

  3. 现在,在库上选择。 请确保在编辑栏中选择了“Items”属性,然后写入本表达式:

    Search(Items, SearchInput.Text, Name)
    

    拥有的内容为:

    Search(Items) - 允许对字符串列执行更灵活的查询的函数。

    SearchInput.Text - 这将检索键入到 SearchInput 文本输入控件中的文本。

    Name - 表示列或进行搜索的列

    这将返回 Name 列包含文本输入控件 SearchInput 中输入的值的所有行。

  4. 如果要搜索多个字符串列,则可以在表达式的末尾追加列名称。 在下面的公式中,我们添加了“描述”。

    Search(Items, SearchInput.Text, Name, Description)
    

结合使用数据调整函数

如单元 3 中所述,您可以在与应用程序中结合使用函数,以获得更复杂的功能。 我们已测试 Filter 函数和 Search 函数,现在该将它们合并到一个函数中。

  1. 从我们在上一步中完成的 Search 函数开始。

  2. Items 替换为 Filter(Items, Origin = "China"),然后将使表达式如下所示:

    Search(Filter(Items, Origin = "China"), SearchInput.Text, Name, Description)
    

对于 Search 函数,首先需要提供数据表选项。 然而,Filter 函数可返回数据表。 也就是说,可以将 Filter 函数用作 Search 函数的数据源。 通过将下面的公式添加到库控件的“Items”属性中,可以向用户显示其需要的数据,并提供搜索这一附加功能。

在 Power Apps 中,可以在很多情况下利用以下概念:使用一个函数向另一个函数提供信息。

在集合和数据源之间移动数据

  1. 通过选择插入下拉列表插入按钮控件。 然后,选择按钮,并将按钮放置在库下方。

  2. 将按钮上的文本更改为添加到集合

  3. 在按钮上选择,然后在编辑栏中将 false 替换为此表达式:

    Collect(ItemsCollection, Items)
    

    ItemsCollection - 引用集合名称

    Items - 引用数据源名称

    Collect - 会将中的所有行复制到 ItemsCollection 集合中

    应用中集合视图的屏幕截图。

  4. 使用右上角的播放图标播放(预览)应用。 按添加到集合按钮。 通过选择右上角的 X 关闭播放预览。

  5. 选择左侧的变量选项卡,展开集合,然后选择 ItemsCollection。 然后,您将看到数据源中的所有行均已添加到 ItemsCollection 集合中。

    应用中变量视图的屏幕截图。

  6. 插入下拉列表上,选择数据表并将其放置在库旁边。

  7. 在编辑栏中,请确保选择了项并输入 ItemsCollection

    这意味着,表的数据源是 ItemsCollection 集合,而不是 Excel 表中的 Items 表。

  8. 在属性窗格中。 在右侧,让我们通过选择 Fields 属性旁边的已选择 2 个文本来调整字段。

  9. 选择 + 添加字段

  10. 全选可用列,然后选择添加

    应用中可用列视图的屏幕截图。

  11. 选择数据右侧的 X 以退出。

  12. 插入选项卡上,选择按钮并将按钮放置在表下方。 重复此流程四次。

  13. 将所有四个按钮上的文本分别更改为:添加列、删除列、显示列、重命名列

    应用中按钮上的文本的屏幕截图。

  14. 选择添加列按钮。

  15. 将编辑栏更新为此表达式:

    Collect(AddCollection, AddColumns(ItemsCollection, Revenue, UnitPrice * UnitsSold))
    

    在此处,我们创建了一个名为 AddCollection 的新集合,该集合复制了 ItemsCollection 集合中的所有数据,但此外,我们还使用 AddColumns 函数添加名为 Revenue 的新列,该列计算方法为 UnitPrice * UnitSold。

  16. 选择删除列按钮。

  17. 将编辑栏更新为此表达式:

    Collect(DropCollection, DropColumns(ItemsCollection, UnitPrice))
    

    在此处,我们创建了一个名为 DropCollection 的新集合,该集合复制了 ItemsCollection 集合中的所有数据,但此外,我们还使用 DropColumns 函数删除 UnitPrice 列。

  18. 选择重命名列按钮。

  19. 将编辑栏更新为此表达式:

    Collect(RenameCollection, RenameColumns(ItemsCollection, Name, Product))
    

    在此处,我们创建了一个名为 RenameCollection 的新集合,该集合复制了 ItemsCollection 集合中的所有数据,但此外,我们还使用 RenameColumns 函数将 Name 列重命名为 Product

  20. 选择显示列按钮。

  21. 将编辑栏更新为此表达式:

    Collect(ShowCollection, ShowColumns(ItemsCollection, Name))
    

    在此处,我们创建了一个名为 ShowCollection 的新集合,该集合复制了 ItemsCollection 集合中的所有数据,但此外,我们还使用 ShowColumns 函数以仅显示 Name 列。

  22. 使用右上角的播放图标播放(预览)应用。 按下所有四个按钮。 通过选择右上角的 X 关闭播放预览。

  23. 在左侧的变量选项卡上选择,然后展开集合,您将看到包含选择按钮的结果的集合。

    应用中库视图已展开的屏幕截图。

希望您现在可以看到在应用中调整数据的可能性!