Страницы: 1
RSS
Фильтр по датам в PQ из данных в Excel, Фильтр по датам в PQ из данных в Excel
 
Доброго времени суток!
Прошу помочь с одной задачкой в PQ, знаний в PQ можно сказать ноль, только учусь.
Есть таблица Excel с данными, со столбцом даты.
Создал к таблице подключение и теперь мне необходимо отфильтровать данные в PQ между определенных дат, которые указаны в самой таблице Excel.
Не могу понять, как сделать в PQ фильтр по датам (больше, меньше равно) из самой таблице Excel (из именованных таблиц, например).

Код, который в итоге не фильтрует:
let
   Источник = Excel.CurrentWorkbook(){[Name="Погашение"]}[Content],
   #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Дата погашения", type date}}),
   #"Строки с примененным фильтром" = Table.SelectRows(#"Измененный тип", each ([Наименование организации] = "ПАО")),
Источник1 = Excel.CurrentWorkbook(){[Name="Дата_начала_отчета"]}[Content],
   #"Измененный тип1" = Table.TransformColumnTypes(Источник1,{{"Дата начала отчета", type date}}),
   #"Строки с примененным фильтром1" = Table.SelectRows(#"Строки с примененным фильтром", each [Дата погашения] >= #"Измененный тип1")
in
   #"Строки с примененным фильтром1"
 
Из начала и конца отчёта извлеките даты:
Код
let
    // Извлечение даты начала отчёта
    Источник1 = Excel.CurrentWorkbook(){[Name="Дата_начала_отчета"]}[Content],
    #"Измененный тип1" = Table.TransformColumnTypes(Источник1,{{"Дата начала отчета", type date}}),
    Дата_начала_отчета = Record.Field(#"Измененный тип1"{0},"Дата начала отчета"),

    // Извлечение даты конца отчёта (если она есть)
    Источник2 = Excel.CurrentWorkbook(){[Name="Дата_конца_отчета"]}[Content],
    #"Измененный тип2" = Table.TransformColumnTypes(Источник2,{{"Дата конца отчета", type date}}),
    Дата_конца_отчета = Record.Field(#"Измененный тип2"{0},"Дата конца отчета"),

Затем примените фильтр:    
Код
Источник = Excel.CurrentWorkbook(){[Name="Погашение"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Дата погашения", type date}}),
    #"Строки с примененным фильтром" = Table.SelectRows(#"Измененный тип", each 
        ([Наименование организации] = "ПАО") and 
        [Дата погашения] >= Дата_начала_отчета and 
        [Дата погашения] <= Дата_конца_отчета)
in
    #"Строки с примененным фильтром"

И объедините всё в одно:
Код
let
    // Извлечение даты начала отчёта
    Источник1 = Excel.CurrentWorkbook(){[Name="Дата_начала_отчета"]}[Content],
    #"Измененный тип1" = Table.TransformColumnTypes(Источник1,{{"Дата начала отчета", type date}}),
    Дата_начала_отчета = Record.Field(#"Измененный тип1"{0},"Дата начала отчета"),

    // Извлечение даты конца отчёта (если она есть)
    Источник2 = Excel.CurrentWorkbook(){[Name="Дата_конца_отчета"]}[Content],
    #"Измененный тип2" = Table.TransformColumnTypes(Источник2,{{"Дата конца отчета", type date}}),
    Дата_конца_отчета = Record.Field(#"Измененный тип2"{0},"Дата конца отчета"),

    Источник = Excel.CurrentWorkbook(){[Name="Погашение"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Дата погашения", type date}}),
    #"Строки с примененным фильтром" = Table.SelectRows(#"Измененный тип", each 
        ([Наименование организации] = "ПАО") and 
        [Дата погашения] >= Дата_начала_отчета and 
        [Дата погашения] <= Дата_конца_отчета)
in
    #"Строки с примененным фильтром"

Если у вас нет даты конца отчёта, просто удалите соответствующие строки кода и измените условие фильтрации на [Дата погашения] >= Дата_начала_отчета
One tap - one kill
 
Цитата
написал:
   #"Строки с примененным фильтром" = Table.SelectRows(#"Измененный тип", each
       ([Наименование организации] = "ПАО") and
       [Дата погашения] >= Дата_начала_отчета and
       [Дата погашения] <= Дата_конца_отчета)
Спасибо! Низкий поклон, работает.
Страницы: 1
Читают тему
Наверх