在 Powerapp 中计算图库中数字的平均值
Calculate average of numbers in Gallery in a Powerapp
我目前正在制作一个 powerapp,学生应该可以在其中输入他们的成绩。我目前正在处理显示平均值和 运行 的函数,解决我无法在 ForAll() 中使用 Set() 的问题。我有一个画廊的所有平均成绩。
我目前使用的代码是
Set(sum, 0);
Set(weight, 0);
ForAll(
GradeGallery.AllItems,
sum = sum + ThisRecord.Note * ThisRecord.Gewichtung;
weight = weight + ThisRecord.Gewichtung;
);
Set(average, sum / weight)
Power Apps 的语言 (Power Fx) 的核心是一种声明性(函数式)语言,而不是命令式语言:虽然有一些方法可以进行命令式计算,但如果您避免使用它们,您将充分利用该平台.在这种情况下,您可以使用以下表达式来计算图库项目的平均值:
Sum(GradeGallery.AllItems, ThisRecord.Note * ThisRecord.Gewichtung) /
Sum(GradeGallery.AllItems, ThisRecord.Gewichtung)
请注意,如果图库中没有任何项目,这可能会导致除以零,因此您可以使用类似下面的表达式来避免这种情况:
With(
{ all: GradeGallery.AllItems },
If(
CountRows(all) = 0,
0,
Sum(all, Note * Gewichtung) / Sum(all, Gewichtung)))
我目前正在制作一个 powerapp,学生应该可以在其中输入他们的成绩。我目前正在处理显示平均值和 运行 的函数,解决我无法在 ForAll() 中使用 Set() 的问题。我有一个画廊的所有平均成绩。
我目前使用的代码是
Set(sum, 0);
Set(weight, 0);
ForAll(
GradeGallery.AllItems,
sum = sum + ThisRecord.Note * ThisRecord.Gewichtung;
weight = weight + ThisRecord.Gewichtung;
);
Set(average, sum / weight)
Power Apps 的语言 (Power Fx) 的核心是一种声明性(函数式)语言,而不是命令式语言:虽然有一些方法可以进行命令式计算,但如果您避免使用它们,您将充分利用该平台.在这种情况下,您可以使用以下表达式来计算图库项目的平均值:
Sum(GradeGallery.AllItems, ThisRecord.Note * ThisRecord.Gewichtung) /
Sum(GradeGallery.AllItems, ThisRecord.Gewichtung)
请注意,如果图库中没有任何项目,这可能会导致除以零,因此您可以使用类似下面的表达式来避免这种情况:
With(
{ all: GradeGallery.AllItems },
If(
CountRows(all) = 0,
0,
Sum(all, Note * Gewichtung) / Sum(all, Gewichtung)))