Mar 19 2021 03:48 PM
Dear
I'll make a cryptocurrencies overview for all my assets. I want to do this with data I get from a web page (coinmarketcap.com). So I make a link with my excell file. The data refreshed when I open my document. Every 5 minutes all my databases do a refresh. But then I get the error -> "Expression.Error the collumn from the table was not found".
Does anybody know, how can I solve this problem?
Thank you in advance
Ruben
Mar 19 2021 10:51 PM
@RubenDB Connected to the same table as in your 2nd screenshot, with the same script (in English though).All works well and refreshing works without problems. I can, thus, not replicate your problem.
But try this. Remove the "Type gewijzigd" step, so the PQ isn't looking for "Column1" to begin with. Do you really need to the step there? When I connect to the source both columns are already text, without the need for a data typing step.
Mar 20 2021 12:30 AM
@Riny_van_Eekelen Thank you for your answer.
I don't understand what I have to do. This is the first time that I'm working with querry's. Understand code is the script. What do I have to change on this script?
let
Bron = Web.Page(Web.Contents("https://coinmarketcap.com/currencies/cardano/")),
Data0 = Bron{0}[Data],
#"Type gewijzigd" = Table.TransformColumnTypes(Data0,{{"Column1", type text}, {"Column2", type text}})
in
#"Type gewijzigd"
Only Column 2 have I need for working with.
Thanks
Mar 20 2021 01:21 AM
@RubenDB In de lijst met toegepaste stappen: verwijder de stap "Type gewijzigd".
Het script komt er dan zo uit te zien:
let
Bron = Web.Page(Web.Contents("https://coinmarketcap.com/currencies/cardano/")),
Data0 = Bron{0}[Data]
in
Data0
Mar 20 2021 01:40 AM
Web site is not static, some script reload web page and update the information. In particular sequence of tables could be another. Thus as a minimum I'd suggest to take not a first table in the list, but filter it by name.
let
Bron = Web.Page(Web.Contents("https://coinmarketcap.com/currencies/cardano/")),
#"Filtered Rows" = Table.SelectRows(Bron, each ([Caption] = "Cardano Price Today")),
Data = #"Filtered Rows"{0}[Data]
in
Data
Mar 20 2021 02:02 AM
@Sergei Baklan Thanks Sergei
I have tried this modification, but now I get another error named:
"expression.error there weren't enough elements in the enumeration to complete the operation"
Maybe it is needed to know that I have multiple databases from a dynamic web page. You can see on the picture all my querry's.
Thank you for your patiently.
Mar 20 2021 02:05 AM
@Riny_van_Eekelen Bedankt voor je antwoord.
Ik heb dit geprobeerd maar dan wordt niet de hele tabel geladen (zie foto).
Mar 20 2021 02:34 AM
@RubenDB Both ways should work, but @Sergei Baklan 's is more robust, I would say. See attached file.
Mar 20 2021 02:58 AM - edited Mar 20 2021 02:59 AM
@Riny_van_Eekelen I've seen your querry scripts, I have tried this but I still have the same issue. I just sent you my file (Value's are not real). There you see my databases and the script. You should see some querry's with your script. But you see also a few scripts with @Sergei Baklan scripts. So maybe we see a difference.
When you refresh the querry's manually all at the same time, you should have some errors.
Mar 20 2021 03:29 AM
Afraid that's nothing to do with that. Most probably script on the site prevents to return data after few sequential requests from one source. They are pushing you to use API https://coinmarketcap.com/api/pricing/, you may try free plan but it's quite limited.