Спасибо за рекомендации. С xlsx работает значительно лучше и нормально извлекает структуру. В целом, хранение в xlsx формате можно рассматривать как костыль для моей ситуации. Помогло.
Добрый день. Помогите разобраться с получением данных из папки с файлами в Power Query.
Есть шаблонный файл xlsb с двумя листами. 1 лист (~400 тыс. строк) - записи о клиентах и сделках (для понимания строки следующего содержания: айди обращения, когда, во сколько обратился клиент, в какой магазин, во сколько начали обслуживать, во сколько закончили, какой категорией товара интересовался и т.д. различная информация, которая описывает это обращение с т.з содержания), 2 лист (~250 тыс строк) - хронометраж времени на различные операции (айди обращения, дата, операция, время).
Таких файлов 16 штук (~10,4 млн строк суммарно), лежат на сетевом ресурсе. Файлы хранятся в формате .xlsb. Подключаюсь к папке, получаю содержимое папки, через формулу Excel.Workbook([Content]) получаю содержимое файла и отфильтровываю только необходимые объекты (например, Лист1). Но видимо только в моём воображении так можно отфильтровать объекты, а у Power Query совершенно другие планы. После чего начинается сканирование всего файла, всех строк в файле, всех листов (сужу по прогрессу в правой части в окне Power Query).
Собственно вопрос: может есть какие-то хитрые формулы, которые позволят подключиться в папке в файлах только к нужному мне листу (например, Лист1), минуя сканирование всех листов в этих файлах? Или лучше забросить эту идею и попросить организацию перейти на хранение данных в SQL?
bedvit написал: Если PP не обязательна, можно в Excel (или VBA) с надстройкой .
Спасибо за вариант.
С помощью VBA удавалось получить такой факториал. Проблема в решении этой задачи, в том что значение необходимо получить именно в среде PP, а дальше оно будет участвовать в расчётах мер. Всё это требуется для реализации модели Erlang C. По всей видимости буду копать куда-то в этом направлении.
Задача решается путём вложения SUMMARIZE (1) в SUMMARIZE (2). В наружной (1) виртуальной сводной таблице группируем по дню недели и кварталу, а во внутренней сводной таблице (2) с помощью ALLEXCEPT удаляем фильтр (контекста строки ?) и по полученным сгруппированным данным находим среднее значение.
Код
Среднее кол-во за день по дню недели и квартал:
=AVERAGEX(
SUMMARIZE(
'data';
[Quarter];
[День недели];
"Среднее по дню недели и кварталу";
CALCULATE(
AVERAGEX(
SUMMARIZE('data';
[Date];
"ЗвонкиДень";
SUM(data[Offered Calls]));
[ЗвонкиДень]);
ALLEXCEPT('data';
data[Quarter];
data[День недели])));
[Среднее по дню недели и кварталу])
Коллеги, привет! Давно читаю форум, но пришло время выйти из режима ридонли и обратиться к экспертам за советом, так как при решении задачи сломал мозг. Я новичок в DAX, ещё недостаточно уверенно разбираюсь в контекстах, поэтому сильно не пинать.
Есть некоторая статистика колл-центра по датам с детализацией до 15-минутных интервалов. Приложил пример файла. С учетом ограничений форума для примера оставил несколько дней в выгрузке (по два дня на квартал).
Задача следующая:
Необходимо в сводной таблице с помощью меры сгруппировать данные по дням (так как данные по интервалам)
Посчитать среднее по дням по полученным результатам в п.1
Найти по полученным в п.2 результатам среднее значение по дням недели и по кварталам
Я так понимаю, что необходимо использовать одну из агрегатных функций по типу SUMMARIZE или GROUPBY. При этом сделать вложенную меру либо дважды, либо трижды. Попробовал применить SUMMARIZE. Результат по полю "Среднее..." получается следующий (в таблице в строках Quarters-День недели):
Это решает вопрос с выводом необходимой статистики, но для анализа это не очень удобно, так как хочется видеть статистику по датам в хронологическом порядке без группировки по кварталам и дням недели.
Если убрать из строк таблицы кварталы и дни недели, то получается следующий результат:
Выводится среднее значение по всему источнику данных. Применение фильтров ALL, ALLEXCEPT и ALLSELECTED мне не сильно помогло.
В моем представлении должно получится что-то вроде примера ниже:
То есть необходимо найти среднее по дню недели и кварталу. В общем, очень хочу разобраться, выручайте