Ms access 访问:根据多个字段的字母等级计算加权数字等级
我需要根据每棵树的3个标准(健康、结构、形式)计算加权分数。对于每个标准,每个树都有一个字母等级(a-F)。每棵树的总等级由标准加权Ms access 访问:根据多个字段的字母等级计算加权数字等级,ms-access,relationship,calculated-field,weighted,Ms Access,Relationship,Calculated Field,Weighted,我需要根据每棵树的3个标准(健康、结构、形式)计算加权分数。对于每个标准,每个树都有一个字母等级(a-F)。每棵树的总等级由标准加权 我有一个带有字段的树表:TREE#、健康字母等级(a-F)、结构字母等级(a-F)和表单字母等级(a-F)) 我有一个带有字段的分级比例表:字母等级(a-F)、数字等级(1-0) 我有一个带字段的加权表:条件(健康状况、结构…)和权重(.2、.6…) 我从评分表[字母等级]到树表[健康字母等级]上的每个标准都有一对多的关系。许多树可以具有相同的等级 当我第一次测
评分表[字母等级]
到树表[健康字母等级]
上的每个标准都有一对多的关系。许多树可以具有相同的等级HealthNum: Switch([Health]="A",1,[Health]="B",.75...,True,"Missing a grade")
但是,我正在努力运行一个查询来计算每个条件的权重和最终权重。
我尝试了每个树标准:HealthWtd:[HealthNum]*[criteria\u wt]代码>其中标准字段设置为[criteria]=“Health”
当我设置[Criteria]=“Health”
并将[Criteria]=“Structure”
放在OR位置时,每个树都有两条记录。一条记录的健康权重和结构权重不正确,而另一条记录的健康权重和结构权重不正确
一些注意事项:分级比例和权重可能会不时变化,因此我宁愿使用切换函数上的关系。我的老板不喜欢过度筑巢
我觉得这应该是一项简单的任务,而且我一辈子都无法解决这个问题
对于当前表结构,可以在查询表达式中硬编码权重因子,也可以使用DLookup()从表中提取正确的权重因子。也可以使用DLookup()进行缩放
健康示例:
DLookup(“重量”、“加权”、“标准”健康“))*DLookup(“数字”、“刻度”、“字母=”、[Health]&“”)
树表未规范化。如果是,则可以连接到磅秤和重量表,以正确关联记录并计算重量。然后,交叉表查询可以生成水平输出
可以连接到其他表的规范化表:
+---------+-----------+-------+
| TreeNum | Criteria | Grade |
+---------+-----------+-------+
| 10 | Health | A |
+---------+-----------+-------+
| 10 | Structure | B |
+---------+-----------+-------+
| 10 | Form | C |
+---------+-----------+-------+
| 12 | Health | B |
+---------+-----------+-------+
| 12 | Structure | B |
+---------+-----------+-------+
| 12 | Form | D |
+---------+-----------+-------+
对于当前表结构,可以在查询表达式中硬编码权重因子,也可以使用DLookup()从表中提取正确的权重因子。也可以使用DLookup()进行缩放
健康示例:
DLookup(“重量”、“加权”、“标准”健康“))*DLookup(“数字”、“刻度”、“字母=”、[Health]&“”)
树表未规范化。如果是,则可以连接到磅秤和重量表,以正确关联记录并计算重量。然后,交叉表查询可以生成水平输出
可以连接到其他表的规范化表:
+---------+-----------+-------+
| TreeNum | Criteria | Grade |
+---------+-----------+-------+
| 10 | Health | A |
+---------+-----------+-------+
| 10 | Structure | B |
+---------+-----------+-------+
| 10 | Form | C |
+---------+-----------+-------+
| 12 | Health | B |
+---------+-----------+-------+
| 12 | Structure | B |
+---------+-----------+-------+
| 12 | Form | D |
+---------+-----------+-------+
经过进一步的研究,我意识到树表没有规范化。我分别查询每个评分标准,然后提取相应的数字评分,并计算每个标准的评分权重。然后我使用3个查询来计算总权重。我试图避免查找,因为在表中使用查找有很多争议。谢谢争议涉及查找字段,而不是查找表。在从查找表中提取信息的表单上构建组合框和列表框。在查询中使用DLookup()函数的表达式与查找字段无关。域聚合函数会降低查询的性能。经过进一步研究,我发现树表没有规范化。我分别查询每个评分标准,然后提取相应的数字评分,并计算每个标准的评分权重。然后我使用3个查询来计算总权重。我试图避免查找,因为在表中使用查找有很多争议。谢谢争议涉及查找字段,而不是查找表。在从查找表中提取信息的表单上构建组合框和列表框。在查询中使用DLookup()函数的表达式与查找字段无关。域聚合函数会降低查询的性能。