Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.
Hello everyone,
is it possible to create multiple if statement? I am asking here because I couldn't find any normal tutorial for this. If I use the code like this I am getting error "Token Identifier expected.", I am trying to create historical data for dataset for past 5 days.
if
Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 0
then
(let
Source = Oracle.Database("LINK", [HierarchicalNavigation=true]),
NAME = Source{[Schema="NAME"]}[Data],
RENAME = NAME{[Name="DATASET"]}[Data],
ConvertedPath = Text.Replace("PATHFORFILE", "\", "/"),
RScript = R.Execute("write.csv(NAME,"""&ConvertedPath&""")
output <- NAME
",[NAME=NAME]),
output = RScript{[Name="FILENAME"]}[Value]
in
output)
else
(let
Source = Csv.Document(File.Contents("PATHOFFILE.csv"),[Delimiter=",", Columns=, Encoding=, QuoteStyle=QuoteStyle.None]),
#"Changed Type" = Table.TransformColumnTypes(Source,{COLUMNS}),
#"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars=true]),
#"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{COLUMNS}),
/*IF AGAIN*/
if
Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 1
then
(let
Source = Oracle.Database("LINK", [HierarchicalNavigation=true]),
NAME = Source{[Schema="NAME"]}[Data],
RENAME = NAME{[Name="DATASET"]}[Data],
ConvertedPath = Text.Replace("PATHFORFILE", "\", "/"),
RScript = R.Execute("write.csv(NAME,"""&ConvertedPath&""")
output <- NAME
",[NAME=NAME]),
output = RScript{[Name="FILENAME"]}[Value]
in
output)
else
(let
Source = Csv.Document(File.Contents("PATHOFFILE.csv"),[Delimiter=",", Columns=, Encoding=, QuoteStyle=QuoteStyle.None]),
#"Changed Type" = Table.TransformColumnTypes(Source,{COLUMNS}),
#"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars=true]),
#"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{COLUMNS}),
/*IF AGAIN*/
Solved! Go to Solution.
Well, you can have multiple if statements as in the query below.
I included a "let .. in" statement for Monday, just to illustrate how that would look like.
let
Output = if Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 0
then let InnerOutput = "Monday"
in InnerOutput
else if Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 1
then "Tuesday"
else if Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 2
then "Wednesday"
else if Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 3
then "Thursday"
else if Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 4
then "Thank God it's Friday"
else "Weekend!!"
in
Output
In general the structure of a query is like:
let
step1 = formula,
step2 = formula,
...
stepn = formula
in
stepnIt is not possible to create an if ... then ... else statement without a step name.
Well, you can have multiple if statements as in the query below.
I included a "let .. in" statement for Monday, just to illustrate how that would look like.
let
Output = if Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 0
then let InnerOutput = "Monday"
in InnerOutput
else if Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 1
then "Tuesday"
else if Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 2
then "Wednesday"
else if Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 3
then "Thursday"
else if Date.DayOfWeek(DateTime.LocalNow(), Day.Monday) = 4
then "Thank God it's Friday"
else "Weekend!!"
in
Output
In general the structure of a query is like:
let
step1 = formula,
step2 = formula,
...
stepn = formula
in
stepnIt is not possible to create an if ... then ... else statement without a step name.