首页 文章

DAX联合 Value

提问于
浏览
0

我试图在DAX中创建一个度量,通过过滤两个维度表来获得具有相同列值的事实表的联合值(总和) .

这是关系的形象

enter image description here

Users 中的每个部门都链接到表 Registret . 他们正在为项目提供资源 . 表 Projects 正在采取资源 . 我想要完成的是一项措施,可以找到部门使用自己资源的金额 . 所以我想如果我可以过滤 Registret[Users]Registre[Project] ,其中 Users[Department ] = Projects[Department] 我会得到这个值 .

我想以 Projects[Department] 为基础 . 因此,下表将显示 Projects 中每个 Department 的内部部门注册金额 .

Department(Projects)   InternalRegistration
   A                           Value 
   B                           Value

到目前为止,我一直在尝试类似的东西

CALCULATE(Registret[Registret]; FILTER(Users; Users[Department] IN ALLSELECTED(Projects[Departments])))

但是如果我在切片器中从表 Projects 中单独显示一个部门,这只会显示正确的值 . 是否有可能解决方案是 UsersProjects 之间的联合表?

编辑:
enter image description here

顶部表格显示 RegistretUsersProjects 之间的关节值矩阵 .

EDIT2:

enter image description here
我的表数据的图像 .

1 回答

  • 1

    请注意,过滤器箭头仅指向下方 . 这意味着选择 Projects[Departments] 不会过滤 Users[Departments] ,因为没有连接它们的过滤器路径 . 您还缺少测量中的 SUM 函数 .

    尝试将您的度量调整为以下内容:

    = CALCULATE(SUM(Registret[Registret]);
          FILTER(Users; Users[Department] = SELECTEDVALUE(Projects[Departments])))
    

    如果您正在使用矩阵或表格, SELECTEDVALUE 应从视觉中选取行/列过滤器上下文,而 ALLSELECTED 仅从切片器或报表/页面/可视级别过滤器中选取过滤器上下文 .


    您也可以使用 ...IN VALUES(... 而不是 ...= SELECTEDVALUE(... .

    = CALCULATE(SUM(Registret[Registret]),
          FILTER(Users, Users[Department] IN VALUES(Projects[Department])))
    

    这两个都应该产生以下结果:

    Matrix

相关问题