Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Формула массива для сравнения дат
 
Добрый вечер, друзья. В файле примере на листе 2 есть список дат (начала месяцев). На листе 1 этот диапазон дат разбит по неделям. Мне необходимо к каждому началу месяца(лист2) подтянуть ближайшее начало недели с листа 1. Формулы на листе 2 прописаны, одна из них работает, другая - нет, хотя отличаются только диапазоном выборки ( в идеале нужно чтоб работало на всем диапазоне с листа 1). Где тут косяк? Почему одна формула работает нормально, а другая - нет?
Как поменять названия столбцов в PQ на названия соседних столбцов?
 
Добрый день, форумчане.
Прошу помочь настроить автозамену названия столбца на название соседнего столбца. Файл с простейшим примером прикладываю.

UPD: итоговая таблица должна иметь следующий вид: Товар - Дата - Количество/Сумма - Значение. Сделать это через попу с большим количеством шагов я могу, но хотелось бы оптимального решения, ибо массив данных весьма большой.  
Изменено: Владимир Колотиев - 19.04.2021 18:42:52
Combiner ы power query
 
Всем привет, есть столбец с номерами телефонов вида +7(999)999-99-99. Необходимо убрать плюсы, тире, скобки. как это сделать наиболее просто и рационально? Есть подозрение, что с помощью combiner'ов.
Функция для определения среднеквадратического значения в Power Query
 
В PQ есть функция List.StandardDeviation, но она рассчитывает именно стандартное отклонение, когда расчет производится по выборке из большого массива данных. Мне же нужно сделать расчет на основе конкретного числа элементов (среднеквадратическое отклонение), но функции подобной я не нашел. Писать огромную формулу в несколько шагов можно, но это будет долго работать.
Обращение к шагу из другого запроса PQ
 
Всем привет. Такой вопрос: можно ли как-то из одного запроса обратиться к определенному шагу другого запроса, если да, то как?
Например есть заброс Б, из него я хочу обратиться к шагу N запроса А.
Ссылка на умную таблицу из другой книги
 
Вопрос, возможно, глупый, но как сослаться из книги А на умную таблицу, расположенную в книге В, таким образом, чтоб при добавлении строчек в этой умной таблице в книге В, строчки автоматически добавлялись и в книге А? Я, конечно, могу в книге А проставить формулы, ссылающиеся на нужные ячейки таблицы книги В, но если в В добавляются данные, то придется протягивать ручками + постоянно следить, обновились ли данные в В.
Изменено: Владимир Колотиев - 28.01.2021 13:10:09
Как избежать повторного обращения к источнику данных в запросе Power query?, использование функции Table.Buffer при работе с большими массивами данных
 
