Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, Power BI ile etkileşim kurmak ve SemPy kitaplığıyla tablolar arasındaki ilişkileri algılamak için Jupyter not defterinin nasıl kullanılacağı gösterilmektedir.
Bu öğreticide şunların nasıl yapılacağını öğreneceksiniz:
- Anlamsal bağlantının Python kitaplığını (SemPy) kullanarak anlamsal modeldeki (Power BI veri kümesi) ilişkileri keşfedin.
- Power BI ile tümleşen ve veri kalitesi analizini otomatik hale getiren SemPy bileşenlerini kullanın. Bu bileşenler şunlardır:
-
FabricDataFrame- anlamsal bilgilerle geliştirilmiş pandas benzeri bir yapı - Doku çalışma alanından not defterinize anlamsal modeller çeken işlevler
- İşlevsel bağımlılıkları test eden ve anlamsal modellerinizdeki ilişki ihlallerini tanımlayan işlevler
-
Önkoşullar
Microsoft Fabric aboneliği alın. Ya da, ücretsiz Microsoft Fabric deneme sürümünekaydolun.
Oturum açın Microsoft Fabric.
Giriş sayfanızın sol alt köşesindeki deneyim değiştiriciyi kullanarak Fabric'e geçin.
Gezinti bölmesinde Çalışma Alanları'na gidin ve geçerli çalışma alanı olarak ayarlamak için çalışma alanınızı seçin.
Fabric-samples GitHub deposundanCustomer Profitability Sample.pbix ve Customer Profitability Sample (auto).pbix anlam modellerini indirin ve çalışma alanınıza yükleyin.
Not defterini takip edin
birlikte ilerlemek için powerbi_relationships_tutorial.ipynb not defterini kullanın.
Bu öğreticiye eşlik eden not defterini açmak için, "Sisteminizi veri bilimi öğreticilerine hazırlama" bölümünde belirtilen "" yönergeleri izleyerek not defterini çalışma alanınıza aktarın.
Bu sayfadaki kodu kopyalayıp yapıştırmayı tercih ederseniz, yeni bir not defteri oluşturabilirsiniz.
Kod çalıştırmaya başlamadan önce not defterine bir göl evi
eklemeye emin olun.
Dizüstü bilgisayarı kur
İhtiyacınız olan modüller ve verilerle bir not defteri ortamı ayarlayın.
Not defterindeki
semantic-linksatır içi komutunu kullanarak%pipPaketi PyPI'den yükleyin.%pip install semantic-linksempyDaha sonra kullanacağınız modülleri içeri aktarın.import sempy.fabric as fabric from sempy.relationships import plot_relationship_metadata from sempy.relationships import find_relationships from sempy.fabric import list_relationship_violationsKitaplığı içeri aktarın
pandasve çıkış biçimlendirmesi için bir görüntüleme seçeneği ayarlayın.import pandas as pd pd.set_option('display.max_colwidth', None)
## Explore semantic models
This tutorial uses the Customer Profitability Sample semantic model [_Customer Profitability Sample.pbix_](https://github.com/microsoft/fabric-samples/blob/main/docs-samples/data-science/datasets/Customer%20Profitability%20Sample.pbix). Learn about the semantic model in [Customer Profitability sample for Power BI](/power-bi/create-reports/sample-customer-profitability).
- Use SemPy's `list_datasets` function to explore semantic models in your current workspace:
```python
fabric.list_datasets()
Bu not defterinin geri kalanı için Customer Profitability Sample anlam modelinin iki sürümünü kullanın:
- Müşteri Kârlılığı Örneği: Önceden tanımlanmış tablo ilişkileriyle Power BI örneklerinde sağlanan anlam modeli
- Müşteri Kârlılığı Örneği (otomatik): aynı veriler, ancak ilişkiler Power BI'ın otomatik olarak algılananlarla sınırlıdır
Örnek semantik modelden önceden tanımlanmış ilişkileri ayıklama
SemPy'nin
list_relationshipsişlevini kullanarak Müşteri Kârlılığı Örneği anlam modeline önceden tanımlanmış ilişkileri yükleyin. İşlev, Tablosal Nesne Modeli'nden (TOM) ilişkileri listeler.dataset = "Customer Profitability Sample" relationships = fabric.list_relationships(dataset) relationshipsSemPy'nin
relationshipsişlevini kullanarak DataFrame'i grafik olarak görselleştirinplot_relationship_metadata.plot_relationship_metadata(relationships)Bu grafik, bir konu uzmanı tarafından Power BI'da tanımlanan bu anlam modelindeki tablolar arasındaki ilişkileri gösterir.
Ek ilişkileri keşfedin
Power BI'ın otomatik olarak belirlediği ilişkilerle başlarsanız, daha küçük bir kümeniz olur.
Power BI'ın anlam modelinde otomatik olarak algılanan ilişkileri görselleştirin:
dataset = "Customer Profitability Sample (auto)" autodetected = fabric.list_relationships(dataset) plot_relationship_metadata(autodetected)Power BI'ın otomatik düzeltmesi birçok ilişkiyi kaçırmaktadır. Ayrıca otomatik olarak algılanan ilişkilerin ikisi de sembolik olarak yanlıştır:
-
Executive[ID]->Industry[ID] -
BU[Executive_id]->Industry[ID]
-
İlişkileri tablo olarak yazdırın:
autodetected3. ve 4. satırlar tabloyla
Industryyanlış ilişkiler gösteriyor. Bu satırları kaldırın.Yanlış tanımlanmış ilişkileri at.
# Remove rows 3 and 4 which point incorrectly to Industry[ID] autodetected = autodetected[~autodetected.index.isin([3, 4])]Artık doğru ama tamamlanmamış ilişkilere sahipsiniz. kullanarak
plot_relationship_metadatabu tamamlanmamış ilişkileri görselleştirin:plot_relationship_metadata(autodetected)SemPy'nin
list_tablesveread_tableişlevlerini kullanarak anlamsal modeldeki tüm tabloları yükleyin ve kullanarak tablolarfind_relationshipsarasındaki ilişkileri bulun. Bu işlevin nasıl çalıştığına ilişkin içgörüler elde etmek için günlük çıkışını gözden geçirin:suggested_relationships_all = find_relationships( tables, name_similarity_threshold=0.7, coverage_threshold=0.7, verbose=2 )Yeni bulunan ilişkileri görselleştirme:
plot_relationship_metadata(suggested_relationships_all)SemPy tüm ilişkileri algılar.
Aramayı daha önce tanımlanmayan ek ilişkilerle sınırlamak için
excludeparametresini kullanın:additional_relationships = find_relationships( tables, exclude=autodetected, name_similarity_threshold=0.7, coverage_threshold=0.7 ) additional_relationships
İlişkileri doğrulama
İlk olarak, Müşteri Kârlılığı Örneği anlam modelinden veri yükleyin.
dataset = "Customer Profitability Sample" tables = {table: fabric.read_table(dataset, table) for table in fabric.list_tables(dataset)['Name']} tables.keys()Birincil ve yabancı anahtarın işlevle çakışmasını
list_relationship_violationsdenetleyin. işlevinin çıkışınılist_relationshipsöğesinelist_relationship_violationsgeçirin.list_relationship_violations(tables, fabric.list_relationships(dataset))Sonuçlar yararlı içgörüler ortaya çıkar. Örneğin, içindeki
Fact[Product Key]yedi değerden biri içindeProduct[Product Key]yoktur ve eksik anahtar şeklindedir50.Keşif veri analizi ve veri temizleme yinelemelidir. Ne öğreneceğiniz, sorularınıza ve verileri nasıl incelediğinize bağlıdır. Anlamsal bağlantı, verilerinizle daha fazlasını yapmanıza yardımcı olacak araçlar ekler.
İlgili içerik
Anlamsal bağlantı ve SemPy için diğer öğreticileri keşfedin:
- Eğitim: İşlevsel bağımlılıklarla verileri temizleme
- Öğreticisi: Örnek anlamsal modelde işlevsel bağımlılıkları çözümleme
- Eğitim: Jupyter Notebook'tan Power BI ölçülerini ayıklama ve hesaplama
- Öğretici: Anlamsal bağlantıyı kullanarak Synthea veri kümesindeki ilişkileri bulma
- Eğitim: SemPy ve Great Expectations (GX) kullanarak verileri doğrulama