我有维度表人,职位,部门和事实表工作。工作将职位与一个人结合在一起。一个人可以在一个以上的部门工作。需要提供用户按部门过滤的能力 - 但是,如果我只是约束结果 WHERE dept_id IN('MATH'),那么我不能表示准确的图片;丧失员工在其他部门可能的其他工作。我需要能够通过一个部门进行筛选,并且仍然可以显示所有部门中所有职位的记录。想知道我是否应该创建一个桥接表。我将从数据仓库和SSAS表格模型进行报告,因此我尝试使用DAX以及SQL
答案 0 :(得分:0)
您可以使用相关子查询来选择该部门中的所有人员,而不限制返回的实际部门:
...
WHERE person_id IN(
SELECT DISTINCT person_id
FROM Person p
JOIN Department d
ON p.department_id = d.department_id
WHERE d.dept_id = 'MATH'
)