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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
NipponSahore
Resolver II
Resolver II

Drill by decade

Hi Guys,

 

I'm quite new to PowerBI and i was wondering if there is any way to Drilldown an Year value by decade.

I have a sample dataset of IMDB top 250 movies and want to drill down by decade, but cant find a way around.

 

Also i've read somewhere that the max possible value for a date is year. Is that true?

Secondly, i created a column with a "decade value" by dividing the year value by 10, but cant find a way to drill from this decade value to year value. 

 

Anyone has any idea or can suggest any direction that i can follow. Any help is greatly appreciated. : )

8 REPLIES 8
Chiranjit
Frequent Visitor

To get a decade bucket first extract a Year column from date column. Change the data type of the Year column from date to text.

Then create this custom column.

 

 

Decade bucket = 
var yearlastdigit = RIGHT ( Decade[Year], 1 )
return
IF (
    yearlastdigit = "0",
    IF (
        YEAR ( Decade[Date] ) < 2000,
        "19"
            & INT (
                ( YEAR ( Decade[Date] ) - 1900 )
                    / 10
            )
            & "0"
            & " - "
            & (
                CEILING ( YEAR ( Decade[Date] ) / 10, 1 )
                    * 10
                    + 10
            )
                - 1,
        "20"
            & INT (
                ( YEAR ( Decade[Date] ) - 2000 )
                    / 10
            )
            & "0"
            & " - "
            & (
                CEILING ( YEAR ( Decade[Date] ) / 10, 1 )
                    * 10
                    + 10
            )
                - 1
    ),
    IF (
        YEAR ( Decade[Date] ) < 2000,
        "19"
            & INT (
                ( YEAR ( Decade[Date] ) - 1900 )
                    / 10
            )
            & "0"
            & " - "
            & (
                CEILING ( YEAR ( Decade[Date] ) / 10, 1 )
                    * 10
            )
                - 1,
        "20"
            & INT (
                ( YEAR ( Decade[Date] ) - 2000 )
                    / 10
            )
            & "0"
            & " - "
            & (
                CEILING ( YEAR ( Decade[Date] ) / 10, 1 )
                    * 10
            )
                - 1
    )
)

 

You will get the output like this.

 

8.JPG

 

Now you can drill down from Decade bucket to year value.

v-caliao-msft
Microsoft Employee
Microsoft Employee

Hi Nippon,

 

According to your description, you need way to Drilldown an Year value by decade, right?

 

If that is the case, you can create a column use the DAX below.
Decade = FLOOR(YEAR(Decade[Date])/10,1)*10&"-"&CEILING(YEAR(Decade[Date])/10,1)*10

Capture.PNG

 

Regards,

Charlie Liao

Good tip! worked for me 🙂

This message may be a bit late but i struggled to create a Decade column since i have data from 1900 till today. The solutions given here did not meet my requirements (see in the screenshot before me that data in 1960 is given the decade 1960-1960). For anyone who is having the same problem, use this formula:

 

Decade = If(Year(Calender[Date])<2000,"19" & Int((Year(Calender[Date])-1900)/10) & "0's", "20"& Int((Year(Calender[Date])-2000)/10) & "0's")

Greg_Deckler
Super User
Super User

You should be able to create a new column like:

 

Decade = ROUNDDOWN(([Year]-2000)/10,0)*10

Obviously, you'll have to account for 1900's movies, you could do that in an if statement or I'm sure there is a nifty math solution.

decade.png

 


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Here is a nifty math solution which accounts for both centuries 🙂 

 

Decade =
VAR DecadeStart =
    'Date'[Year] - MOD ( 'Date'[Year], 10 )
VAR DecadeEnd = DecadeStart + 10
RETURN
    DecadeStart & " - " & DecadeEnd
Anonymous
Not applicable

How do I show, in a table, the highest rated movie / highest ranked movie in each decade? What about top 2 in each decade?

Also, how do I highlight the decades in which the top 3 movies were released?

ankitpatira
Community Champion
Community Champion

If you've created decade column then it is very easy. In the axis option of your visual drop decade field followed by year field and that will allow you to drill down from decade to year.

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

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

July Newsletter

Fabric Community Update - July 2024

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

Top Solution Authors