访问:从多个字段的字母等级计算加权数字等级

  • 我需要根据每棵树的3个标准(健康,结构,形式)来计算加权等级。每棵树的每个标准都有一个字母等级(A-F)。每棵树的总体等级由标准加权。

  • 我有一个带有以下字段的树表:树号,健康字母等级(A-F),结构字母等级(A-F)和套用字母等级(A-F))

  • 我有一个评分表,其中包含以下字段:字母(A-F),数字(1-0)

  • 我有一个加权表,其中包含以下字段:标准(健康,结构...)和体重(.2,.6 ..)

  • GRADING SCALE TABLE [letter grade]TREE TABLE [health letter grade]上的每个条件,我之间是一对多的关系,等等。许多树可以具有相同的等级。

当我第一次测试显示每棵树的数字等级的查询时,但这导致了每棵树的三条记录,而这些记录不是正确的值。

我认为我将执行该过程并使用switch函数运行查询,该函数为每种标准的每棵树提供正确的数字等级(是的-这是基于类似的帖子,该帖子根据字母等级计算了数字等级)

我用过:

HealthNum: Switch([Health]="A",1,[Health]="B",.75...,True,"Missing a grade")

但是,我正在努力运行一个查询来计算每个标准的权重和最终权重。 我尝试了每个树标准:HealthWtd: [HealthNum]*[Criteria_wt];,其中标准字段设置为[Criteria]="Health"

当我设置[Criteria]="Health"并将[Criteria]="Structure"放置在OR位置时,最后得到每棵树两个记录。一个记录具有正确的健康权重和不正确的结构权重,而另一条记录具有不正确的健康权重和正确的结构权重。

一些警告:分级比例和权重可能会不时变化,因此我宁愿在开关功能上使用一种关系。我的老板不喜欢使用过多的嵌套。

我觉得这应该是一件容易的事,并且我一生无法理解。

访问:从多个字段的字母等级计算加权数字等级

suleo123 回答:访问:从多个字段的字母等级计算加权数字等级

使用当前表结构,可以在查询表达式中使用硬代码权重因子,也可以使用DLookup()从表中提取正确的权重因子。也可以将DLookup()用于Scale。

健康示例:
DLookup("Weight","Weighted","Criteria='Health'") * DLookup("Number","Scale","Letter='" & [Health] & "'")

树表未规范化。如果是这样,可以加入“比例”和“重量”表以正确关联记录并计算重量。然后,CROSSTAB查询可以产生水平输出。

可以连接到其他表的规范化表:

+---------+-----------+-------+
| TreeNum | Criteria  | Grade |
+---------+-----------+-------+
| 10      | Health    | A     |
+---------+-----------+-------+
| 10      | Structure | B     |
+---------+-----------+-------+
| 10      | Form      | C     |
+---------+-----------+-------+
| 12      | Health    | B     |
+---------+-----------+-------+
| 12      | Structure | B     |
+---------+-----------+-------+
| 12      | Form      | D     |
+---------+-----------+-------+
本文链接:https://www.f2er.com/3162000.html

大家都在问