我有一个表格模型,我们在其中计算指标的分数。性能得分是在模型中测量的。查询的结果集如下所示:
MetricID|PerformanceScore
1 50
2 30
根据分数,我们根据绩效分数所属的范围来分配分数。分数表如下所示:
Metric|LowRange|HighRange|Points
1 0 60 1
1 60 100 2
2 0 15 1
2 15 100 2
我希望能够在模型中添加一个度量,以便我们返回:
MetricID|PerformanceScore|Points
1 50 1
2 30 2
创建这项措施会是什么?
答案 0 :(得分:0)
我假设您的表名为Performance
和Ranges
,并且在列MetricID = Metric
上有关系。
您应该能够创建一个计算列,该列在第一个表Points
上提取相应的Performace
值,如下所示:
Points = MAXX(
FILTER(RELATEDTABLE(Ranges),
Ranges[LowRange] <= Performance[PerformanceScore] &&
Ranges[HighRange] > Performance[PerformanceScore]),
Ranges[Points])
如果您想这样做,请尝试以下方法:
PointsMeasure = MAXX(
FILTER(RELATEDTABLE(Ranges),
Ranges[LowRange] <= MAX(Performance[PerformanceScore]) &&
Ranges[HighRange] > MAX(Performance[PerformanceScore])),
Ranges[Points])
我喜欢使用变量来使其更具可读性:
PointsMeasure =
VAR Score = MAX(Performance[PerformanceScore])
RETURN MAXX(
FILTER(RELATEDTABLE(Ranges),
Ranges[LowRange] <= Score &&
Ranges[HighRange] > Score),
Ranges[Points])