Expression.Error the collumn from the table was not found

Copper Contributor

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

9 Replies

@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.

@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

@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

 

 

@RubenDB 

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

 

@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.

@Riny_van_Eekelen Bedankt voor je antwoord.

 

Ik heb dit geprobeerd maar dan wordt niet de hele tabel geladen (zie foto).

 

 

@RubenDB Both ways should work, but @Sergei Baklan 's is more robust, I would say. See attached file.

@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.

@RubenDB 

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.