Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Splitting dates from other Column

Hi Community,   New to Power BI and need your help.    I have got a requirement to separate the project start and end dates from a project dates column.    Table Structure: Project Name Status...
  • az38's avatar
    6 years ago

    Hi Anonymous 

    How is your Dates field look like if start and end dates in differents monthes?

    If you have preiods mandatory from the same month you can try a calculated columns like

    Start Date = 
    var _y = RIGHT([Dates],4)
    var _m = LEFT([Dates],3)
    var _delimiterPos = SEARCH("-",[Dates])
    var _d = MID([Dates],4,_delimiterPos-4)
    RETURN
    DATEVALUE(CONCATENATE(_d,CONCATENATE(" ",CONCATENATE(_m,CONCATENATE(" ",_y)))))

    and

    End Date = 
    var _y = RIGHT([Dates],4)
    var _m = LEFT([Dates],3)
    var _delimiterPos = SEARCH("-",[Dates])
    var _d = MID([Dates],_delimiterPos+1,LEN([Dates])-6-_delimiterPos)
    RETURN
    DATEVALUE(CONCATENATE(_d,CONCATENATE(" ",CONCATENATE(_m,CONCATENATE(" ",_y)))))
  • dax's avatar
    6 years ago

    Hi Anonymous , 

    You also could use M code(Edit Queries) to achieve this goal

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCijKz0pNLjFU0lFyzs8tyEktSU0Bsr0S8xQMTXWNDHUUjAwMLZVideBKjdCUuqUmKRjqWoIUGhkoxcYCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Project Name" = _t, #"Status " = _t, Dates = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Project Name", type text}, {"Status ", type text}, {"Dates", type text}}),
        #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Dates", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Dates.1", "Dates.2", "Dates.3"}),
        #"Split Column by Delimiter1" = Table.SplitColumn(#"Split Column by Delimiter", "Dates.2", Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv), {"Dates.2.1", "Dates.2.2"}),
        #"Added Custom" = Table.AddColumn(#"Split Column by Delimiter1", "start", each [Dates.1]& " "&[Dates.2.1]
    &", "&[Dates.3]),
        #"Added Custom1" = Table.AddColumn(#"Added Custom", "end", each [Dates.1]& " "&[Dates.2.2]&" "
    &[Dates.3]),
        #"Removed Columns1" = Table.RemoveColumns(#"Added Custom1",{"Dates.1", "Dates.2.1", "Dates.2.2", "Dates.3"})
    in
        #"Removed Columns1"

    Best Regards,
    Zoe Zhi

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