Power BI'da DirectQuery kullanarak SAP HANA veri kaynaklarına Bağlan

DirectQuery kullanarak SAP HANA veri kaynaklarına doğrudan bağlanabilirsiniz. SAP HANA'ya bağlanırken iki seçenek vardır:

  • SAP HANA'yı çok boyutlu bir kaynak olarak ele alın (varsayılan): Bu durumda, davranış Power BI'ın SAP Business Warehouse veya Analysis Services gibi diğer çok boyutlu kaynaklara bağlanmasına benzer. Bu ayarı kullanarak SAP HANA'ya bağlandığınızda tek bir analiz veya hesaplama görünümü seçilir ve bu görünümün tüm ölçüleri, hiyerarşileri ve öznitelikleri alan listesinde kullanılabilir. Görseller oluşturulurken, toplama verileri her zaman SAP HANA'dan alınır. Bu teknik önerilen yaklaşımdır ve SAP HANA üzerinden yeni DirectQuery raporları için varsayılandır.

  • SAP HANA'yı ilişkisel bir kaynak olarak ele alma: Bu durumda Power BI, SAP HANA'yı ilişkisel bir kaynak olarak ele alır. Bu yaklaşım daha fazla esneklik sunar. Ölçülerin beklendiği gibi toplandığından emin olmak ve performans sorunlarını önlemek için bu yaklaşımla dikkatli olunmalıdır.

Bağlantı yaklaşımı, aşağıdaki görüntüde gösterildiği gibi Dosya>Seçenekleri ve ayarları ve ardından Seçenekler>DirectQuery ve ardından SAP HANA'yı ilişkisel kaynak olarak değerlendir seçeneği belirlenerek ayarlanan genel bir araç seçeneği tarafından belirlenir.

Screenshot of the Options dialog, showing the DirectQuery options.

SAP HANA'yı ilişkisel kaynak olarak ele alma seçeneği, SAP HANA üzerinden DirectQuery kullanarak yeni raporlarda kullanılan yaklaşımı denetler. Geçerli rapordaki mevcut SAP HANA bağlantılarını veya açılan diğer raporlardaki bağlantıları etkilemez. Bu nedenle seçenek şu anda işaretlenmemişse, Veri Al kullanılarak SAP HANA'ya yeni bir bağlantı eklendikten sonra bu bağlantı SAP HANA'ya çok boyutlu bir kaynak olarak davranılarak yapılır. Ancak, SAP HANA'ya da bağlanan farklı bir rapor açılırsa, bu rapor oluşturulduğu sırada ayarlanan seçeneğe göre davranmaya devam eder. Bu durum, Şubat 2018'den önce oluşturulmuş SAP HANA'ya bağlanan tüm raporların SAP HANA'yı ilişkisel bir kaynak olarak işlemeye devam etmesi anlamına gelir.

İki yaklaşım farklı davranışlar oluşturur ve mevcut bir raporu bir yaklaşımdan diğerine değiştirmek mümkün değildir.

SAP HANA'yı çok boyutlu bir kaynak olarak kabul edin (varsayılan)

SAP HANA'ya yapılan tüm yeni bağlantılar varsayılan olarak bu bağlantı yöntemini kullanır ve SAP HANA'yı çok boyutlu bir kaynak olarak kabul eder. SAP HANA bağlantısını ilişkisel bir kaynak olarak ele almak için Dosya>Seçenekleri ve ayarlar>Seçenekleri'ni seçmeniz ve ardından Doğrudan Sorgu>SAP HANA'yı ilişkisel kaynak olarak ele alma altındaki kutuyu işaretlemeniz gerekir.

SAP HANA'ya çok boyutlu bir kaynak olarak bağlanırken aşağıdaki noktalar geçerlidir:

  • Veri Al Gezgini'nde tek bir SAP HANA görünümü seçilebilir. Ölçüleri veya öznitelikleri tek tek seçmek mümkün değildir. Bağlanma sırasında tanımlanan ve verileri içeri aktarmadan veya SAP HANA'yı ilişkisel bir kaynak olarak ele alırken DirectQuery'yi kullanmaktan farklı bir sorgu yoktur. Bu durum, bu bağlantı yöntemini seçerken doğrudan SAP HANA SQL sorgusu kullanmanın mümkün olmadığı anlamına da gelir.

  • Seçili görünümün tüm ölçüleri, hiyerarşileri ve öznitelikleri alan listesinde görüntülenir.

  • Bir ölçü görselde kullanıldığından SAP HANA, ölçü değerini görsel için gerekli toplama düzeyinde almak üzere sorgulanır. Sayaçlar ve oranlar gibi eklenebilir olmayan ölçülerle ilgilenirken, tüm toplamalar SAP HANA tarafından gerçekleştirilir ve Power BI tarafından başka toplama yapılmaz.

  • SAP HANA'dan her zaman doğru toplama değerlerinin alınabilmesini sağlamak için belirli kısıtlamaların uygulanması gerekir. Örneğin, hesaplanmış sütunlar eklemek veya aynı rapor içinde birden çok SAP HANA görünümüne ait verileri birleştirmek mümkün değildir.

SAP HANA'nın çok boyutlu bir kaynak olarak ele alınması, alternatif ilişkisel yaklaşım tarafından sağlanan daha fazla esneklik sunmaz, ancak daha basittir. Yaklaşım ayrıca daha karmaşık SAP HANA ölçümleriyle ilgilenirken doğru toplama değerlerini sağlar ve genellikle daha yüksek performansla sonuç verir.

Alan listesi SAP HANA görünümündeki tüm ölçüleri, öznitelikleri ve hiyerarşileri içerir. Bu bağlantı yöntemi kullanılırken geçerli olan aşağıdaki davranışlara dikkat edin:

  • En az bir hiyerarşiye dahil edilen tüm öznitelikler varsayılan olarak gizlenir. Ancak, gerekirse alan listesindeki bağlam menüsünden Gizli görüntüle'yi seçerek görülebilirler. Gerekirse, aynı bağlam menüsünden görünür hale getirilebilirler.

  • SAP HANA'da bir öznitelik, etiketi olarak başka bir özniteliği kullanacak şekilde tanımlanabilir. Örneğin, , 32, vb. değerlerine 1sahip Product, productName'i etiket olarak , Shirt, Glovesvb. değerleriyle Bikekullanabilir. Bu durumda, alan listesinde, değerleri , , GlovesShirtvb. etiketleri Bikeolan, ancak ölçütüne göre sıralanan ve benzersizliği tarafından belirlenen anahtar değerleri 1, , 32olan tek bir Ürün alanı gösterilir. Ayrıca, gerekirse temel alınan anahtar değerlerine erişim sağlayan gizli bir Product.Key sütunu da oluşturulur.

Temel alınan SAP HANA görünümünde tanımlanan tüm değişkenler bağlanma sırasında görüntülenir ve gerekli değerler girilebilir. Bu değerler daha sonra şeritten Verileri dönüştür'ü ve ardından görüntülenen açılan menüden Parametreleri düzenle'yi seçerek değiştirilebilir.

Sap HANA'dan her zaman doğru toplama verilerinin alınabilmesini sağlama gereksinimi göz önünde bulundurulduğunda, izin verilen modelleme işlemleri DirectQuery kullanılırken kullanılan genel duruma göre daha kısıtlayıcıdır. Ancak yine de ölçü tanımlama, alanları yeniden adlandırma ve gizleme ve görüntü biçimleri tanımlama gibi birçok ekleme ve değişiklik yapmak mümkündür. Bu tür değişikliklerin tümü yenilemede korunur ve SAP HANA görünümünde yapılan çakışmayan değişiklikler uygulanır.

Ek modelleme kısıtlamaları

