Jupyter not defterinden Power BI ölçülerini ayıklama ve hesaplama

Bu öğreticide, Power BI anlam modellerindeki ölçüleri hesaplamak için SemPy'nin (önizleme) nasıl kullanılacağı gösterilmektedir.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Semantik Bağlantı kitaplığının (SemPy) Python arabirimini kullanarak Power BI ölçülerini program aracılığıyla değerlendirme
  • Yapay zeka ve BI arasında köprü oluşturmaya yardımcı olan SemPy bileşenleri hakkında bilgi edinin:
    • FabricDataFrame— pandas benzeri yapı, anlamsal bilgilerle geliştirilmiştir
    • Ham veriler, yapılandırmalar ve ölçüler dahil olmak üzere anlamsal modeller elde eden işlevler

Önkoşullar

  • Gezinti bölmesinde Çalışma Alanları'nı ve ardından çalışma alanınızı seçerek geçerli çalışma alanı olarak ayarlayın.

  • Perakende Analizi Örneği PBIX.pbix anlam modelini indirin ve çalışma alanınıza yükleyin.

Not defterinden takip edin

Bu öğreticiye powerbi_measures_tutorial.ipynb not defteri eşlik eder.

Dizüstü bilgisayarı kur

Bu bölümde, bir not defteri ortamı ayarlarsınız.

  1. Not defterinde satır içi kullanarak SemPy PyPI'den yükleyin%pip.

    %pip install semantic-link-sempy
    
  2. Daha sonra kullanacağınız modülleri içeri aktarın.

    import sempy.fabric as fabric
    
  3. Power BI çalışma alanına bağlanın ve çalışma alanında anlamsal modelleri listeleyin.

    fabric.list_datasets()
    
  4. Anlam modelini yükleyin. Bu öğreticide Perakende Analizi Örneği anlam modelini kullanacaksınız.

    dataset = "Retail Analysis Sample"
    
    dataset = "Retail Analysis Sample PBIX"
    

Çalışma alanı ölçülerini listeleme

Anlamsal modelde ölçüleri listelemek için SemPy'leri list_measures kullanın:

fabric.list_measures(dataset)

Ölçüleri değerlendirme

Ölçüleri farklı şekillerde değerlendirmek için SemPy'nin evaluate_measure işlevini kullanın.

Ham ölçüyü değerlendirme

"Ortalama Satış Alanı Boyutu" adlı önceden yapılandırılmış ölçüyü hesaplamak için SemPy evaluate_measure işlevini kullanın.

fabric.evaluate_measure(dataset, measure="Average Selling Area Size")

Bir ölçüyü groupby_columns ile değerlendir

parametresini kullanarak sonucu sütunlara göre gruplandırın groupby_columns :

fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])

Bu kod ve Store[Chain]ile gruplandırılarak Store[DistrictName] oluşturulur.

Filtrelerle bir ölçüyü değerlendirme

Sonuçları belirli sütun değerleriyle filters sınırlamak için parametresini kullanın:

fabric.evaluate_measure(dataset, \
                        measure="Total Units Last Year", \
                        groupby_columns=["Store[Territory]"], \
                        filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})

Bu örnekte Store tablo, Territory sütun ve PA izin verilen bir değerdir.

Bir ölçüyü birden çok tablo arasında değerlendirme

Semantik modelde birden çok tablo arasında sütunlara göre gruplandırma.

fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])

Birden çok ölçüyü değerlendirme

evaluate_measure işlevi birden çok ölçü tanımlayıcısı sağlamanıza olanak tanır ve hesaplanan değerleri tek DataFramebir içinde döndürür:

fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])

Power BI XMLA bağlayıcısı kullanma

Varsayılan anlam modeli istemcisi Power BI REST API'lerini kullanır. Sorgular bu istemciyle başarısız olursa, ayarını yaparak use_xmla=TruePower BI XMLA uç noktasına geçin. SemPy parametreleri XMLA ile ölçü hesaplamaları için aynıdır.

fabric.evaluate_measure(dataset, \
                        measure=["Average Selling Area Size", "Total Stores"], \
                        groupby_columns=["Store[Chain]", "Store[DistrictName]"], \
                        filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]}, \
                        use_xmla=True)

Diğer anlamsal bağlantıya ve SemPy öğreticilerine bakın: