簡體   English   中英

如何在 Access 中按 % 划分組/數據?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM