Aracılığıyla paylaş


Anlamsal bağlantı ile Power BI bağlantısı

Power BI bağlantısı, Microsoft Fabric'teki anlamsal bağlantının merkezinde yer alır. Bu makalede, anlamsal bağlantının Python pandas ve Apache Spark ekosistemleri kullanıcıları için anlamsal modellere bağlantı sağlama yolları açıklanmaktadır.

Anlam modeli genellikle yukarı akış veri işleme ve iyileştirmenin sonucu olan yüksek veri standardını temsil eder. İş analistleri yapabilecekleri:

  • Etki alanı bilgilerini ve iş mantığını Power BI ölçülerine kodlama.
  • Anlamsal modelleri kullanarak Power BI raporları oluşturun.
  • İş kararları almak için bu raporları kullanın.

Aynı anlamsal modellerle çalışan veri bilimcileri farklı kod ortamlarında veya dillerde iş mantığını çoğaltmaya çalıştığında kritik hatalar oluşabilir. Anlamsal bağlantı, iş analistlerine ve veri bilimcilerine sorunsuz bir şekilde işbirliği yapma ve veri uyuşmazlıklarını azaltma yolu sunmak için Microsoft Fabric deneyiminde anlamsal modeller ile Synapse Veri Bilimi arasındaki boşluğu kapatır.

Anlamsal bağlantı şu bağlantılara bağlantı sunar:

Pandas kullanıcıları için SemPy Python kitaplığı aracılığıyla veri bağlantısı

SemPy Python kitaplığı, anlamsal bağlantı özelliğinin bir parçasıdır ve pandas kullanıcılarına hizmet eder. SemPy işlevi tablolardan veri almayı, ölçü hesaplamayı ve Veri Çözümleme İfadeleri (DAX) sorgularını ve meta verilerini yürütmeyi içerir.

  • Spark 3.4 ve üzeri için doku kullanılırken varsayılan çalışma zamanında anlamsal bağlantı kullanılabilir ve yüklemeniz gerekmez.

  • Spark 3.3 veya üzeri için veya anlam bağlantısının en son sürümüne güncelleştirmek için aşağıdaki komutu çalıştırın:

    %pip install -U semantic-link
    

SemPy ayrıca pandas DataFrame'leri Power BI veri kaynağından yayılan ek meta verilerle genişletir. Bu meta veriler şunları içerir:

  • Power BI veri kategorileri:
    • Coğrafi: Adres, yer, şehir
    • URL: Web URL'si, resim URL'si
    • Barkod
  • Tablolar arasındaki ilişkiler
  • Hiyerarşiler

Spark'ın semantik bağlantısı yerel bağlayıcısı, Spark kullanıcılarının Power BI tablolarına ve ölçülerine erişmesini sağlar. Bağlayıcı dilden bağımsızdır ve PySpark, Spark SQL, R ve Scala'yı destekler.

Spark yerel bağlayıcısını kullanmak için anlamsal modelleri Spark ad alanları olarak temsil eder ve Power BI tablolarını Spark tabloları olarak saydam bir şekilde kullanıma sunarsınız.

Aşağıdaki komut Spark SQL için Power BI Spark yerel bağlayıcısını kullanacak şekilde Spark'ı yapılandırır:

spark.conf.set("spark.sql.catalog.pbi", "com.microsoft.azure.synapse.ml.powerbi.PowerBICatalog")

# Optionally, configure the workspace using its ID
# Resolve workspace name to ID using fabric.resolve_workspace_id("My workspace")
# Replace 00000000-0000-0000-0000-000000000000 with your own workspace ID
# spark.conf.set("spark.sql.catalog.pbi.workspace, "00000000-0000-0000-0000-000000000000")

Aşağıdaki komut, adlı Sales Datasetanlamsal modeldeki tüm tabloları listeler:

%%sql
SHOW TABLES FROM pbi.`Sales Dataset`

Aşağıdaki komut, semantik modeldeki Sales Datasettablodan verileri Customer görüntüler:

%%sql
SELECT * FROM pbi.`Sales Dataset`.Customer

Power BI ölçülerine, ilişkisel Spark SQL ile çok boyutlu Power BI arasında köprü oluşturma amacıyla sanal _Metrics tablo üzerinden erişilebilir. Aşağıdaki örnekte, Total Revenue Revenue Budget anlam modelinde Sales Dataset tanımlanan ölçüler, diğer sütunlar ise boyutlardır. gibi AVG toplama işlevleri ölçüler için yoksayılır ve yalnızca SQL ile tutarlılık sağlamak için mevcuttur.

Bağlayıcı, Power BI için iyileştirilmiş altyapının kullanımını etkinleştirmek için Spark ifadelerindeki gibi Customer[State] in ('CA', 'WA') hesaplamaların Power BI altyapısına indirilmesi koşulunu destekler.

SELECT
    `Customer[Country/Region]`,
    `Industry[Industry]`,
    AVG(`Total Revenue`),
    AVG(`Revenue Budget`)
FROM
    pbi.`Sales Dataset`.`_Metrics`
WHERE
    `Customer[State]` in ('CA', 'WA')
GROUP BY
    `Customer[Country/Region]`,
    `Industry[Industry]`

Power BI ölçüleriyle veri artırma

İşlem add_measure , semantik modellerden alınan ölçülerle verileri artırmanızı sağlayan güçlü bir anlam bağlantısı özelliğidir. Bu işlem yalnızca SemPy Python kitaplığında kullanılabilir ve Spark yerel bağlayıcısında desteklenmez. yöntemi hakkında add_measure daha fazla bilgi için sınıf belgelerindeki FabricDataFrame add_measure bakın.

SemPy Python kitaplığını kullanmak için, not defteri hücresinde aşağıdaki kodu çalıştırarak bunu not defteri çekirdeğinize yükleyin:

# %pip and import only needs to be done once per notebook
%pip install semantic-link
from sempy.fabric import FabricDataFrame

Aşağıdaki kod örneğinde, anlamsal modelden alınan ölçülerle artırmak istediğiniz verilerle mevcut bir FabricDataFrame'iniz olduğu varsayılır.

df = FabricDataFrame({
        "Sales Agent": ["Agent 1", "Agent 1", "Agent 2"],
        "Customer[Country/Region]": ["US", "GB", "US"],
        "Industry[Industry]": ["Services", "CPG", "Manufacturing"],
    }
)

joined_df = df.add_measure(["Total Revenue", "Total Budget"], dataset="Sales Dataset")

add_measure yöntemi aşağıdaki adımları uygular:

  1. FabricDataFrame'deki sütun adlarını Power BI boyutlarına çözümler. bu işlem, belirli bir anlam modeli içinde çözümlenebilen tüm sütun adlarını yoksayar. Daha fazla bilgi için desteklenen DAX söz dizimine bakın.
  2. Çözümlenen sütun adlarını kullanarak sütunları tanımlar group by .
  3. Düzeyde bir veya daha fazla ölçü hesaplar group by .
  4. Sonucu FabricDataFrame'deki mevcut satırlara göre filtreler.