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)
我正在尝试创建一个度量来计算 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)