Получайте только последние несколько периодов данных в Power BI с помощью Power Query Filtering
Отчеты Power BI могут работать медленно, если у вас есть огромное количество данных. Один из способов повысить производительность - получить меньшую часть данных, ту часть, которая необходима для анализа. В большинстве случаев условие даты является хорошим фильтром для этого. Возможно, вы захотите проанализировать данные за последние три года, или за последние 6 кварталов, или все после определенной даты. В Power BI это просто возможно с помощью Power Query и фильтрации по полю даты. В этой короткой статье мы расскажем, как это сделать.
Критерии, основанные на дате
Дата является одним из наиболее важных факторов для фильтрации ваших данных. В большинстве случаев вы хотите проанализировать только часть данных, и эта часть данных имеет отношение к датам. Например, у вас может быть 20 лет транзакционных данных, хранящихся в базе данных, но вы хотите провести анализ только за последние три года. Или в связи с переносом данных из старой системы, получаемые данные лучшего качества будут те, которые приходятся на определенную дату, и вы хотите проводить анализ только для этой части данных. Фильтрация на основе дат является одним из наиболее распространенных сценариев, происходящих в аналитической системе.
Power Query: преобразование данных перед загрузкой
Когда вы используете Power BI (по крайней мере, в наши дни), по умолчанию после выбора таблиц выбирается Load. Лучше не использовать эту опцию, потому что вы получаете всю таблицу без какой-либо фильтрации или преобразования. Рекомендуется использовать опцию Transform Data (раньше это называлось Edit).
Если вы не используете эту опцию и просто загружаете данные напрямую, то в память будут загружены все строки данных в этой таблице (это могут быть данные за 20 лет или 50 миллионов строк). чего бы вам, вероятно, не хотелось бы получить.
Если вы выберете Transform Data, вы попадете в окно редактора Power Query Editor, где вы можете отфильтровать таблицу данных ПЕРЕД загрузкой в память. Но вот важный совет.
Когда вы видите строки данных в Power Query Editor, вы можете подумать, что данные уже загружены в память, и вы захотите, чтобы фильтрация происходила заранее. Однако следует помнить, что Power Query Editor работает с предварительным просмотром данных (это может быть 1000 строк или 200 строк в зависимости от количества столбцов, но это будет всегда предварительный просмотр), а не со всем набором данных. После выполнения всех преобразований в Power Query Editor, когда вы нажимаете Close & Apply, в этот момент все оставшиеся после фильтрации данные будут загружены в Power BI.
Фильтрация по дате в Power Query
Чтобы отфильтровать столбец в Power Query, очень похожий на Excel, вы можете щелкнуть заголовок столбца и увидеть все параметры фильтрации.
Есть много вариантов фильтрации на основе поля даты и времени:
Фильтрация за предыдущие периоды (годы, кварталы, месяц, дни)
Один из наиболее распространенных способов фильтрации поля даты основан на предыдущих периодах, вы можете выбрать In the Previous:
Затем вы можете указать период и сколько вхождений этого периода вы хотите, как показано ниже:
Это создаст логику в M-сценарии, которая всегда сравнивает дату в поле этой таблицы с датой и временем обновления набора данных Power BI. Это означает, что после публикации этого файла Power BI в службе и планирования его обновления всегда будут данные за последние три года с момента обновления отчета.
After, Before или Between
Другой полезной фильтрацией является получение строк данных только после определенной даты и времени, или до, или даже между начальной и конечной датой. Это особенно полезно, когда вы хотите отфильтровать часть таблицы данных, потому что качество данных было плохим до этой даты и времени, или что-то произошло в бизнесе на определенную дату (или период), и вы заботитесь только об анализе данные после этого или в течение этого периода.
Затем вы можете выбрать даты в разделе Filter Rows
Важно знать, что вы также можете использовать параметры Power Query для параметризации значений, которые вы используете для фильтрации.
Есть много других способов фильтрации на основе поля даты, которые вы можете изучить:
Во-вторых, повторяем еще раз, что любая фильтрация, которую вы применяете в редакторе Power Query Editor, будет применена к набору данных ПЕРЕД загрузкой его в модель данных, и в результате это уменьшит потребление памяти и ускорит общую производительность вашей модели.
Не только для Power BI
Помните, что это не просто для использования в Power BI. Его можно использовать везде, где у вас есть доступ к Power Query, то есть:
- Аналитические сервисы
- Excel
- Power BI Dataflows
- Источник Power Query для служб SSIS (и ADF)
- и т.д
Резюме
Есть много причин медленного отчета. Загрузка всего набора данных без фильтрации является одним из них. Из этой статьи вы узнали, как легко фильтровать строки данных на основе фильтра даты.