Forum Discussion

Rakesh_508's avatar
Rakesh_508
Helper I
2 years ago
Solved

Paginated report - Builder

Hello,

Below is my requirement

 

Create a sample data in excel for class 10th and class has 3 sections (in each class assume students between 4 to 8 and student count should not be same between 2 classes), and all students have same subjects (Math, Physics, Chemistry). Result criteria: Above 60% -> 1st division, Below 60% and above 40% -> 2nd division, Below 40% and above 30% ->3rd division, Below 30% -> Fail Generate class results for all the sections where we can see the result of all the students including their total marks, percentage and outcome. Note: Make sure in sample data you have covered all possible scenarios to achieve the specified result criteria.

 

Develop a report using Power BI report builder to provide multi page report where each page consists of one student name and his/her respctive report card and the result criterial like the pass/fail calculated column should be created in report builder itself...

 

Thanks in advance

 

  • Hi, Rakesh_508 

    Step 1: Create Sample Data in Excel:

    | Class | Section | Student ID | Student Name | Math | Physics | Chemistry |
    |-------|---------|------------|--------------|------|---------|-----------|
    | 10    | A       | 1          | John Doe     | 75   | 65      | 70        |
    | 10    | A       | 2          | Jane Smith   | 45   | 55      | 60        |
    | 10    | A       | 3          | Jim Brown    | 30   | 35      | 25        |
    | 10    | A       | 4          | Jake White   | 85   | 90      | 88        |
    | 10    | B       | 5          | Julia Black  | 55   | 45      | 50        |
    | 10    | B       | 6          | Joe Blue     | 60   | 70      | 65        |
    | 10    | B       | 7          | Jessica Red  | 80   | 85      | 90        |
    | 10    | B       | 8          | Jack Green   | 35   | 40      | 45        |
    | 10    | C       | 9          | Jill Yellow  | 65   | 70      | 75        |
    | 10    | C       | 10         | Jerry Purple | 25   | 30      | 20        |
    | 10    | C       | 11         | Jeff Brown   | 40   | 50      | 55        |
    | 10    | C       | 12         | Jordan White | 95   | 98      | 97        |

    Step 2: Import Data into Power BI

    We need to create a calculated column:

    Total Marks = [Math] + [Physics] + [Chemistry]
    
    Percentage = [Total Marks] / 300 * 100
    
    Division = 
    SWITCH(
        TRUE(),
        [Percentage] > 60, "1st Division",
        [Percentage] > 40, "2nd Division",
        [Percentage] > 30, "3rd Division",
        "Fail"
    )

    Step 3: Develop Report in Power BI Report Builder:

    We need to use the semantic model we just used in the report builder, Use the following query to select the required data:

    SELECT 
        [Class], 
        [Section], 
        [Student ID], 
        [Student Name], 
        [Math], 
        [Physics], 
        [Chemistry], 
        [Total Marks], 
        [Percentage], 
        [Division] 
    FROM [YourDataset]

    In the report builder, you can add calculated fields for total marks, percentage, and division using expressions similar to the ones created in Power BI. Example Expression for Percentage and Division:

    =Fields!Math.Value + Fields!Physics.Value + Fields!Chemistry.Value
    =Switch(
        Fields!Percentage.Value > 60, "1st Division",
        Fields!Percentage.Value > 40, "2nd Division",
        Fields!Percentage.Value > 30, "3rd Division",
        True, "Fail"
    )

    Add a table or matrix to display student details, total marks, percentage, and division.

    Here's an example of how you might structure the report in Power BI Report Builder:

    Page Header:
    - Report Title
    - Date
    
    Body (for each student):
    - Student Name: [Student Name]
    - Class & Section: [Class] - [Section]
    - Subjects and Marks:
      | Subject   | Marks   |
      |-----------|---------|
      | Math      | [Math]  |
      | Physics   | [Physics] |
      | Chemistry | [Chemistry] |
    - Total Marks: [Total Marks]
    - Percentage: [Percentage]%
    - Division: [Division]
    
    Page Footer:
    - Page Number

     

    hackcrr

    If this post helps, then please consider Accept it as the solution and kudos to this post to help the other members find it more quickly

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi,Rakesh_508 .I am glad to help you.
    Hello,hackcrr ,thanks for your concern about this issue.Your answer is excellent!
    And I would like to share some additional solutions below.


    You could follow my test result:

    Enter data:

    Add each subject index column

    Here is my test Code:

     

    =Switch( 
    Fields!Rank_Math.Value >= Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.6,
    "1st division",
    Fields!Rank_Math.Value<Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.6 And 
    Fields!Rank_Math.Value>=Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.4,
    "2nd division",
    Fields!Rank_Math.Value<Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.4 And 
    Fields!Rank_Math.Value>=Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.3,
    "3rd division",
    Fields!Rank_Math.Value < Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.3,
    "fail")
    =Switch( 
    Fields!Rank_Physics.Value >= Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.6,
    "1st division",
    Fields!Rank_Physics.Value < Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.6 And 
    Fields!Rank_Physics.Value >= Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.4,
    "2nd division",
    Fields!Rank_Physics.Value < Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.4 And 
    Fields!Rank_Physics.Value >= Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.3,
    "3rd division",
    Fields!Rank_Physics.Value < Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.3,
    "fail")
    =Switch( 
    Fields!Rank_Chemistry.Value >= Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.6,
    "1st division",
    Fields!Rank_Chemistry.Value < Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.6 And 
    Fields!Rank_Chemistry.Value >= Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.4,
    "2nd division",
    Fields!Rank_Chemistry.Value < Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.4 And 
    Fields!Rank_Chemistry.Value >= Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.3,
    "3rd division",
    Fields!Rank_Chemistry.Value < Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.3,
    "fail")

     


    I would suggest that you create a ranked list of each student's grades in each subject for each class (note that it's an ascending list with the smaller ones at the front), and based on the order of the ranked list you can determine what level the student's grades are at in his/her class.

     


    Regarding the fact that different types of your data sources will require different ways of loading data, you could refer to the following links
    URL:
    Power BI Paginated Reports with Excel or CSV file ... - Microsoft Fabric Community
    Power BI Paginated Reports with Excel Source (mssqltips.com)

    I hope my suggestions give you good ideas, if you have any more questions, please clarify in a follow-up reply.

    Best Regards,

    Carson Jian,

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

  • Please follow the below steps :-
    1.You will need to create sample data in SQL server.
    2. Import data into Paginated Power BI Builder.
    3. Create Total Marks =Fields!Math.Value+Fields!Physics.Value+Fields!Chemistry.Value
    4. Percentage =Fields!TotalMarks.Value/300*100
    5. Division =IIF(Fields!Percentage.Value >= 60, "1st Division", IIF(Fields!Percentage.Value >= 40, "2nd Division", IIF(Fields!Percentage.Value >= 30, "3rd Division","Fail")))

    If your requirement is solved, please make THIS ANSWER a SOLUTION ✔️ and help other users find the solution quickly. Please hit the LIKE 👍 button if this comment helps you.

