【发布时间】:2019-11-05 05:53:18
【问题描述】:
我需要根据每棵树的 3 个标准(健康、结构、形式)计算加权等级。对于每个标准,每棵树都有一个字母等级 (A-F)。每棵树的总体等级由标准加权。
我有一个 TREE TABLE,其中包含以下字段:树号、健康字母等级 (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 位置时,我最终得到每棵树的两条记录。一条记录的健康权重和结构权重不正确,而另一条记录的健康权重和结构权重不正确。
一些注意事项:评分尺度和权重可能会不时变化,所以我宁愿使用关系而不是 switch 函数。我的老板不喜欢过度嵌套。
我觉得这应该是一件容易的事,我一辈子都想不通。
【问题讨论】:
标签: ms-access relationship calculated-field weighted