DirectQuery kullanarak SAP HANA'ya bağlanırken (çok boyutlu kaynak olarak kabul edilir) diğer birincil modelleme kısıtlamaları aşağıdaki kısıtlamalardır:

  • Hesaplanmış sütunlar için destek yok: Hesaplanmış sütun oluşturma özelliği devre dışıdır. Bu durum, hesaplanmış sütunlar oluşturan Gruplandırma ve Kümeleme'nin kullanılamadığı anlamına da gelir.
  • Ölçüler için ek sınırlamalar: ÖLÇÜlerde kullanılabilecek DAX ifadelerine SAP HANA tarafından sunulan destek düzeyini yansıtan başka sınırlamalar da vardır.
  • İlişkileri tanımlama desteği yoktur: Rapor içinde yalnızca tek bir görünüm sorgulanabilir ve bu nedenle ilişkileri tanımlama desteği yoktur.
  • Veri Görünümü Yok:Veri Görünümü normalde tablolardaki ayrıntı düzeyi verilerini görüntüler. SAP HANA gibi OLAP kaynaklarının yapısı göz önünde bulundurulduğunda, bu görünüm SAP HANA üzerinden kullanılamaz.
  • Sütun ve ölçü ayrıntıları düzeltildi: Alan listesinde görülen sütun ve ölçü listesi, temel alınan kaynak tarafından düzeltilir ve değiştirilemez. Örneğin, bir sütunu silmek veya veri türünü değiştirmek mümkün değildir. Ancak yeniden adlandırılabilir.
  • DAX'ta ek sınırlamalar: DAX'ta, kaynaktaki sınırlamaları yansıtmak için ölçü tanımlarında kullanılabilecek başka sınırlamalar da vardır. Örneğin, bir tablo üzerinde toplama işlevi kullanmak mümkün değildir.

Ek görselleştirme kısıtlamaları

DirectQuery kullanarak SAP HANA'ya bağlanırken görsellerde kısıtlamalar vardır (çok boyutlu kaynak olarak kabul edilir):

  • Sütunları toplama yok: Görseldeki bir sütunun toplamasını değiştirmek mümkün değildir ve her zaman Özetleme'dir.

SAP HANA'yı ilişkisel bir kaynak olarak ele alma

SAP HANA'ya ilişkisel bir kaynak olarak bağlanmayı seçerken, bazı ek esneklikler kullanılabilir hale gelir. Örneğin, hesaplanmış sütunlar oluşturabilir, birden çok SAP HANA görünümüne ait verileri ekleyebilir ve sonuçta elde edilen tablolar arasında ilişkiler oluşturabilirsiniz. Bununla birlikte, SAP HANA'yı çok boyutlu bir kaynak olarak ele alma davranışından, özellikle SAP HANA görünümünde basit toplamlar yerine ayrı sayılar veya ortalamalar gibi ek olmayan ölçüler bulunduğunda ve SAP HANA'ya karşı çalıştırılacak sorguların verimliliğiyle ilgili farklılıklar vardır.

Veri Al veya Power Query Düzenleyicisi içinde tanımlanan sorgu bir toplama gerçekleştirdiğinde SQL Server gibi ilişkisel bir kaynağın davranışını netleştirerek başlamak yararlı olur. Aşağıdaki örnekte, Power Query Düzenleyicisi'de tanımlanan bir sorgu, ProductID'ye göre ortalama fiyatı döndürür.

Diagram showing a query defined in Power Query Editor that returns the average price by Product ID.

Veriler DirectQuery kullanılarak power BI'a aktarılıyorsa aşağıdaki durumla sonuçlanır:

  • Veriler, Power Query Düzenleyicisi'de oluşturulan sorgu tarafından tanımlanan toplama düzeyinde içeri aktarılır. Örneğin, ürüne göre ortalama fiyat. Bu durum, görsellerde kullanılabilecek ProductID ve AveragePrice sütunlarını içeren bir tabloyla sonuçlanabilir.
  • Bir görselde Sum, Average, Min ve diğerleri gibi sonraki tüm toplamalar, içeri aktarılan veriler üzerinde gerçekleştirilir. Örneğin, bir görselde AveragePrice dahil olmak varsayılan olarak Toplam toplamını kullanır ve bu örnekte 13,67 olan her ProductID için AveragePrice değerinin toplamını döndürür. Aynı durum, görselde kullanılan Min veya Average gibi herhangi bir alternatif toplama işlevi için de geçerlidir. Örneğin AveragePrice ortalaması 6,66, 4 ve 3'ün ortalamasını verir; bu değer 4,56'ya eşittir ve temel tablodaki altı kayıttaki Price ortalamasını (5,17) vermez.

