Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как использовать семантические функции SemPy для обнаружения и проверки связей в семантических моделях Power BI и DataFrames pandas.
В области обработки и анализа данных и машинного обучения важно понимать структуру и связи в данных. Power BI позволяет моделировать и визуализировать эти структуры и связи. Чтобы получить дополнительные аналитические сведения или создать модели машинного обучения, используйте функции семантической связи в модулях библиотек SemPy.
Специалисты по обработке и анализу данных и бизнес-аналитики используют функции SemPy для перечисления, визуализации и проверки связей в семантических моделях Power BI или поиска и проверки связей в пандах DataFrames.
Необходимые компоненты
Получение подписки Microsoft Fabric. Или зарегистрируйте бесплатную пробную версию Microsoft Fabric.
Войдите в Microsoft Fabric.
Перейдите в Fabric с помощью переключателя интерфейса в левой нижней части домашней страницы.
Создайте записную книжку для копирования и вставки кода в ячейки.
Для Spark 3.4 и выше семантическая ссылка доступна в среде выполнения по умолчанию при использовании Fabric, поэтому ее не нужно устанавливать. Для Spark 3.3 или ниже или для обновления до последней версии семантической ссылки выполните следующую команду:
%pip install -U semantic-link
Перечисление связей в семантических моделях
Функция list_relationships в модуле sempy.fabric возвращает список всех связей, найденных в семантической модели Power BI. Список помогает понять структуру данных и способ подключения различных таблиц и столбцов.
Эта функция работает с помощью семантической ссылки для предоставления аннотированных кадров данных. Кадры данных включают необходимые метаданные для понимания связей в семантической модели. Аннотированные кадры данных позволяют легко анализировать структуру семантической модели и использовать ее в моделях машинного обучения или других задачах анализа данных.
Чтобы использовать функцию list_relationships , сначала импортируйте sempy.fabric модуль. Затем вы вызываете функцию с помощью имени или UUID модели семантики Power BI, как показано в следующем примере:
import sempy.fabric as fabric
fabric.list_relationships("my_dataset")
Предыдущий код вызывает функцию list_relationships с семантической моделью Power BI с именем my_dataset. Функция возвращает кадр данных Pandas с одной строкой для каждой связи, чтобы быстро изучить и проанализировать связи в семантической модели.
Примечание.
Записная книжка, семантическая модель набора данных Power BI и Lakehouse могут находиться в одной рабочей области или в разных рабочих областях. По умолчанию SemPy пытается получить доступ к семантической модели из:
- Рабочая область lakehouse, если вы прикрепили lakehouse к записной книжке.
- Рабочая область записной книжки, если не подключена к Lakehouse.
Если семантическая модель не находится в любой из этих рабочих областей, необходимо указать рабочую область семантической модели при вызове метода SemPy.
Визуализация связей в семантических моделях
Используйте функцию для визуализации связей в семантической модели и узнайте plot_relationship_metadata , как структурирована модель. Эта функция создает граф, показывающий соединения между таблицами и столбцами, что упрощает просмотр различных элементов.
Ниже приведен пример использования plot_relationship_metadata функции:
import sempy.fabric as fabric
from sempy.relationships import plot_relationship_metadata
relationships = fabric.list_relationships("my_dataset")
plot_relationship_metadata(relationships)
В примере list_relationships функция получает связи в my_dataset семантической модели, а plot_relationship_metadata функция создает граф для отображения этих связей.
Настройте граф, выбрав, какие столбцы следует включить, определив, как обрабатывать отсутствующие ключи, и добавив дополнительные атрибуты graphviz.
Проверка связей в семантических моделях
Используйте функцию list_relationship_violations для проверки связей в семантической модели и поиска проблем или несоответствий. Функция list_relationship_violations проверяет таблицы, чтобы убедиться, что они соответствуют связям в семантической модели.
Эта функция помогает найти несоответствия с кратностью связей и устранить проблемы, прежде чем они влияют на анализ данных или модели машинного обучения.
Чтобы использовать функцию list_relationship_violations , импортируйте sempy.fabric модуль и считывайте таблицы из семантической модели.
Затем вызовите функцию со словарём, который сопоставляет имена таблиц с кадрами данных, содержащими содержимое таблиц.
В следующем примере кода показано, как вывести список нарушений связей:
import sempy.fabric as fabric
tables = {
"Sales": fabric.read_table("my_dataset", "Sales"),
"Products": fabric.read_table("my_dataset", "Products"),
"Customers": fabric.read_table("my_dataset", "Customers"),
}
fabric.list_relationship_violations(tables)
Предыдущий код вызывает list_relationship_violations функцию с словарем с таблицами Sales, Products и Customers из my_dataset семантической модели. Вы можете настроить функцию, задав порог покрытия, выбрав способ обработки отсутствующих ключей и установив количество отсутствующих ключей для отчета.
Функция возвращает кадр данных Pandas с одной строкой для каждого нарушения связи, поэтому вы можете быстро найти и устранить проблемы в семантической модели.
list_relationship_violations Используйте функцию, чтобы обеспечить согласованность и точность семантической модели, поэтому вы создаете более надежные модели машинного обучения и получаете более подробные сведения о данных.
Поиск связей в пандах DataFrames
Функции list_relationships, plot_relationships_df и list_relationship_violations в модуле Fabric — это мощные средства для изучения связей в семантических моделях. Иногда необходимо найти связи в других источниках данных, таких как pandas DataFrames.
Используйте функцию find_relationships в модуле sempy.relationship для поиска отношений в DataFrames библиотеки pandas.
Функция find_relationships в модуле sempy.relationships позволяет специалистам по обработке и анализу данных найти потенциальные отношения в списке панд dataFrames. Эта функция помогает обнаружить соединения между таблицами и столбцами, поэтому вы узнаете больше о данных и о том, как связаны его элементы.
Вот как найти связи в pandas DataFrame:
from sempy.relationships import find_relationships
tables = [df_sales, df_products, df_customers]
find_relationships(tables)
Предыдущий код вызывает функцию find_relationships со списком из трех pandas DataFrames: df_sales, df_products, и df_customers.
Функция возвращает таблицу данных pandas с одной строкой для каждого потенциального отношения, чтобы вы могли изучать и анализировать отношения в ваших данных.
Настройте функцию, задав порог покрытия, порог сходства имен, список связей, которые следует исключить, и следует ли включать связи "многие ко многим".
Проверка связей в пандах DataFrames
После поиска потенциальных связей в DataFrame pandas с помощью функции find_relationships, используйте функцию list_relationship_violations для проверки этих связей и идентификации проблем или несоответствий.
Функция list_relationship_violations проверяет таблицы, чтобы убедиться, что они соответствуют обнаруженным связям. Используйте эту функцию для поиска несоответствий с указанной кратностью связей, чтобы устранить проблемы, прежде чем они влияют на анализ данных или модели машинного обучения.
Ниже приведен пример, в который показано, как найти нарушения связей в пандах DataFrames:
from sempy.relationships import find_relationships, list_relationship_violations
tables = [df_sales, df_products, df_customers]
relationships = find_relationships(tables)
list_relationship_violations(tables, relationships)
В примере вызывается функция list_relationship_violations с тремя кадрами данных pandas: df_sales, df_products и df_customers, а также с кадром данных отношений из функции find_relationships.
Функция list_relationship_violations возвращает кадр данных pandas с одной строкой для каждого нарушения связи, поэтому вы можете быстро найти и устранить все проблемы в данных.
Настройте функцию, задав порог покрытия, выбрав способ обработки отсутствующих ключей и определив количество отсутствующих ключей для отчета.
Используйте функцию list_relationship_violations с DataFrames из библиотеки pandas, чтобы обеспечить согласованность и точность данных. Это помогает создавать надежные модели машинного обучения и получать более глубокие аналитические сведения из данных.
Связанный контент
- Сведения о семантических функциях
- Начало работы со справочной документацией по SemPy
- Руководство. Обнаружение связей в семантической модели с помощью семантической ссылки
- Руководство. Обнаружение связей в наборе данных Synthea с помощью семантической ссылки
- Обнаружение, изучение и проверка функциональных зависимостей в данных