如何在 Powerapps 中同时使用 collect 和 if 函数?
How do I use collect and if functions together in Powerapps?
下面是我尝试过的示例 canvas-app 函数,但是我想转换以下可以访问集合数据的 canvas-app 函数来使用它:
If("EC - Empire Complex" in BuildingDropdown.Selected.Value, Distinct(Filter(Area, "1" in buildingID), storey), If("BTB - Brani Terminal Building" in BuildingDropdown.Selected.Value, Distinct(Filter(Area, "2" in buildingID), storey), If("KW - Keppel Workshop" in BuildingDropdown.Selected.Value, Distinct(Filter(Area, "3" in buildingID),storey), If("CSO - Container Side Office"in BuildingDropdown.Selected.Value, Distinct(Filter(Area, "4" in buildingID), storey), If("Others" in BuildingDropdown.Selected.Value, Distinct(Filter(Area, "5" in buildingID), storey))))))
如何转换上述 canvas-app 函数,使其可以同时使用 collect 函数和 if 函数?谢谢
好吧,如果在 Powerapps 中有单独的语法可以使用,即 if (condition = true, "do this", "else do this")。如果您希望在 if 内发生多个操作,那么您的语法将变为 if(condition = true, "do this";"do this also";"do this also", "else do this";"else do this also" ).
如果很容易,您可以拥有收集功能。
这是一个有效的(希望是不言自明的)示例,用于在 Power App 集合中选择和取消选择记录=>
If( LookUp(Sammlung3; ID=ThisItem.ID).ID >0;
RemoveIf(Sammlung3; ID=ThisItem.ID);
Collect(Sammlung3;ThisItem)
)
如果在集合中找到记录则将其移除,否则将其放入集合
不清楚您想在哪里使用 PowerApps 收集功能。请详细说明。
也不清楚"Area"
是什么。它是 Collection 还是 Excel table 还是 Sharepoint 列表还是 SQL table?
在您的 PowerApps 代码中选择一个命名约定并始终如一地使用它。
示例:
- 在您的代码中为所有 Collection 加上前缀
col
colArea
- 使所有数据tables(Sharepoint、SQL等)全部CAPITALS_WITH_UNDERSCORES
MY_SHAREPOINT_LIST
那么,at-a-glance,你就可以看出是什么类型的数据源了。
您还可以通过删除嵌套的 If
's:
来简化您的代码
If(
"EC - Empire Complex" in BuildingDropdown.Selected.Value,
Distinct(
Filter(Area, "1" in buildingID),
storey
),
"BTB - Brani Terminal Building" in BuildingDropdown.Selected.Value,
Distinct(
Filter(Area, "2" in buildingID),
storey
),
"KW - Keppel Workshop" in BuildingDropdown.Selected.Value,
Distinct(
Filter(Area, "3" in buildingID),
storey
),
"CSO - Container Side Office"in BuildingDropdown.Selected.Value,
Distinct(
Filter(Area, "4" in buildingID),
storey
),
"Others" in BuildingDropdown.Selected.Value,
Distinct(
Filter(
Area, "5" in buildingID),
storey
)
)
也要牢记 Switch()
(尽管在这里用处不大)。
如果有分支逻辑,通常使用嵌套 If
,但不用于多项选择。
下面是我尝试过的示例 canvas-app 函数,但是我想转换以下可以访问集合数据的 canvas-app 函数来使用它:
If("EC - Empire Complex" in BuildingDropdown.Selected.Value, Distinct(Filter(Area, "1" in buildingID), storey), If("BTB - Brani Terminal Building" in BuildingDropdown.Selected.Value, Distinct(Filter(Area, "2" in buildingID), storey), If("KW - Keppel Workshop" in BuildingDropdown.Selected.Value, Distinct(Filter(Area, "3" in buildingID),storey), If("CSO - Container Side Office"in BuildingDropdown.Selected.Value, Distinct(Filter(Area, "4" in buildingID), storey), If("Others" in BuildingDropdown.Selected.Value, Distinct(Filter(Area, "5" in buildingID), storey))))))
如何转换上述 canvas-app 函数,使其可以同时使用 collect 函数和 if 函数?谢谢
好吧,如果在 Powerapps 中有单独的语法可以使用,即 if (condition = true, "do this", "else do this")。如果您希望在 if 内发生多个操作,那么您的语法将变为 if(condition = true, "do this";"do this also";"do this also", "else do this";"else do this also" ).
如果很容易,您可以拥有收集功能。
这是一个有效的(希望是不言自明的)示例,用于在 Power App 集合中选择和取消选择记录=>
If( LookUp(Sammlung3; ID=ThisItem.ID).ID >0;
RemoveIf(Sammlung3; ID=ThisItem.ID);
Collect(Sammlung3;ThisItem)
)
如果在集合中找到记录则将其移除,否则将其放入集合
不清楚您想在哪里使用 PowerApps 收集功能。请详细说明。
也不清楚"Area"
是什么。它是 Collection 还是 Excel table 还是 Sharepoint 列表还是 SQL table?
在您的 PowerApps 代码中选择一个命名约定并始终如一地使用它。
示例:
- 在您的代码中为所有 Collection 加上前缀
col
colArea
- 使所有数据tables(Sharepoint、SQL等)全部CAPITALS_WITH_UNDERSCORES
MY_SHAREPOINT_LIST
那么,at-a-glance,你就可以看出是什么类型的数据源了。
您还可以通过删除嵌套的 If
's:
If(
"EC - Empire Complex" in BuildingDropdown.Selected.Value,
Distinct(
Filter(Area, "1" in buildingID),
storey
),
"BTB - Brani Terminal Building" in BuildingDropdown.Selected.Value,
Distinct(
Filter(Area, "2" in buildingID),
storey
),
"KW - Keppel Workshop" in BuildingDropdown.Selected.Value,
Distinct(
Filter(Area, "3" in buildingID),
storey
),
"CSO - Container Side Office"in BuildingDropdown.Selected.Value,
Distinct(
Filter(Area, "4" in buildingID),
storey
),
"Others" in BuildingDropdown.Selected.Value,
Distinct(
Filter(
Area, "5" in buildingID),
storey
)
)
也要牢记 Switch()
(尽管在这里用处不大)。
如果有分支逻辑,通常使用嵌套 If
,但不用于多项选择。