İçeri Aktarma yerine aynı ilişkisel kaynak üzerinde DirectQuery kullanılıyorsa, aynı semantik uygulanır ve sonuçlar tam olarak aynı olur:

  • Aynı sorgu göz önüne alındığında, veriler aslında içeri aktarılmış olmasa bile mantıksal olarak aynı veriler raporlama katmanına sunulur.

  • Bir görselde, Sum, Average ve Min gibi sonraki toplama işlemleri yine sorgudan bu mantıksal tablo üzerinden gerçekleştirilir. AveragePrice ortalamasını içeren bir görsel de aynı 4,56 değerini döndürür.

Bağlantı ilişkisel kaynak olarak kabul edildiğinde SAP HANA'yı göz önünde bulundurun. Power BI, SAP HANA'da hem Analiz Görünümleri hem de Hesaplama Görünümleri ile çalışabilir ve her ikisi de ölçü içerebilir. Ancak bugün SAP HANA yaklaşımı, bu bölümde daha önce açıklanan ilkelerin aynısını izler: Veri Al veya Power Query Düzenleyicisi'de tanımlanan sorgu kullanılabilir verileri belirler ve ardından görseldeki sonraki toplamalar bu verilerin üzerindedir ve aynı durum hem İçeri Aktarma hem de DirectQuery için geçerlidir. Ancak SAP HANA'nın yapısı göz önünde bulundurulduğunda, ilk Veri Al iletişim kutusunda veya Power Query Düzenleyicisi tanımlanan sorgu her zaman bir toplama sorgusudur ve genellikle kullanılan gerçek toplamanın SAP HANA görünümü tarafından tanımlandığı ölçüleri içerir.

Önceki SQL Server örneğinin eşdeğeri, görünümde Ortalama Fiyat olarak tanımlanan ID, ProductID, DepotID ve AveragePrice gibi ölçüleri içeren bir SAP HANA görünümü olmasıdır.

Veri Al deneyiminde yapılan seçimler ProductID ve AveragePrice ölçüsüne yönelikse, bu görünüm üzerinde bir sorgu tanımlayarak bu toplama verilerini istemektir. Önceki örnekte basitlik için SAP HANA SQL'in tam söz dizimi ile eşleşmeyen sözde SQL kullanılmıştır. Daha sonra bir görselde tanımlanan diğer toplamalar, bu tür bir sorgunun sonuçlarını daha da toplar. Daha önce SQL Server için açıklandığı gibi, bu sonuç hem İçeri Aktarma hem de DirectQuery olayı için geçerlidir. DirectQuery örneğinde, Veri Al veya Power Query Düzenleyicisi sorgusu SAP HANA'ya gönderilen tek bir sorgunun içindeki bir alt seçimde kullanılır ve bu nedenle, daha fazla toplamadan önce tüm verilerin okunacağı durum aslında bu değildir.

Tüm bu önemli noktalar ve davranışlar, SAP HANA üzerinden DirectQuery kullanırken aşağıdaki önemli noktaları gerektirir:

  • SAP HANA'daki ölçü basit bir Sum, Min veya Max gibi ekleme yapılmadığı durumlarda görsellerde gerçekleştirilen diğer toplama işlemlerine dikkat edilmelidir.

  • Veri Al veya Power Query Düzenleyicisi, sonucun SAP HANA'ya gönderilebilen makul bir sorgu olması gerektiği gerçeğini yansıtan gerekli verileri almak için yalnızca gerekli sütunların eklenmesi gerekir. Örneğin, sonraki görsellerde gerekli olabileceğini düşünerek onlarca sütun seçildiyse, DirectQuery için bile basit bir görsel, alt seçimde kullanılan toplama sorgusunun bu onlarca sütunu içerdiği anlamına gelir ve bu da genellikle düşük performans gösterir.

