Forum Discussion

Rygar's avatar
Rygar
Helper II
3 years ago
Solved

Loop through an existing table

Hi all!

 

I think the following task should be solved with some kind of loop:

All three Webadresses are stored in Table and the entire example file is here 

The "programming" above works fine but, is there a better way in M to solve this problem then my simple approach above? Some kind of Loop, Recursion or stuff like that?

 

Thanks a lot! Michael

  • Hello, Rygar put your names and values into table and ⬇️

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8snMS0lV0lHKKCkpKLbS1y8vL9dLyk8tKk7VS0nVT8wuyUzN0wcr0g3wcdZ1BAnoe7oaGBgEW0YGm5sZKcXqRCs5ZhYp+GQWlmYSNguoVBeqFGqaWxDQNANDIwMDc2OIabmpJanZBA0Cq4KaERpsYGxoCDTFwMBEKTYWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Value = _t]),
        content = Table.TransformColumns(Source, {"Value", each Web.Page(Web.Contents(_)){1}[Data]{0}[Column2]})
    in
        content

2 Replies

  • Hello, Rygar put your names and values into table and ⬇️

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8snMS0lV0lHKKCkpKLbS1y8vL9dLyk8tKk7VS0nVT8wuyUzN0wcr0g3wcdZ1BAnoe7oaGBgEW0YGm5sZKcXqRCs5ZhYp+GQWlmYSNguoVBeqFGqaWxDQNANDIwMDc2OIabmpJanZBA0Cq4KaERpsYGxoCDTFwMBEKTYWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Value = _t]),
        content = Table.TransformColumns(Source, {"Value", each Web.Page(Web.Contents(_)){1}[Data]{0}[Column2]})
    in
        content
    • Rygar's avatar
      Rygar
      Helper II

      Thank you AlienSX, this solution is so elegant and shows its better not to stuck in "loop-thinking"!

      For everyone interested, my final solution with an additional column with share-names looks like this:

      let
          Source = URL,
          #"Duplizierte Spalte" = Table.DuplicateColumn(Source, "URL", "URL_Value"),
          Values=Table.TransformColumns(#"Duplizierte Spalte", {"URL", each Web.Page(Web.Contents(_)){2}[Caption]}),
          Names=Table.TransformColumns(Values, {"URL_Value", each Web.Page(Web.Contents(_)){1}[Data]{0}[Column2]})
      in
          Names

      Result as Table

      URLURL_Value
      Realtime-Kurse Linde PLC Aktie325,95 EUR
      Realtime-Kurse Air Liquide Aktie157,73 EUR
      Realtime-Kurse Ametek Aktie124,00 EUR

       

      Best Michael