Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
esgaranel
Frequent Visitor

esgaranel

How can I create a table (not a visual table) that shows the top two grades per day.

 

noTable.png

topN.png

I tried it with functions TOPN and RANK without success.

 

Thanks

1 ACCEPTED SOLUTION

HI @esgaranel,

You can take a look at the following calculate table formula if it suitable for your requirement:

 

NewTable =
VAR summary =
    ADDCOLUMNS (
        SUMMARIZE ( Hoja1, [FECHA], [CENTRO], "C_NOTA", COUNT ( Hoja1[NOTA] ) ),
        "C_NOTA&RAND", [C_NOTA] + RAND ()
    )
RETURN
    FILTER (
        ADDCOLUMNS (
            summary,
            "Rank",
                RANKX (
                    FILTER ( summary, [FECHA] = EARLIER ( Hoja1[FECHA] ) ),
                    [C_NOTA&RAND],
                    ,
                    DESC,
                    SKIP
                )
        ),
        [Rank] <= 2
    )

 

1.PNG

Notice: my formula will count the 'NOTA' field based on the 'FECHA', 'CENTRO' fields group, I also added RAND function to handle the ranking on these records who has the same 'NOTA' count.

Regards,

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

View solution in original post

3 REPLIES 3
v-shex-msft
Community Support
Community Support

Hi @esgaranel,

You can create new calculated table with variable table to summary record and add custom field to get correspond ranking, then filter on the variable table to keep top n rank records based on each group.

If you are confused about coding formula, can you please share some dummy data that keep the raw data structure with expected results? It should help us clarify your scenario and test to coding formula.

How to Get Your Question Answered Quickly  

Regards,

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

HI @esgaranel,

You can take a look at the following calculate table formula if it suitable for your requirement:

 

NewTable =
VAR summary =
    ADDCOLUMNS (
        SUMMARIZE ( Hoja1, [FECHA], [CENTRO], "C_NOTA", COUNT ( Hoja1[NOTA] ) ),
        "C_NOTA&RAND", [C_NOTA] + RAND ()
    )
RETURN
    FILTER (
        ADDCOLUMNS (
            summary,
            "Rank",
                RANKX (
                    FILTER ( summary, [FECHA] = EARLIER ( Hoja1[FECHA] ) ),
                    [C_NOTA&RAND],
                    ,
                    DESC,
                    SKIP
                )
        ),
        [Rank] <= 2
    )

 

1.PNG

Notice: my formula will count the 'NOTA' field based on the 'FECHA', 'CENTRO' fields group, I also added RAND function to handle the ranking on these records who has the same 'NOTA' count.

Regards,

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.