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

Описание

В этом уроке мы повторим ссылки в Power Query, а именно:

Как сослаться на определенную строку и столбец в Power Query

В этом уроке мы решим задачу процентного прироста, т. е. сравним как отличается значение в текущей строке от значения в предыдущей.

Решение

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

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

Csv.Document

File.Contents

QuoteStyle.None

Table.SelectColumns

Table.RenameColumns

Table.TransformColumnTypes

Table.AddColumn

Table.Buffer

Table.AddIndexColumn

Table.RemoveColumns

Код

let

   source = Csv.Document(

      File.Contents(Путь & "pamm_208779_monitoring_daily_all_candle.csv"),

      [

         Delimiter  = ";",

         Columns    = 10,

         Encoding   = 1251,

         QuoteStyle = QuoteStyle.None

      ]

   ),

   cols_select = Table.SelectColumns(

      source,

      {"Column1", "Column2", "Column3", "Column4", "Column5"}

   ),

   cols_rename = Table.RenameColumns(

      cols_select,

      {

         {"Column1", "Дата"},

         {"Column2", "Открытие"},

         {"Column3", "Максимум"},

         {"Column4", "Минимум"},

         {"Column5", "Закрытие"}

      }

   ),

   cols_type = Table.TransformColumnTypes(

      cols_rename,

      {{"Дата", type date}}

   ),

   cols_type_2 = Table.TransformColumnTypes(

      cols_type,

      {

         {"Открытие", type number},

         {"Максимум", type number},

         {"Минимум", type number},

         {"Закрытие", type number}

      },

      "en-US"

   ),

   tab_add_col_1 = Table.AddColumn(

      cols_type_2,

      "Прибыль",

      each Инвестиция * ([Закрытие] * 0.01),

      type number

   ),

   tab_add_idx = Table.Buffer(Table.AddIndexColumn(tab_add_col_1, "Индекс", 0, 1)),

   tab_add_col_2 = Table.AddColumn(tab_add_idx, "Доходность", each try

         (

            (Инвестиция + tab_add_idx{[Индекс]}[Прибыль])

               - (Инвестиция + tab_add_idx{[Индекс] - 1}[Прибыль])

         )

            / (Инвестиция + tab_add_idx{[Индекс]}[Прибыль])

      otherwise

         0),

   cols_select_2 = Table.RemoveColumns(tab_add_col_2, {"Индекс"})

in

   cols_select_2

 

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