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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Anonymous
Not applicable

If statement in Power Query Advanced Editor.

Hi there, 

 

This is probably a relatively simple answer, but I have tried it a few ways with no success. 

I am wanting to build in a an if fuction to check if the file is local or web based before sourcing the info. 

This is what i have currently come up with, but i continue to get SyntaxError: Token Identifier expected.

 

Essentialy, I want the source to change between web and file depending on whether i am accessing the server or the localaly saved files. Ie. Source = Excel.Workbook(**Web/File**.Contents(FilePath & FileName), null, true)

 

let
FilePath = Excel.CurrentWorkbook(){[Name="FILEPATH"]}[Content]{0}[Column1],
FileName = Excel.CurrentWorkbook(){[Name="CTRM_FILE"]}[Content]{0}[Column1],
FileType = Excel.CurrentWorkbook(){[Name="FILETYPE"]}[Content]{0}[Column1],

if FileType="Web" then Source = Excel.Workbook(Web.Contents(FilePath & FileName), null, true) else if FileType="file" then Source = Excel.Workbook(File.Contents(FilePath & FileName), null, true)else null

EQUIPMENT_LIST_Table = Source{[Item="EQUIPMENT_LIST",Kind="Table"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(EQUIPMENT_LIST_Table,{{"ID", type text}, {"DESCRIPTION", type text}, {"COMPANY_ID", type text}, {"Cost Type", type text}, {"RATE", Int64.Type}, {"CHARGE TYPE", type text}}),
#"Removed Other Columns" = Table.SelectColumns(#"Changed Type",{"ID", "DESCRIPTION", "COMPANY_ID", "Cost Type", "RATE", "CHARGE TYPE"})
in
#"Removed Other Columns"

 

Any help would be much appreciated 🙂

 

1 ACCEPTED SOLUTION
ImkeF
Super User
Super User

Hi @Anonymous 
please write it like so instead:
 Source = if FileType="Web" then Excel.Workbook(Web.Contents(FilePath & FileName), null, true) else if FileType="file" then Excel.Workbook(File.Contents(FilePath & FileName), null, true) else null

 

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

View solution in original post

2 REPLIES 2
ImkeF
Super User
Super User

Hi @Anonymous 
please write it like so instead:
 Source = if FileType="Web" then Excel.Workbook(Web.Contents(FilePath & FileName), null, true) else if FileType="file" then Excel.Workbook(File.Contents(FilePath & FileName), null, true) else null

 

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

Anonymous
Not applicable

Thanks Imke!

 

That did the trick 🙂

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors