练习 - 使用画布应用调整数据
在本练习中,您将在画布应用中调整数据。
您将需要下载此电子表格以完成本练习。 在链接打开后选择下载。 提取 Excel 电子表格并将电子表格上传到您自己的 OneDrive。
添加数据源
登录到 Power Apps。
选择左侧的 + 创建。
选择从空白画布开始。
选择平板电脑尺寸。
选择右上角的保存图标并将其命名为“ShapeData”。
请确保已将本 Excel 电子表格添加到 OneDrive 中。
在插入下拉列表上,选择垂直库。
在显示的弹出菜单的搜索框中,键入 OneDrive for Business,并从列表中选择 OneDrive for Business。 还可以扩展“连接器”并滚动浏览所有可用连接器,直到找到 OneDrive for Business 连接器。
选择 + 添加连接。
在 OneDrive for Business 底部,选择连接。
当提示选择 Excel 文件时,导航到在步骤 3 中下载的 Excel 文件的存储位置并选择该文件。
检查项表,然后选择连接。
此时已连接到 OneDrive for Business Excel 列表中的 Excel 表,并且可以在库控件中显示数据。
在库中设置数据格式
选择已添加的库。
在右侧的属性窗格中,选择 Layout 属性的下拉菜单。
选择图像、标题、副标题和正文布局。
在右侧的属性窗格中,选择 Fields 属性旁边的紫色已选择 8 个文本,并设置以下点:
Body1:描述
Image2:图像
Subtitle2:UnitPrice
Title2:名称
选择数据右侧的 X 以退出。
在库中,选择第一行中的价格。
在编辑栏中,请确保已选择文本并键入以下内容。
"$" & ThisItem.UnitPrice
在库中,选择第一行中的图像。
在右侧的属性窗格中,选择图像位置属性的下拉菜单。
选择填充,然后将看到图像现在填充空间。
您现在已配置库中的数据并与之交互。
筛选库中的数据
在库上选择。
请确保在编辑栏中选择了 Items 属性。
将表达式更改为:
Filter(Items, Origin = "China")
请注意,库现在仅显示两个“来源”为“中国”的项。
尝试执行相同操作,但使用 And 运算符:
Filter(Items, Origin = "China" And UnitsSold > 25)
请注意,库现在仅显示一个与上述两个条件匹配的项。
现在,我们将 Items 属性更改回“项数据源”。 我们将稍后重新访问本 Filter 函数。
Items
使用 Search 函数
在插入下拉列表上,选择文本输入。将“文本输入”放置在库上方。
在左侧面板上的树视图 > 屏幕 > Screen1 > 下选择右侧的三个点,然后选择重命名以将文本输入重命名为 SearchInput。重命名本组件是为了便于以后参考。
现在,在库上选择。 请确保在编辑栏中选择了“Items”属性,然后写入本表达式:
Search(Items, SearchInput.Text, Name)
拥有的内容为:
Search(Items) - 允许对字符串列执行更灵活的查询的函数。
SearchInput.Text - 这将检索键入到 SearchInput 文本输入控件中的文本。
Name - 表示列或进行搜索的列
这将返回 Name 列包含文本输入控件 SearchInput 中输入的值的所有行。
如果要搜索多个字符串列,则可以在表达式的末尾追加列名称。 在下面的公式中,我们添加了“描述”。
Search(Items, SearchInput.Text, Name, Description)
结合使用数据调整函数
如单元 3 中所述,您可以在与应用程序中结合使用函数,以获得更复杂的功能。 我们已测试 Filter 函数和 Search 函数,现在该将它们合并到一个函数中。
从我们在上一步中完成的 Search 函数开始。
将 Items 替换为 Filter(Items, Origin = "China"),然后将使表达式如下所示:
Search(Filter(Items, Origin = "China"), SearchInput.Text, Name, Description)
对于 Search 函数,首先需要提供数据表选项。 然而,Filter 函数可返回数据表。 也就是说,可以将 Filter 函数用作 Search 函数的数据源。 通过将下面的公式添加到库控件的“Items”属性中,可以向用户显示其需要的数据,并提供搜索这一附加功能。
在 Power Apps 中,可以在很多情况下利用以下概念:使用一个函数向另一个函数提供信息。
在集合和数据源之间移动数据
通过选择插入下拉列表插入按钮控件。 然后,选择按钮,并将按钮放置在库下方。
将按钮上的文本更改为添加到集合。
在按钮上选择,然后在编辑栏中将 false 替换为此表达式:
Collect(ItemsCollection, Items)
ItemsCollection - 引用集合名称
Items - 引用数据源名称
Collect - 会将项中的所有行复制到 ItemsCollection 集合中
使用右上角的播放图标播放(预览)应用。 按添加到集合按钮。 通过选择右上角的 X 关闭播放预览。
选择左侧的变量选项卡,展开集合,然后选择 ItemsCollection。 然后,您将看到项数据源中的所有行均已添加到 ItemsCollection 集合中。
在插入下拉列表上,选择数据表并将其放置在库旁边。
在编辑栏中,请确保选择了项并输入 ItemsCollection。
这意味着,表的数据源是 ItemsCollection 集合,而不是 Excel 表中的 Items 表。
在属性窗格中。 在右侧,让我们通过选择 Fields 属性旁边的已选择 2 个文本来调整字段。
选择 + 添加字段。
全选可用列,然后选择添加。
选择数据右侧的 X 以退出。
在插入选项卡上,选择按钮并将按钮放置在表下方。 重复此流程四次。
将所有四个按钮上的文本分别更改为:添加列、删除列、显示列、重命名列。
选择添加列按钮。
将编辑栏更新为此表达式:
Collect(AddCollection, AddColumns(ItemsCollection, Revenue, UnitPrice * UnitsSold))
在此处,我们创建了一个名为 AddCollection 的新集合,该集合复制了 ItemsCollection 集合中的所有数据,但此外,我们还使用 AddColumns 函数添加名为 Revenue 的新列,该列计算方法为 UnitPrice * UnitSold。
选择删除列按钮。
将编辑栏更新为此表达式:
Collect(DropCollection, DropColumns(ItemsCollection, UnitPrice))
在此处,我们创建了一个名为 DropCollection 的新集合,该集合复制了 ItemsCollection 集合中的所有数据,但此外,我们还使用 DropColumns 函数删除 UnitPrice 列。
选择重命名列按钮。
将编辑栏更新为此表达式:
Collect(RenameCollection, RenameColumns(ItemsCollection, Name, Product))
在此处,我们创建了一个名为 RenameCollection 的新集合,该集合复制了 ItemsCollection 集合中的所有数据,但此外,我们还使用 RenameColumns 函数将 Name 列重命名为 Product。
选择显示列按钮。
将编辑栏更新为此表达式:
Collect(ShowCollection, ShowColumns(ItemsCollection, Name))
在此处,我们创建了一个名为 ShowCollection 的新集合,该集合复制了 ItemsCollection 集合中的所有数据,但此外,我们还使用 ShowColumns 函数以仅显示 Name 列。
使用右上角的播放图标播放(预览)应用。 按下所有四个按钮。 通过选择右上角的 X 关闭播放预览。
在左侧的变量选项卡上选择,然后展开集合,您将看到包含选择按钮的结果的集合。
希望您现在可以看到在应用中调整数据的可能性!