Forum Discussion
How to get data from Multiple Transaction (Fact ) tables!!
- Anonymous5 years ago
Hi sonuojha1 ,
I updated your sample pbix file(see attachment), please check whether that is what you want.
1. Delete the relationship base on employee number among Dim - Employee, Fact - Approved Course and Fact - Course Completed table
2. Change the data type of employee number and course id with same data type among four tables
3. Create a measure to judge whether the current course is approved or completed one
Flag = VAR _tab = CALCULATETABLE ( VALUES ( 'Fact - Approved Course'[CourseID] ), FILTER ( 'Fact - Approved Course', 'Fact - Approved Course'[Employee Number] = SELECTEDVALUE ( 'Dim - Employee'[Employee Number] ) ) ) VAR _tab2 = CALCULATETABLE ( VALUES ( 'Fact - Course Completed'[CourseID] ), FILTER ( 'Fact - Course Completed', 'Fact - Course Completed'[EmpID] = SELECTEDVALUE ( 'Dim - Employee'[Employee Number] ) ) ) RETURN IF ( ( SELECTEDVALUE ( 'Dim - Course'[CourseID] ) IN _tab || SELECTEDVALUE ( 'Dim - Course'[CourseID] ) IN _tab2 ), 1, 0 )4. Create two measures as below to get the approved courses and completed%
Approved Courses = VAR _tab = CALCULATETABLE ( VALUES ( 'Fact - Approved Course'[CourseID] ), FILTER ( 'Fact - Approved Course', 'Fact - Approved Course'[Employee Number] = SELECTEDVALUE ( 'Dim - Employee'[Employee Number] ) ) ) RETURN IF ( SELECTEDVALUE ( 'Dim - Course'[CourseID] ) IN _tab, SELECTEDVALUE ( 'Dim - Course'[CourseName] ), BLANK () )Completed% = CALCULATE ( MAX ( 'Fact - Course Completed'[Complete %] ), FILTER ( 'Fact - Course Completed' , 'Fact - Course Completed'[EmpID] = SELECTEDVALUE ( 'Dim - Employee'[Employee Number] ) && 'Fact - Course Completed'[CourseID] = SELECTEDVALUE ( 'Dim - Course'[CourseID] ) ) )Best Regards
Hi Amit,
Expected output is the excel image attached here. Need to show approved cases
Expected output
Hi sonuojha1 ,
I updated your sample pbix file(see attachment), please check whether that is what you want.
1. Delete the relationship base on employee number among Dim - Employee, Fact - Approved Course and Fact - Course Completed table
2. Change the data type of employee number and course id with same data type among four tables
3. Create a measure to judge whether the current course is approved or completed one
Flag =
VAR _tab =
CALCULATETABLE (
VALUES ( 'Fact - Approved Course'[CourseID] ),
FILTER (
'Fact - Approved Course',
'Fact - Approved Course'[Employee Number]
= SELECTEDVALUE ( 'Dim - Employee'[Employee Number] )
)
)
VAR _tab2 =
CALCULATETABLE (
VALUES ( 'Fact - Course Completed'[CourseID] ),
FILTER (
'Fact - Course Completed',
'Fact - Course Completed'[EmpID]
= SELECTEDVALUE ( 'Dim - Employee'[Employee Number] )
)
)
RETURN
IF (
(
SELECTEDVALUE ( 'Dim - Course'[CourseID] )
IN _tab
|| SELECTEDVALUE ( 'Dim - Course'[CourseID] ) IN _tab2
),
1,
0
)
4. Create two measures as below to get the approved courses and completed%
Approved Courses =
VAR _tab =
CALCULATETABLE (
VALUES ( 'Fact - Approved Course'[CourseID] ),
FILTER (
'Fact - Approved Course',
'Fact - Approved Course'[Employee Number]
= SELECTEDVALUE ( 'Dim - Employee'[Employee Number] )
)
)
RETURN
IF (
SELECTEDVALUE ( 'Dim - Course'[CourseID] ) IN _tab,
SELECTEDVALUE ( 'Dim - Course'[CourseName] ),
BLANK ()
)Completed% =
CALCULATE (
MAX ( 'Fact - Course Completed'[Complete %] ),
FILTER (
'Fact - Course Completed' ,
'Fact - Course Completed'[EmpID]
= SELECTEDVALUE ( 'Dim - Employee'[Employee Number] )
&& 'Fact - Course Completed'[CourseID] = SELECTEDVALUE ( 'Dim - Course'[CourseID] )
)
)
Best Regards