dax计算上下文似乎不起作用

时间:2017-09-11 12:53:39

标签: dax

我的2012表格模型基于您在下面看到的图表。我的AgreementRate措施的代码也如下所示。根据Marco的DAX权威指南第130-131页,版权所有2015,第六章,DAX示例,您在我的查询中看到的计算(如下所示)应该在我的查询中显示我的度量。当前行的员工ID。但它显示了返回的每一行的总体价值。我做错了什么?

AgreementRate:=Calculate(Sum('Fact'[AnswerFlag]),'Fact'[PositiveNotOther]=1) / (Calculate(Sum('Fact'[AnswerFlag]),'Fact'[PositiveNotOther]=1) + Calculate(DistinctCount(Fact[FK_CaseId]),'Fact'[NegativeNotOther]=1))

evaluate addcolumns(
                filter(Fact,related('Questions'[IsOther]) = 0),
                "Name",
                related(Employees[Name]),
                "FormName",
                related(Forms[FormName]),
                "StudyName",
                related(Studys[StudyName]),
                "Question",
                related(Questions[QuestionText]),
                "Rate",
                fact[AgreementRate],
                "agree1",
                calculate (fact[AgreementRate],
                           allselected(),-------------------------------------------original filters
                           --values(Employees[Name])--------------------------------supposed to be current context
                           values (fact[fk_empid])----------------------------------supposed to be current context

                          )
               )

star diagram

1 个答案:

答案 0 :(得分:0)

我假设您要实现此目的 - 删除除Employees [Name]或fact [fk_empid]之外的所有过滤器。 去做这个 你需要在VALUES()周围包含一个CALCULATETABLE()函数,以便在当前行的上下文中计算它,并保留Employees [Name]或fact [fk_empid]的当前行的值,并删除所有其他过滤器ALLSELECTED()