Aşağıdaki örnekte, Veri Al iletişim kutusunda OrderQuantity ölçüsüyle birlikte beş sütunun (CalendarQuarter, Color, LastName, ProductLine, SalesOrderNumber) seçilmesi, daha sonra Min OrderQuantity içeren basit bir görselin oluşturulmasının SAP HANA'ya aşağıdaki SQL sorgusuyla sonuçlanması anlamına gelir. Gölgeli, Veri Al / Power Query Düzenleyicisi sorgusunu içeren alt seçimdir. Bu alt seçim yüksek kardinalite sonucu verirse, elde edilen SAP HANA performansı büyük olasılıkla düşük olacaktır.

Screenshot of a query example, showing the SQL query to SAP HANA.

Bu davranış nedeniyle, Veri Al veya Power Query Düzenleyicisi seçilen öğelerin gerekli olan öğelerle sınırlı olmasını ve sap HANA için makul bir sorgu elde edilmesi önerilir.

En iyi yöntemler

SAP HANA'ya bağlanmaya yönelik her iki yaklaşım için, DirectQuery kullanımına yönelik öneriler sap HANA için de geçerlidir, özellikle iyi performans sağlamaya yönelik öneriler. Daha fazla bilgi için bkz . Power BI'da DirectQuery kullanma.

Dikkat edilecekler ve sınırlamalar

Aşağıdaki listede, tam olarak desteklenmeyen tüm SAP HANA özellikleri veya Power BI kullanırken farklı davranan özellikler açıklanmaktadır.

  • Üst Alt Hiyerarşiler: Üst alt hiyerarşiler Power BI'da görünmez. Bunun nedeni, Power BI'ın SQL arabirimini kullanarak SAP HANA'ya erişmesi ve üst alt hiyerarşilere SQL kullanılarak tam olarak erişilememeleridir.
  • Diğer hiyerarşi meta verileri: Hiyerarşilerin temel yapısı Power BI'da görüntülenir, ancak düzensiz hiyerarşilerin davranışını denetleme gibi bazı hiyerarşi meta verilerinin hiçbir etkisi yoktur. Bu gerçek, SQL arabirimi tarafından uygulanan sınırlamalardan kaynaklanır.
  • SSL kullanarak Bağlan: TLS ile İçeri Aktarma ve çok boyutlu kullanarak bağlanabilirsiniz, ancak ilişkisel bağlayıcı için TLS kullanmak üzere yapılandırılmış SAP HANA örneklerine bağlanamazsınız.
  • Öznitelik görünümleri desteği: Power BI, Analiz ve Hesaplama görünümlerine bağlanabilir, ancak doğrudan Öznitelik görünümlerine bağlanamaz.
  • Katalog nesneleri desteği: Power BI, Katalog nesnelerine bağlanamıyor.
  • Yayımlandıktan sonra Değişkenlere Geçin: Rapor yayımlandıktan sonra sap HANA değişkenlerinin değerlerini doğrudan Power BI hizmeti değiştiremezsiniz.

Bilinen sorunlar

Aşağıdaki listede, Power BI kullanarak SAP HANA'ya (DirectQuery) bağlanırken karşılaşılan tüm bilinen sorunlar açıklanmaktadır.

  • Sayaçlar ve diğer ölçüler için sorgu yapılırken SAP HANA sorunu: Analiz Görünümüne bağlanılıyorsa SAP HANA'dan yanlış veriler döndürülür ve aynı görsele sayaç ölçüsü ve başka bir oran ölçüsü eklenir. Bu sorun SAP Not 2128928 (Hesaplanmış Sütun ve Sayaç sorgulanırken beklenmeyen sonuçlar) kapsamındadır. Bu durumda oran ölçüsü yanlıştır.

  • Tek SAP HANA sütunundan birden çok Power BI sütunu: SAP HANA sütununun birden fazla hiyerarşide kullanıldığı bazı hesaplama görünümlerinde SAP HANA sütunu iki ayrı öznitelik olarak kullanıma sunar. Bu yaklaşım, Power BI'da iki sütunun oluşturulmasına neden olur. Ancak bu sütunlar varsayılan olarak gizlenir ve hiyerarşileri veya sütunları doğrudan içeren tüm sorgular doğru şekilde davranır.

DirectQuery hakkında daha fazla bilgi için aşağıdaki kaynaklara göz atın: