[英]How do i divide group/data by % in Access?
這是我當前的代碼,它根據用戶的“FWB”分數將用戶划分為不同的類別,只是應對、表現出色、過關等。
SELECT FWBScore, gender,respondentname,
IIf(FWBScore<=22.5,"Having Trouble",IIf(FWBScore>=25 AND FWBScore<=47.5,"Just Coping",IIf(FWBScore>=50. AND FWBScore<=75.0,"Getting By",IIf(FWBScore>=77.5,"Doing Great","Doing Great")))) AS Categories
FROM RESPONDENT;
現在,我不是將它們除以他們的 FWB 分數,而是將它們除以每個類別中做出響應的人的百分比,例如,最終結果看起來像這樣
Doing Great Getting by Just Coping
24% 15% 10%
對此的任何幫助將不勝感激。
我建議只使用子查詢和聚合。 我懷疑你想要:
SELECT AVG(IIF(Category = "Having Trouble", 100.0, 0)) as having_trouble,
AVG(IIF(Category = "Just Coping", 100.0, 0)) as just_coping,
AVG(IIF(Category = "Getting By", 100.0, 0)) as getting_by,
AVG(IIF(Category = "Doing Great", 100.0, 0)) as doing_great
FROM (SELECT FWBScore, gender, respondentname,
IIf(FWBScore <= 22.5, "Having Trouble",
IIf(FWBScore >= 25 AND FWBScore <= 47.5, "Just Coping",
IIf(FWBScore >= 50. AND FWBScore <= 75.0, "Getting By",
IIf(FWBScore >= 77.5, "Doing Great", "Doing Great")
)
)
) AS Category
FROM RESPONDENT
) as r;
第一個注意。 您可以使用switch()
簡化所有這些iif()
條件。
第二個注意事項。 嚴格來說,子查詢是沒有必要的。 您可以將條件移動到外部查詢。 我使用了子查詢,所以我可以保留你原來的邏輯。
編輯:
使用switch()
:
FROM (SELECT FWBScore, gender, respondentname,
SWITCH(FWBScore <= 22.5, "Having Trouble",
FWBScore >= 25 AND FWBScore <= 47.5, "Just Coping",
FWBScore >= 50. AND FWBScore <= 75.0, "Getting By",
FWBScore >= 77.5, "Doing Great", "Doing Great"
) AS Category
FROM RESPONDENT
) as r;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.