我有完成所有 4 门课程所需的员工 ID 列表。我有一个经过训练的标识符列,如果课程完成,则包含 1。现在,如果他们已完成所有课程并且课程 1 >= 80 的分数,我需要将他们标记为已认证。
用户 |员工 ID |课程名称 |最终得分 |状态 |训练有素 | |------------|-------------|-------------|-------- ---|---------| | 10 | 10课程_1 | 85 | 85已完成 | 1 | | 10 | 10课程_2 | 80|已完成 | 1 | | 10 | 10课程_3 | 90 | 90已完成 | 1 | | 10 | 10课程_4 | 95 | 95已完成 | 1 | | 20 |课程_1 | 70 | 70已完成 | 1 | | 20 |课程_2 | 80|已订阅 | 1 | | 20 |课程_3 | 97 | 97已订阅 | 1 | | 20 |课程_4 | 60|已完成 | 1 |
在这种情况下我应该只得到1。我怎样才能做到这一点?
我尝试了几种计数测量方法,但是当我验证数据时,我发现一些人在课程 1 中取得了及格分数,但没有完成其他 3 门课程。
你可以做的是M中的
Group BY
,想法是创建列,以便你可以比较所有分数的总和以及所修课程的数量:
= Table.Group(#"YOUR_TABLE", {"employe_id"}, {{"Sum", each List.Sum([final_score]), type nullable number}, {"Count", each Table.RowCount(_), Int64.Type}})
现在我们可以在 DAX 中比较
Sum
和 count
(创建一个新列):
Status = IF('Table'[Sum] >= 80* 'Table'[Count],"completed","Failed")
希望这有帮助