Просто отмените нормирование в таблице dimDepartment
dimDepartment Example Data
---------------- -------------
DepartmentKey 1234
DepartmentBusinessKey a_b_a1
Department A1
SubCompany B
Company A
Так для всей компании A:
select
sum(Amount) as TotalSale
, sum(Taxes) as TotalTax
from factSale as f
join dimDepartment as d on d.DepartmentKey = f.DepartmentKey
where Company = 'A'
для дочерней компании B компании A
where Company = 'A'
and SubCompany = 'B'
для отдела A1, подкомпания B, компания A
where Company = 'A'
and SubCompany = 'B'
and Department = 'A1'
Если у компании нет подгрупп, просто используйте 'none' or 'main'
в качестве названия подгруппы по умолчанию.