Fiscal date formula in Power Query

%3CLINGO-SUB%20id%3D%22lingo-sub-3286212%22%20slang%3D%22en-US%22%3EFiscal%20date%20formula%20in%20Power%20Query%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-3286212%22%20slang%3D%22en-US%22%3E%3CP%3EI%20am%20looking%20for%20help%20with%20this%20formula%20in%20PQ%20so%20that%20I%20get%20the%20Fiscal%20Quarter%2C%20eg%20Q1%2C%20Q2%2C%20etc.%26nbsp%3B%20The%20formula%20shows%20no%20error%20but%20the%20result%20is%20displaying%20%22Table%22.%26nbsp%3B%26nbsp%3B%3C%2FP%3E%3CP%3Epaste%20view%3A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22BWatkins_0-1649966749703.png%22%20style%3D%22width%3A%20652px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F364370i162AC16E386D70F8%2Fimage-dimensions%2F652x150%3Fv%3Dv2%22%20width%3D%22652%22%20height%3D%22150%22%20role%3D%22button%22%20title%3D%22BWatkins_0-1649966749703.png%22%20alt%3D%22BWatkins_0-1649966749703.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3D%20Table.AddColumn(%23%22Change%20YTD%20Amt%20to%20decimal%22%2C%20%22Quarter%22%2C%20each%20if%20%5BClose%20Date%5D%26gt%3B%3D%20Date.FromText(%222021%2C10%2C1%22)%20and%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222021%2C12%2C31%22)%20then%20%22Q1%22%20else%20Table.AddColumn(%23%22Change%20YTD%20Amt%20to%20decimal%22%2C%20%22Quarter%22%2C%20each%20if%20%5BClose%20Date%5D%26gt%3B%3D%20Date.FromText(%222022%2C1%2C1%22)%20and%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222022%2C3%2C31%22)%20then%20%22Q2%22%20else%20Table.AddColumn(%23%22Change%20YTD%20Amt%20to%20decimal%22%2C%20%22Quarter%22%2C%20each%20if%20%5BClose%20Date%5D%26gt%3B%3D%20Date.FromText(%222022%2C4%2C1%22)%20and%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222022%2C6%2C30%22)%20then%20%22Q3%22%20else%20%22Q4%22)))%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-3286212%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EExcel%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EFormulas%20and%20Functions%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-3286287%22%20slang%3D%22en-US%22%3ERe%3A%20Fiscal%20date%20formula%20in%20Power%20Query%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-3286287%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F1309463%22%20target%3D%22_blank%22%3E%40BWatkins%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAlternatively%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-powerquery%22%3E%3CCODE%3E%20%20%20%20%23%22Inserted%20Quarter%22%20%3D%20Table.AddColumn(%0A%20%20%20%20%20%20%20%20%23%22Change%20YTD%20Amt%20to%20decimal%22%2C%0A%20%20%20%20%20%20%20%20%22Quarter%22%2C%0A%20%20%20%20%20%20%20%20each%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Q%22%20%26amp%3B%20Text.From(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%20%5BClose%20Date%5D%20%26gt%3B%20%23date(2022%2C6%2C30)%20or%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5BClose%20Date%5D%20%26lt%3B%20%23date(2021%2C10%2C1)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20then%204%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Number.Mod(%20Date.QuarterOfYear(%5BClose%20Date%5D)%20%2B%201%2C%204)%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20type%20text)%0A%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-3286272%22%20slang%3D%22en-US%22%3ERe%3A%20Fiscal%20date%20formula%20in%20Power%20Query%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-3286272%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F1309463%22%20target%3D%22_blank%22%3E%40BWatkins%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWith%20use%20%3CEM%3E%3CSTRONG%3Eeach%3C%2FSTRONG%3E%3C%2FEM%3E%20within%20condition%2C%20thus%20iterate%20column%20one%20more%20time%20and%20generate%20the%20table%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-powerquery%22%3E%3CCODE%3E%20%20%20%20a%20%3D%20Table.AddColumn(%0A%20%20%20%20%20%20%20%20%23%22Change%20YTD%20Amt%20to%20decimal%22%2C%0A%20%20%20%20%20%20%20%20%22Quarter%22%2C%0A%20%20%20%20%20%20%20%20each%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%20%5BClose%20Date%5D%26gt%3B%3D%20Date.FromText(%222021%2C10%2C1%22)%20and%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222021%2C12%2C31%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20then%20%22Q1%22%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20Table.AddColumn(%23%22Change%20YTD%20Amt%20to%20decimal%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Quarter%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20each%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%20%5BClose%20Date%5D%26gt%3B%3D%20Date.FromText(%222022%2C1%2C1%22)%20and%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222022%2C3%2C31%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20then%20%22Q2%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Table.AddColumn(%23%22Change%20YTD%20Amt%20to%20decimal%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Quarter%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20each%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%20%5BClose%20Date%5D%26gt%3B%3D%20Date.FromText(%222022%2C4%2C1%22)%20and%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222022%2C6%2C30%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20then%20%22Q3%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20else%20%22Q4%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20)%0A%20%20%20%20)%2C%0A%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3EThis%20one%20works%3A%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-powerquery%22%3E%3CCODE%3E%20%20%20%20a%20%3D%20Table.AddColumn(%0A%20%20%20%20%20%20%20%20%23%22Change%20YTD%20Amt%20to%20decimal%22%2C%0A%20%20%20%20%20%20%20%20%22Quarter%22%2C%0A%20%20%20%20%20%20%20%20each%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%20%5BClose%20Date%5D%26gt%3B%3D%20Date.FromText(%222021%2C10%2C1%22)%20and%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222021%2C12%2C31%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20then%20%22Q1%22%0A%20%20%20%20%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%20%5BClose%20Date%5D%26gt%3B%3D%20Date.FromText(%222022%2C1%2C1%22)%20and%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222022%2C3%2C31%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20then%20%22Q2%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%20%5BClose%20Date%5D%26gt%3B%3D%20Date.FromText(%222022%2C4%2C1%22)%20and%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222022%2C6%2C30%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20then%20%22Q3%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20else%20%22Q4%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20)%0A%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-3286269%22%20slang%3D%22en-US%22%3ERe%3A%20Fiscal%20date%20formula%20in%20Power%20Query%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-3286269%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F1309463%22%20target%3D%22_blank%22%3E%40BWatkins%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAssuming%20I%20don't%20make%20mistake%20with%20Notepad%20the%20following%20should%20fix%20the%20issue%2C%20not%20necessarily%20do%20what%20you%20expect%20though...%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-powerquery%22%3E%3CCODE%3E%3D%20Table.AddColumn(%23%22Change%20YTD%20Amt%20to%20decimal%22%2C%20%22Quarter%22%2C%20each%0A%20%20%20%20if%20%5BClose%20Date%5D%26gt%3B%3D%20Date.FromText(%222021%2C10%2C1%22)%20and%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222021%2C12%2C31%22)%0A%20%20%20%20then%20%22Q1%22%0A%20%20%20%20else%20if%20Date.FromText(%222022%2C1%2C1%22)%20and%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222022%2C3%2C31%22)%0A%20%20%20%20then%20%22Q2%22%0A%20%20%20%20else%20if%20%5BClose%20Date%5D%26gt%3B%3D%20Date.FromText(%222022%2C4%2C1%22)%20and%20%5BClose%20Date%5D%26lt%3B%3D%20Date.FromText(%222022%2C6%2C30%22)%0A%20%20%20%20then%20%22Q3%22%0A%20%20%20%20else%20%22Q4%22%0A)%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3EIf%20this%20does%20what%20you%20expect%20I%20would%20suggest%20you%20have%20a%20look%20to%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fpowerquery-m%2Fsharpdate%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3E%23date%3C%2FA%3E%20that's%20easier%20and%20probably%20more%20efficient%20than%20Date.FromText%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E
New Contributor

I am looking for help with this formula in PQ so that I get the Fiscal Quarter, eg Q1, Q2, etc.  The formula shows no error but the result is displaying "Table".  

paste view:

BWatkins_0-1649966749703.png

= Table.AddColumn(#"Change YTD Amt to decimal", "Quarter", each if [Close Date]>= Date.FromText("2021,10,1") and [Close Date]<= Date.FromText("2021,12,31") then "Q1" else Table.AddColumn(#"Change YTD Amt to decimal", "Quarter", each if [Close Date]>= Date.FromText("2022,1,1") and [Close Date]<= Date.FromText("2022,3,31") then "Q2" else Table.AddColumn(#"Change YTD Amt to decimal", "Quarter", each if [Close Date]>= Date.FromText("2022,4,1") and [Close Date]<= Date.FromText("2022,6,30") then "Q3" else "Q4")))

 

3 Replies

@BWatkins 

 

Assuming I don't make mistake with Notepad the following should fix the issue, not necessarily do what you expect though...

 

= Table.AddColumn(#"Change YTD Amt to decimal", "Quarter", each
    if [Close Date]>= Date.FromText("2021,10,1") and [Close Date]<= Date.FromText("2021,12,31")
    then "Q1"
    else if Date.FromText("2022,1,1") and [Close Date]<= Date.FromText("2022,3,31")
    then "Q2"
    else if [Close Date]>= Date.FromText("2022,4,1") and [Close Date]<= Date.FromText("2022,6,30")
    then "Q3"
    else "Q4"
)

If this does what you expect I would suggest you have a look to #date that's easier and probably more efficient than Date.FromText

 

 

@BWatkins 

With use each within condition, thus iterate column one more time and generate the table

    a = Table.AddColumn(
        #"Change YTD Amt to decimal",
        "Quarter",
        each
            if  [Close Date]>= Date.FromText("2021,10,1") and
                [Close Date]<= Date.FromText("2021,12,31")
            then "Q1"
            else Table.AddColumn(#"Change YTD Amt to decimal",
                    "Quarter",
                    each
                        if  [Close Date]>= Date.FromText("2022,1,1") and
                            [Close Date]<= Date.FromText("2022,3,31")
                        then "Q2"
                        else
                            Table.AddColumn(#"Change YTD Amt to decimal",
                                "Quarter",
                                each
                                    if  [Close Date]>= Date.FromText("2022,4,1") and
                                        [Close Date]<= Date.FromText("2022,6,30")
                                    then "Q3"
                                    else "Q4"
                            )
                    )
    ),

This one works:

    a = Table.AddColumn(
        #"Change YTD Amt to decimal",
        "Quarter",
        each
            if  [Close Date]>= Date.FromText("2021,10,1") and
                [Close Date]<= Date.FromText("2021,12,31")
            then "Q1"
            else
                if  [Close Date]>= Date.FromText("2022,1,1") and
                    [Close Date]<= Date.FromText("2022,3,31")
                then "Q2"
                else
                    if  [Close Date]>= Date.FromText("2022,4,1") and
                        [Close Date]<= Date.FromText("2022,6,30")
                    then "Q3"
                    else "Q4"
                    
    )

@BWatkins 

Alternatively

    #"Inserted Quarter" = Table.AddColumn(
        #"Change YTD Amt to decimal",
        "Quarter",
        each
            "Q" & Text.From(
                if  [Close Date] > #date(2022,6,30) or
                    [Close Date] < #date(2021,10,1)
                then 4
                else
                    Number.Mod( Date.QuarterOfYear([Close Date]) + 1, 4)
            ),
        type text)