If just to create new dimension/fact tables probably archiving the @Employee and @Leaves. It's possible to make it manually:
DIMENSION_1 = EMPLOYEE:
DIMID BIGINT;
ID BIGINT;
NAME NVARCHAR
DIMENSION_2 = LEAVE
DIMID BIGINT
TYPE NVARCHAR
FACT_TABLE = FACT TABLE
[Key: DIMENSION_1.DIMID] [Key: DIMENSION_2.DIMID] [Days - NUMBER];
Then fill the tables above and recreate foreign key constraints:
INSERT INTO DIMENSION_1 (DIMID, ID, NAME)
SELECT ROW_NUMBER() OVER (ORDER BY ID), ID, NAME
FROM
(
SELECT
ID, MAX(NAME) NAME
FROM
Employee
GROUP BY
ID
)
INSERT INTO DIMENSION_2 (DIMID, TYPE)
SELECT ROW_NUMBER() OVER (ORDER BY TYPE), TYPE
FROM
(
SELECT
DISTINCT LeaveType TYPE
FROM
Leaves
)
INSERT INTO FACT_TABLE (KEY_1, KEY_2, DAYS)
SELECT
DA.DIMID, DB.DIMID, SUM (CONVERT(BIGINT, B.DAYS)) DAYS
FROM
Employee A,
Leaves B,
DIMENSION_1 DA,
DIMENSION_2 DB
WHERE
A.ID = B.EmpId
AND A.ID = DA.ID
AND B.LeaveType = DB.TYPE
GROUP BY
DA.DIMID, DB.DIMID
SSAS: probably it's possible to create a new cube defining it's attributes as already processed objects.