Forum Discussion
relative file reference
- 10 years ago
Hm, strange.
Please try another split on _invdtl
Otherwise please try if the other option works (just to check if there isn't anything else to it here, or a bug)
let me shortly explain the error-message:
Ipath is a list, so you would have to decide somewhere, which item from the list should be taken. Also that is the reason why you cannot use Text.Combine on it, because you can use this command only with text as input, not with lists.
If you're working in Excel, you can try my dynamic approach instead:
So after you've extracted the individual dynamic filepath in a query named "Filepath" (which should be a table with one row only) you can construct your dynamic filepath like this:
lfile = Text.Combine({Filpath[TheColumnNameWithPathInIt]{0}, "\FC\dashboard\fc.mdb"}, ""),So the key is to adress the content of the table like in Excel via 2 coordinates: Columnname (here. "TheColumnNameWithFilepathInIt") and the rownumber (here: 0, as PQ starts to count with zero).
I find this article very helpful on this matter.
Youa re amazing! Thank you!!! I just got stuck at the next step. Below is my revised code. The problem is that the Source function returns an error that it cannot convert my path to type Binary?
let
lfile = Text.Combine({FilePathQuery[MyPath]{0}, "\FC\dashboard\fc.mdb"}, ""),
Source = Access.Database(FileContents(lfile), null, true),
_invdtl = Source{[Schema="",Item="invdtl"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(_invdtl,{{"INVDT", type date}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each [ACCT] = "06074")
in
#"Filtered Rows"
- sshweky10 years agoHelper III
OK. I think I got passed the binary issue. Revised Code below. Now I get this strange error when trying to filter the rows?
let
lfile = Text.Combine({FilePathQuery[MyPath]{0}, "\FC\dashboard\fc.mdb"}, ""),
Source = Access.Database(File.Contents(lfile)),
_invdtl = Source{[Schema="",Item="invdtl"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(_invdtl,{{"INVDT", type date}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each [ACCT] = "06074")
in
#"Filtered Rows"- ImkeF10 years agoCommunity Champion
You can either enable fast combine: https://support.office.com/en-us/article/Privacy-levels-Power-Query-cc3ede4d-359e-4b28-bc72-9bee7900b540
or split your query by checking step "Source" in the editor - rightclick your mouse and choose "Extract previous". This will create a separate query for the first steps. That way the query referencing external sources are separated from the one combining internal stuff and the message should go away.
- sshweky10 years agoHelper III
Thanks so much for your help!! I tried it but I still get the same message?
Revised code...
let
lfile = Query2,
Source = Access.Database(File.Contents(lfile)),
_invdtl = Source{[Schema="",Item="invdtl"]}[Data]
in
_invdtl