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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
SysJessica1
New Member

Split annual value across 12 months with dates

I have a simple table with an annual Amount.  I need to split this so I can connect to a date slicer.  The AnualAmount needs to be divided by 12 then that amount in the table with a monthly date.

My Table is currently like this.

Table Name: Annual Sales

capt.JPG

I need the total amount split by 12 months like this

Capt2.JPG

 

Thank in advance😊

1 ACCEPTED SOLUTION

Hi again @SysJessica1 ,

Whenever the name of a step in power query contains a space, the name needs to be in quotes and preceeded by a "#" character. For example #"Changed Type". If this step were named ChangedType, without a space, it woudn't need the "#" or quote marks.

 

When you create the blank query, open it in the Advanced Editor (Power Query Home Ribbon -> Advanced Editor button). You will see

let
Source = ""
in
Source

Replace all of this with the code in my previous reply and click "Done". This will yield the result in the image I included in my previous reply. The first two steps in the code - "Source" and "Changed Type" are only there to recreate a sample of data - it's the steps after that which matter.

 

However, that is only for demo purposes. To use my code in your own query do the following.

  1. Open your query in Advanced Editor.
  2. Delete the last two lines of your query (the "in" line and whatever follows it e.g....) 
    in
    #"Changed Type1"
  3. Add a comma at the end of the last line you have left.
  4. After the comma place my code (excluding its first two lines).
  5. Where I have #"Create lists of monthly amount and date" replace that with the name of the last step you had after you deleted your last two lines.
  6. Click "Done".

This will create a monthly cost for each month of 2024 for all your IDNumbers.

Hope this works for you.

View solution in original post

4 REPLIES 4
SysJessica1
New Member

I tried to put this into a blank query and maybe I am doing this completely wrong as I have never done a query before.  But it just gives me the code then I try to convert it to a table and it is blank

I am not sure what those # is?

Is the intent for me to create multiple tables using your code?

Hi again @SysJessica1 ,

Whenever the name of a step in power query contains a space, the name needs to be in quotes and preceeded by a "#" character. For example #"Changed Type". If this step were named ChangedType, without a space, it woudn't need the "#" or quote marks.

 

When you create the blank query, open it in the Advanced Editor (Power Query Home Ribbon -> Advanced Editor button). You will see

let
Source = ""
in
Source

Replace all of this with the code in my previous reply and click "Done". This will yield the result in the image I included in my previous reply. The first two steps in the code - "Source" and "Changed Type" are only there to recreate a sample of data - it's the steps after that which matter.

 

However, that is only for demo purposes. To use my code in your own query do the following.

  1. Open your query in Advanced Editor.
  2. Delete the last two lines of your query (the "in" line and whatever follows it e.g....) 
    in
    #"Changed Type1"
  3. Add a comma at the end of the last line you have left.
  4. After the comma place my code (excluding its first two lines).
  5. Where I have #"Create lists of monthly amount and date" replace that with the name of the last step you had after you deleted your last two lines.
  6. Click "Done".

This will create a monthly cost for each month of 2024 for all your IDNumbers.

Hope this works for you.

This worked!  Thank you for your help!

collinsg
Super User
Super User

Good day @SysJessica1 ,

Here is an option.

  1. Transform "AnnualAmount" into a list of lists - with each list containing the monthly amount and start of month (do this by creating, for each AnnualAmount, a list of 12 numbers, each 1/12 of annual amount and a list of 12 dates for the year - and zip these two lists together).
  2. Expand the list of lists into a row for each sub-list.
  3. Expand the sub-lists into text.
  4. Finish by splitting the text into the amount and date and typing.

This is probably easier to follow by clicking through the steps in the code...here is sample code which you can paste into a blank query and then step through.

Hope this helps

let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcjQxMTI1U9JRMjI3MDAA0u5Fqal5Ck6pOTlKsTrRSm4WluamJkBxEwMLsLx/UWJeeqqCR2piUYlSbCwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Number = _t, AnnualAmount = _t, Description = _t]),
#"Changed Type" = Table.TransformColumnTypes(
Source, {{"Number", type text}, {"AnnualAmount", Int64.Type}, {"Description", type text}}),
#"Create lists of monthly amount and date" = Table.TransformColumns(
#"Changed Type",{{"AnnualAmount",
each
List.Zip({
List.Numbers(_ / 12, 12, 0),
List.Transform({1..12}, each #date(2024, _, 1))
})}}),
#"Expand the lists" = Table.ExpandListColumn(#"Create lists of monthly amount and date", "AnnualAmount"),
#"Extracted Values" = Table.TransformColumns(
#"Expand the lists", {"AnnualAmount", each Text.Combine(List.Transform(_, Text.From), " "), type text}),
#"Split amount from date" = Table.SplitColumn(
#"Extracted Values",
"AnnualAmount",
Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Monthly Amount", "Date"} ),
#"Changed Type1" = Table.TransformColumnTypes(#"Split amount from date",{{"Monthly Amount", Int64.Type}, {"Date", type date}})
in
#"Changed Type1"

which gives...

collinsg_0-1721321472759.png

 

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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

Top Solution Authors