Forum Discussion

deniztopcu's avatar
deniztopcu
Brass Contributor
Aug 01, 2023
Solved

yahoo data download error with power query

Hello;

I made some progress but I couldn't reach the result. Can you help me?

 

  • deniztopcu 

     

    That URL doesn't return JSON data, so you should use Web.Page(Web.Contents(...)) instead.

     

    let
        tblSymbols = Excel.CurrentWorkbook(){[Name="tblSymbols"]}[Content],
        #"Değiştirilen Değer" = Table.SelectRows(tblSymbols , each ([Symbol] <> null) ) //and ([Value] <> "0")
    ,
        #"Changed Type" = Table.TransformColumnTypes(#"Değiştirilen Değer",{{"Symbol", type text}}),
       GetBaseURL = Table.AddColumn(#"Changed Type", "BasedURL", each Excel.CurrentWorkbook(){[Name="tblParameters"]}[Content]),
        #"Genişletilen BasedURL" = Table.ExpandTableColumn(GetBaseURL, "BasedURL", {"ParamVal"}, {"ParamVal"}),
        ReplacedSymbol = Table.AddColumn(#"Genişletilen BasedURL", "ReplaceSYMBOL", each Text.Replace([ParamVal],"SYMBOL",[Symbol])),
        GetSourceValue = Table.AddColumn(ReplacedSymbol, "GetData", each Table.SelectRows( Web.Page(Web.Contents([ReplaceSYMBOL])) , each [Caption] = "Top Mutual Fund Holders")[Data]{0}),
        #"Expanded GetData" = Table.ExpandTableColumn(GetSourceValue, "GetData", {"Holder", "Shares", "Date Reported", "% Out", "Value"}, {"Holder", "Shares", "Date Reported", "% Out", "Value"})
    in
        #"Expanded GetData"

     

    Add steps to clean up the data types at the end. 

  • flexyourdata's avatar
    flexyourdata
    Iron Contributor

    deniztopcu 

     

    That URL doesn't return JSON data, so you should use Web.Page(Web.Contents(...)) instead.

     

    let
        tblSymbols = Excel.CurrentWorkbook(){[Name="tblSymbols"]}[Content],
        #"Değiştirilen Değer" = Table.SelectRows(tblSymbols , each ([Symbol] <> null) ) //and ([Value] <> "0")
    ,
        #"Changed Type" = Table.TransformColumnTypes(#"Değiştirilen Değer",{{"Symbol", type text}}),
       GetBaseURL = Table.AddColumn(#"Changed Type", "BasedURL", each Excel.CurrentWorkbook(){[Name="tblParameters"]}[Content]),
        #"Genişletilen BasedURL" = Table.ExpandTableColumn(GetBaseURL, "BasedURL", {"ParamVal"}, {"ParamVal"}),
        ReplacedSymbol = Table.AddColumn(#"Genişletilen BasedURL", "ReplaceSYMBOL", each Text.Replace([ParamVal],"SYMBOL",[Symbol])),
        GetSourceValue = Table.AddColumn(ReplacedSymbol, "GetData", each Table.SelectRows( Web.Page(Web.Contents([ReplaceSYMBOL])) , each [Caption] = "Top Mutual Fund Holders")[Data]{0}),
        #"Expanded GetData" = Table.ExpandTableColumn(GetSourceValue, "GetData", {"Holder", "Shares", "Date Reported", "% Out", "Value"}, {"Holder", "Shares", "Date Reported", "% Out", "Value"})
    in
        #"Expanded GetData"

     

    Add steps to clean up the data types at the end. 

Resources