Если вы хотите использовать иерархию, предложенный вами путь будет лучшим решением, да. Измерение может быть получено из таблицы фактов с помощью простого запроса SQL, такого как
SELECT CASE WHEN balance >= 0 AND balance < 500 THEN 1
WHEN balance >= 500 AND balance < 1000 THEN 2 END AS balanceGroupID,
CASE WHEN balance WHEN balance >= 0 AND balance < 500 THEN "0 - 500"
WHEN balance >= 500 AND balance < 1000 THEN "500 - 1000" END AS balanceGroupName
НТН