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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
jcabeza
Frequent Visitor

generate a list with two intervals power query

I have a few hours of beginning and end, and I want to generate a list to later expand in rows, but when the hours pass to the next day I need a list to be generated until 23 hours and then to start at zero and reach the end.

 

StartEndExpected result
231{23,0,1]
220[22,23,0}
2323{23}
2223{22,23}

 

I made this code, but didn't work

 

let
Origen = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjJW0lEyMFSK1QGyjUBsAwgbJA4k4OIgdiwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Start = _t, End = _t]),
#"Tipo cambiado" = Table.TransformColumnTypes(Origen,{{"Start", Int64.Type}, {"End", Int64.Type}}),
#"Personalizada agregada" = Table.AddColumn(#"Tipo cambiado", "List", each try {[Start]..[End]} otherwise {[Start]..23,0..[End]}),
#"Se expandió Personalizado" = Table.ExpandListColumn(#"Personalizada agregada", "List")
in
#"Se expandió Personalizado"

 

*pd: excuse me if I have bad english, is not my native language

1 ACCEPTED SOLUTION
CNENFRNL
Community Champion
Community Champion

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjJW0lEyVIrVATKNgEwDCBMkCiTgwiB2LAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Start = _t, End = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Start", Int64.Type}, {"End", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if [End]<[Start] then List.Transform({[Start]..[End]+24}, each if _>=24 then _-24 else _) else {[Start]..[End]}),
    #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Custom", each Text.Combine(List.Transform(_, Text.From), ","), type text})
in
    #"Extracted Values"

Screenshot 2021-06-03 213922.png


Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension!

DAX is simple, but NOT EASY!

View solution in original post

1 REPLY 1
CNENFRNL
Community Champion
Community Champion

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjJW0lEyVIrVATKNgEwDCBMkCiTgwiB2LAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Start = _t, End = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Start", Int64.Type}, {"End", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if [End]<[Start] then List.Transform({[Start]..[End]+24}, each if _>=24 then _-24 else _) else {[Start]..[End]}),
    #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Custom", each Text.Combine(List.Transform(_, Text.From), ","), type text})
in
    #"Extracted Values"

Screenshot 2021-06-03 213922.png


Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension!

DAX is simple, but NOT EASY!

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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