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
sonuojha1 , what measure you need that is not clear?
Can you share expected output
Hi Amit,
Expected output is the excel image attached here. Need to show approved cases
Expected output
- Anonymous5 years agoNot applicable
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