In your calculation you are performing a row level comparison whereas what you are after is the aggregate level. You can wrap the aggregation around your measures, for example: SUM([KPI]). Additionally you don't have to return a string (denoted by quotations) for each label and wrap that around with a float function but directly return the float. I've done a small example with sample superstore to help illustrate:
Let me know if this helps or you need further guidance.
Certified Tableau & Alteryx Trainer, The Information Lab
Aggregation.twbx 2.4 MB
without seeing your workbook, it is hard to provide a accurate solution, it seems your KPI is already an aggregation calculation, so probably you could try
([KPI1}+[KPI2}.......+[KPI7})/7*countd(month([your date field]))
Hope this helps