我创建了一份报告,其中包含学生的模块和标记,因此可以将其视为学术成绩单。
我的问题是模块级别1,2和3有三个级别。我需要我的总计算才能计算级别为2和3的模块。总计2和3的权重是40/60, 2级为40%,3级为60%,因此最终成绩为平均成绩。
我已经针对所有2级和3级模块创建了一个名为FinalWeights的额外表格列,权重为0.4和0.6,所以我只需要帮助创建公式(我想!)。
我是如何排除Total的1级模块标记的?该公式应包括哪些内容?
谢谢!
答案 0 :(得分:0)
通常设计不好将计算数据保存到表中,尤其是聚合数据。在需要时在查询或报告文本框中执行此计算。
您需要将成绩字段乘以百分比吗?报告文本框中的表达式可能类似于:
from multiprocessing.dummy import Pool
from sklearn.cluster import KMeans
import functools
kmeans = KMeans()
# define your custom function for passing into each thread
def find_cluster(n_clusters, kmeans, X):
from sklearn.metrics import silhouette_score # you want to import in the scorer in your function
kmeans.set_params(n_clusters=n_clusters) # set n_cluster
labels = kmeans.fit_predict(X) # fit & predict
score = silhouette_score(X, labels) # get the score
return score
# Now's the parallel implementation
clusters = [3, 4, 5]
pool = Pool()
results = pool.map(functools.partial(find_cluster, kmeans=kmeans, X=X), clusters)
pool.close()
pool.join()
# print the results
print(results) # will print a list of scores that corresponds to the clusters list
或使用Choose()函数计算报告RecordSource查询中的加权等级。然后在报告的文本框中,只引用Avg()函数中构造的字段。
我认为Level是一个保留字。应该避免使用保留字作为名称。