3 Replies

  • hackcrr's avatar
    hackcrr
    Memorable Member

    Hi, Rakesh_508 

    Step 1: Create Sample Data in Excel:

    | Class | Section | Student ID | Student Name | Math | Physics | Chemistry |
    |-------|---------|------------|--------------|------|---------|-----------|
    | 10    | A       | 1          | John Doe     | 75   | 65      | 70        |
    | 10    | A       | 2          | Jane Smith   | 45   | 55      | 60        |
    | 10    | A       | 3          | Jim Brown    | 30   | 35      | 25        |
    | 10    | A       | 4          | Jake White   | 85   | 90      | 88        |
    | 10    | B       | 5          | Julia Black  | 55   | 45      | 50        |
    | 10    | B       | 6          | Joe Blue     | 60   | 70      | 65        |
    | 10    | B       | 7          | Jessica Red  | 80   | 85      | 90        |
    | 10    | B       | 8          | Jack Green   | 35   | 40      | 45        |
    | 10    | C       | 9          | Jill Yellow  | 65   | 70      | 75        |
    | 10    | C       | 10         | Jerry Purple | 25   | 30      | 20        |
    | 10    | C       | 11         | Jeff Brown   | 40   | 50      | 55        |
    | 10    | C       | 12         | Jordan White | 95   | 98      | 97        |

    Step 2: Import Data into Power BI

    We need to create a calculated column:

    Total Marks = [Math] + [Physics] + [Chemistry]
    
    Percentage = [Total Marks] / 300 * 100
    
    Division = 
    SWITCH(
        TRUE(),
        [Percentage] > 60, "1st Division",
        [Percentage] > 40, "2nd Division",
        [Percentage] > 30, "3rd Division",
        "Fail"
    )

    Step 3: Develop Report in Power BI Report Builder:

    We need to use the semantic model we just used in the report builder, Use the following query to select the required data:

    SELECT 
        [Class], 
        [Section], 
        [Student ID], 
        [Student Name], 
        [Math], 
        [Physics], 
        [Chemistry], 
        [Total Marks], 
        [Percentage], 
        [Division] 
    FROM [YourDataset]

    In the report builder, you can add calculated fields for total marks, percentage, and division using expressions similar to the ones created in Power BI. Example Expression for Percentage and Division:

    =Fields!Math.Value + Fields!Physics.Value + Fields!Chemistry.Value
    =Switch(
        Fields!Percentage.Value > 60, "1st Division",
        Fields!Percentage.Value > 40, "2nd Division",
        Fields!Percentage.Value > 30, "3rd Division",
        True, "Fail"
    )

    Add a table or matrix to display student details, total marks, percentage, and division.

    Here's an example of how you might structure the report in Power BI Report Builder:

    Page Header:
    - Report Title
    - Date
    
    Body (for each student):
    - Student Name: [Student Name]
    - Class & Section: [Class] - [Section]
    - Subjects and Marks:
      | Subject   | Marks   |
      |-----------|---------|
      | Math      | [Math]  |
      | Physics   | [Physics] |
      | Chemistry | [Chemistry] |
    - Total Marks: [Total Marks]
    - Percentage: [Percentage]%
    - Division: [Division]
    
    Page Footer:
    - Page Number

     

    hackcrr

    If this post helps, then please consider Accept it as the solution and kudos to this post to help the other members find it more quickly

  • Ray_Minds's avatar
    Ray_Minds
    Solution Supplier

    Please follow the below steps :-
    1.You will need to create sample data in SQL server.
    2. Import data into Paginated Power BI Builder.
    3. Create Total Marks =Fields!Math.Value+Fields!Physics.Value+Fields!Chemistry.Value
    4. Percentage =Fields!TotalMarks.Value/300*100
    5. Division =IIF(Fields!Percentage.Value >= 60, "1st Division", IIF(Fields!Percentage.Value >= 40, "2nd Division", IIF(Fields!Percentage.Value >= 30, "3rd Division","Fail")))

    If your requirement is solved, please make THIS ANSWER a SOLUTION ✔️ and help other users find the solution quickly. Please hit the LIKE 👍 button if this comment helps you.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi,Rakesh_508 .I am glad to help you.
    Hello,hackcrr ,thanks for your concern about this issue.Your answer is excellent!
    And I would like to share some additional solutions below.


    You could follow my test result:

    Enter data:

    Add each subject index column

    Here is my test Code:

     

    =Switch( 
    Fields!Rank_Math.Value >= Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.6,
    "1st division",
    Fields!Rank_Math.Value<Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.6 And 
    Fields!Rank_Math.Value>=Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.4,
    "2nd division",
    Fields!Rank_Math.Value<Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.4 And 
    Fields!Rank_Math.Value>=Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.3,
    "3rd division",
    Fields!Rank_Math.Value < Count(Fields!Rank_Math.Value, "DataSet_C1003") * 0.3,
    "fail")
    =Switch( 
    Fields!Rank_Physics.Value >= Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.6,
    "1st division",
    Fields!Rank_Physics.Value < Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.6 And 
    Fields!Rank_Physics.Value >= Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.4,
    "2nd division",
    Fields!Rank_Physics.Value < Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.4 And 
    Fields!Rank_Physics.Value >= Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.3,
    "3rd division",
    Fields!Rank_Physics.Value < Count(Fields!Rank_Physics.Value, "DataSet_C1003") * 0.3,
    "fail")
    =Switch( 
    Fields!Rank_Chemistry.Value >= Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.6,
    "1st division",
    Fields!Rank_Chemistry.Value < Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.6 And 
    Fields!Rank_Chemistry.Value >= Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.4,
    "2nd division",
    Fields!Rank_Chemistry.Value < Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.4 And 
    Fields!Rank_Chemistry.Value >= Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.3,
    "3rd division",
    Fields!Rank_Chemistry.Value < Count(Fields!Rank_Chemistry.Value, "DataSet_C1003") * 0.3,
    "fail")

     


    I would suggest that you create a ranked list of each student's grades in each subject for each class (note that it's an ascending list with the smaller ones at the front), and based on the order of the ranked list you can determine what level the student's grades are at in his/her class.

     


    Regarding the fact that different types of your data sources will require different ways of loading data, you could refer to the following links
    URL:
    Power BI Paginated Reports with Excel or CSV file ... - Microsoft Fabric Community
    Power BI Paginated Reports with Excel Source (mssqltips.com)

    I hope my suggestions give you good ideas, if you have any more questions, please clarify in a follow-up reply.

    Best Regards,

    Carson Jian,

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.