MyTetra Share
Делитесь знаниями!
Power Query. Формулы М. Ссылки 2
Время создания: 07.10.2021 20:29
Текстовые метки: Power Query, Формулы М
Раздел: !Закладки - MSO - Excel - Power Query
Запись: xintrea/mytetra_db_adgaver_new/master/base/1633627756dkv70q4la3/text.html на raw.githubusercontent.com

Описание

В этом уроке мы будем повторять ссылки в Power Query. В этом уроке мы научимся ссылаться на нужное значение, которое находится внутри табличного столбца. Мы сошлемся на нужную строку и столбец, которые находятся в таблице, которая находится внутри табличного столбца.

Помимо этого мы еще повторим функции Table.Skip и Table.PromoteHeaders.

Наша задача — объединить таблицы, которые находятся внутри одной книги на разных листах.

Дополнительная сложность в том, что часть данных находятся не внутри таблицы, а перед ней.

 

Мы в результате получим следующую таблицу:

 

Категорию и Report Date нам нужно тоже добавить в таблицу.

Решение

Сначала мы подключимся к книге Excel, оставим только табличный столбец и добавим столбец, в котором будет находиться название категории. Для этого нужно будет правильно на нужно значение сослаться.

 

Далее аналогичным способом мы добавим столбец с Report Date и основной таблицей.

Примененные функции

Excel.Workbook

File.Contents

Table.SelectColumns

Table.AddColumn

Table.PromoteHeaders

Table.Skip

Table.RemoveColumns

Table.ExpandTableColumn

Код

let

   path = Excel.CurrentWorkbook(){[Name = "Путь"]}[Content][Column1]{0},

   source = Excel.Workbook(File.Contents(path), null, true),

   cols_select = Table.SelectColumns(source, {"Data"}),

   tab_add_col_1 = Table.AddColumn(

      cols_select,

      "Категория",

      each [Data][Column1]{1},

      type text

   ),

   tab_add_col_2 = Table.AddColumn(

      tab_add_col_1,

      "Дата отчета",

      each [Data][Column2]{1},

      type date

   ),

   tab_add_col_3 = Table.AddColumn(

      tab_add_col_2,

      "Пользовательская",

      each Table.PromoteHeaders(

         Table.Skip([Data], 3),

         [PromoteAllScalars = true]

      )

   ),

   cols_select_2 = Table.RemoveColumns(tab_add_col_3, {"Data"}),

   col_expand = Table.ExpandTableColumn(

      cols_select_2,

      "Пользовательская",

      {

         "Name",

         "ProductNumber",

         "Color",

         "StandardCost",

         "ListPrice",

         "Size"

      },

      {

         "Name",

         "ProductNumber",

         "Color",

         "StandardCost",

         "ListPrice",

         "Size"

      }

   )

in

   col_expand

 

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования