DAX - 达到目标的月百分比

DAX - What % of Months hit the Target

我正在尝试创建一个度量来计算 TOP2 调查达到我的目标的月份百分比。

这是我的数据集。

Dept_Surveys

我在 2020 年 11 月获得了 100% 的 TOP2 调查,在 2020 年 12 月获得了 30%,在 2021 年 1 月获得了 75%

我还有一个table,其中包含每个部门的实际目标。

Dept_Targets

Var __TOP2%byMonth =
SUMMARIZE (
    Dept_Surveys,
    Dept_Surveys[Dept],
    Dept_Surveys[MM-YY],
    "@Perc",
        DIVIDE (
            CALCULATE (
                DISTINCTCOUNT ( Dept_Surveys[SurveyID] ),
                FILTER ( Dept_Surveys, Dept_Surveys[category] = "TOP2" )
            ),
            CALCULATE ( DISTINCTCOUNT ( Dept_Surveys[SurveyID] ) )
        ) * 100
)

我从这个 DAX 得到以下结果。

Total_Months =
CALCULATE (
    DISTINCTCOUNT ( Dept_Surveys[MM-YY] )
)

所以在这里,我的营销部门在 2020 年 11 月和 2021 年 1 月达到了目标(比 Dept_Targets 大了 70)我需要计算实际达到目标的月份百分比。

这里我应该得到 2/3 = 65%

我需要比较 TOP2 调查百分比是否达到实际目标,最后我需要衡量有多少月份达到了目标

我们有型号:

Perc = 
        DIVIDE (
            CALCULATE (
                countrows( VALUES( Dept_Surveys[SurveyID] )),
                FILTER ( Dept_Surveys, Dept_Surveys[Survey] = "TOP2" )
            ),
            CALCULATE ( DISTINCTCOUNT ( Dept_Surveys[SurveyID] ) )
        ) * 100

然后:

Measure = 
var __Dept = SELECTEDVALUE(Dept_Surveys[Dept])
var __Perc = [Perc]
var __Target = calculate(max(Dept_Targets[Target]), Dept_Targets[Dept] = __Dept)
return
if(__Perc >= __Target, 1,0)

之后:

Measure 2 = 
var __Meettmp =  ADDCOLUMNS(ALL(Dept_Surveys[Dept],Dept_Surveys[MM-YY]), "XX", [Measure])
var __count = COUNTROWS(__Meettmp)
var __Meet = SUMX(__Meettmp, [XX])
return
DIVIDE(__Meet, __count)