Всем привет! В процессе обработки запроса PQ происходит неоднократное обращение к источнику данных, а так как объем данных достаточно большой, то обработка запроса затягивается на десятки минут, а то и часы. Вопрос таков: как избежать повторного обращения к источнику данных, чтоб сократить время обработки запроса? Ниже привожу код конкретного запроса:
Код
let
    Источник = Folder.Files("X:\Отдел аналитики\Внутренние данные\Выгрузки\Месяц_Счет_Бренд\Корма для животных"),
    #"Отфильтрованные скрытые файлы" = Table.SelectRows(Источник, each [Attributes]?[Hidden]? <> true),
    #"Вызвать настраиваемую функцию" = Table.AddColumn(#"Отфильтрованные скрытые файлы", "Преобразовать файл из 2018", each #"Преобразовать файл из 2018"([Content])),
    #"Переименованные столбцы" = Table.RenameColumns(#"Вызвать настраиваемую функцию", {"Name", "Source.Name"}),
    #"Другие удаленные столбцы" = Table.SelectColumns(#"Переименованные столбцы", {"Source.Name", "Преобразовать файл из 2018"}),
    #"Замененное значение" = Table.ReplaceValue(#"Другие удаленные столбцы",".xlsx","",Replacer.ReplaceText,{"Source.Name"}),
    #"Проанализированная дата" = Table.TransformColumns(#"Замененное значение",{{"Source.Name", each Date.From(DateTimeZone.From(_)), type date}}),
    #"Переименованные столбцы1" = Table.RenameColumns(#"Проанализированная дата",{{"Source.Name", "Дата"}}),
    #"Строки с примененным фильтром" = Table.SelectRows(#"Переименованные столбцы1", each [Дата] >= НовыйПериодС and [Дата] <= НовыйПериодПо),
    #"Развернутый элемент Преобразовать файл из 2018" = Table.ExpandTableColumn(#"Строки с примененным фильтром", "Преобразовать файл из 2018", {"Счет", "Категория", "Группа", "Подгруппа", "Бренд", "ТО"}, {"Счет", "Категория", "Группа", "Подгруппа", "Бренд", "ТО"}),
    #"Строки с примененным фильтром1" = Table.SelectRows(#"Развернутый элемент Преобразовать файл из 2018", each [ТО] <> null and [ТО] <> "" and [ТО] > 0),
    #"Сгруппированные строки" = Table.Group(#"Строки с примененным фильтром1", {"Счет", "Группа", "Подгруппа", "Бренд"}, {{"ТО", each List.Sum([ТО]), type number}}),
    #"Объединенные запросы" = Table.NestedJoin(#"Сгруппированные строки",{"Группа", "Подгруппа"},ОтборБренда,{"Группа", "Подгруппа"},"ОтборБренда",JoinKind.LeftOuter),
    #"Развернутый элемент ОтборБренда" = Table.ExpandTableColumn(#"Объединенные запросы", "ОтборБренда", {"Подгруппа"}, {"ОтборБренда.Подгруппа"}),
    #"Строки с примененным фильтром2" = Table.SelectRows(#"Развернутый элемент ОтборБренда", each [ОтборБренда.Подгруппа] <> null and [ОтборБренда.Подгруппа] <> ""),
    #"Объединенные запросы1" = Table.NestedJoin(#"Строки с примененным фильтром2",{"Группа", "Подгруппа", "Бренд"},ОтборБренда,{"Группа", "Подгруппа", "Бренд"},"ОтборБренда",JoinKind.LeftOuter),
    #"Развернутый элемент ОтборБренда1" = Table.ExpandTableColumn(#"Объединенные запросы1", "ОтборБренда", {"Бренд"}, {"Бренд отбора"}),
    #"Условный столбец добавлен" = Table.AddColumn(#"Развернутый элемент ОтборБренда1", "Пользовательская", each if [Бренд отбора] = null then "Прочие бренды" else "Бренд отбора"),
    #"Сгруппированные строки1" = Table.Group(#"Условный столбец добавлен", {"Счет", "Пользовательская"}, {{"ТО", each List.Sum([ТО]), type number}}),
    #"Сведенный столбец" = Table.Pivot(#"Сгруппированные строки1", List.Distinct(#"Сгруппированные строки1"[Пользовательская]), "Пользовательская", "ТО", List.Sum),
    #"Условный столбец добавлен1" = Table.AddColumn(#"Сведенный столбец", "Категория покупателя", 
    each if [Бренд отбора] = null then "Не покупал бренд"
    else if [Прочие бренды] = null or [Бренд отбора]/([Бренд отбора]+[Прочие бренды]) >= ПроцентЛояльности then "Лояльный покупатель"
    else "Нелояльный покупатель"),
    #"Переименованные столбцы2" = Table.RenameColumns(#"Условный столбец добавлен1",{{"Прочие бренды", "Прочие бренды (новый)"}, {"Бренд отбора", "Бренд отбора (новый)"}, {"Категория покупателя", "Новый период"}})
in
    #"Переименованные столбцы2"

При обработке данного запроса обращение к источнику происходит 2 раза.
Образец файла источника данных также прикрепляю. При вызове настраиваемой функции (строка 4 кода) происходит лишь косметическое преобразование файла(удаление лишних строк, заголовки и тд)
Страницы: 1
Наверх