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

已完成

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

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

添加数据源

  1. 登录到 Power Apps

  2. 从空白位置创建新的 Power Apps 画布应用并将其称为“ShapeData”。 选择平板电脑文件格式。

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

  4. 插入选项卡上,依次选择Gallery和垂直库选项。

  5. 在右侧的属性窗格中,选择 Data source 属性下拉菜单。

  6. 在“搜索框”中键入OneDrive for Business,并从列表中选择OneDrive for Business。 还可以扩展“连接器”并滚动浏览所有可用连接器,找到 OneDrive for Business 连接器。

  7. 选择 + 添加连接

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

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

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

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

在库中设置数据格式

  1. 选择已添加的库。

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

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

  4. 在右侧的属性窗格中,为 columns 属性选择“编辑”按钮并设置以下点:

    • Body1:描述

    • Image2:图像

    • Subtitle2:UnitPrice

    • Title2:名称

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

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

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

    "$" & ThisItem.UnitPrice
    
  8. 在库中,选择第一行中的图像

  9. 在右侧的属性窗格中,选择 Image Position 属性下拉菜单

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

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

筛选库中的数据

  1. 在库上选择

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

  3. 将表达式更改为:

    Filter(Items, Origin = "China")
    

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

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

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

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

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

    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 中所述,您可以将函数组合在应用程序中,以获得更复杂的函数。 我们已测试筛选器函数以及搜索函数,现在该将它们合并到一起了。

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

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

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

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

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

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

  1. 插入选项卡上,选择按钮并将按钮放置在库下方。

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

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

    Collect(ItemsCollection, Items)
    

    ItemsCollection - 引用集合名称

    Items - 引用数据源名称

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

  4. 运行应用。 选择按钮。 停止运行应用。

  5. 查看选项卡上,选择集合,然后选择 ItemsCollection。 然后,您将看到数据源中的所有行均已添加到 ItemsCollection 集合中

浏览其他可与集合一起使用的函数

  1. 插入选项卡上,选择新建屏幕,然后选择空白

  2. 插入选项卡上,选择数据表并将其放置在库旁边。

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

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

  4. 在右侧的属性窗格中,选择columns属性的编辑列按钮。

  5. 选择 + 添加列

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

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

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

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

  10. 选择添加列按钮。

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

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

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

  12. 选择删除列按钮。

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

    Collect(DropCollection, DropColumns(ItemsCollection, "UnitPrice"))
    

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

  14. 选择重命名列按钮。

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

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

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

  16. 选择显示列按钮。

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

    Collect(ShowCollection, ShowColumns(ItemsCollection, "Name"))
    

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

  18. 运行应用。 全选四个按钮。 停止运行应用。

  19. 查看选项卡上,选择集合,然后选择创建的每个附加集合,以查看这些函数具有什么影响。