DAX Formüllerinde Bağlam

Önemli : Bu makale makine çevisidir. Bkz. yasal uyarı. Bu makalenin İngilizce sürümüne buradan ulaşabilirsiniz.

Bağlam, bir formülün geçerli satır ve hücre seçimindeki ve varsa ilişkili verilerdeki değişikliği yansıtabildiği dinamik çözümleme yapmanızı sağlar. Yüksek performanslı formüller, dinamik çözümlemeler oluşturmak ve formüllerdeki sorunları gidermek için bağlamı anlamak ve etkili bir şekilde kullanmak çok önemlidir.

Bu bölümde, farklı bağlam türleri tanımlanır: satır bağlamı, sorgu bağlamı ve filtre bağlamı. Hesaplanan sütunlardaki ve PivotTable'lardaki formüllerde bağlamın nasıl değerlendirildiği açıklanır.

Bu yazının son kısmında formüllerin sonuçlarının bağlama göre nasıl değiştiğini gösteren ayrıntılı örneklere yönelik bağlantılar sağlanmıştır.

Bağlamı Anlama

Power Pivot formüllerde PivotTable'da uygulanan filtreler, tablolar arasında ilişkiler ve Formüllerde kullanılan filtreler tarafından etkileyebilir. Bağlam ne dinamik çözümlemesi yapmak olası yapar olur. Bağlamı anlama yapı ve formüllerle ilgili sorunları giderme önemlidir.

Farklı bağlam türleri vardır: satır bağlamı, sorgu bağlamı ve filtre bağlamı.

Satır bağlamı "geçerli satır" olarak düşünülebilir. Hesaplanan bir sütun oluşturduysanız, satır bağlamı her bir satırdaki değerlerden ve geçerli satırla ilişkili sütunlardaki değerlerden oluşur. Geçerli satırdan bir değer alarak daha sonra tüm tablo üzerinde bir işlem yaparken bu değeri kullanan bazı işlevler de vardır (EARLIER İşlevi ve EARLIEST İşlevi).

Sorgu bağlamı, satır ve sütun üstbilgilerine bağlı olarak PivotTable'daki her hücre için otomatik olarak oluşturulan veri alt kümesini ifade eder.

Filtre bağlamı, her sütunda satıra uygulanan filtre kısıtlamalarını temel alan veya formül içindeki filtre ifadeleri tarafından tanımlanan bir değer kümesidir.

Sayfanın Başı

Satır Bağlamı

Hesaplanan bir sütunda formül oluşturursanız, bu formülün satır bağlamı geçerli satırdaki tüm sütunlarda bulunan değerleri içerir. Tablo başka bir tabloyla ilişkiliyse, içerik diğer tabloda bulunan ve geçerli satırla ilişkili tüm değerleri de içerir.

Örneğin, bir hesaplanan sütun oluşturduğunuzu varsayalım, = [Nakliye] + [vergi]

bu sütun aynı tablodan iki sütunu bir araya getiriyor olsun. Bu formül, otomatik olarak aynı satırdaki değerlere başvuran Excel tablosu formülleriyle aynı davranışı gösterir. Tabloların aralıklardan farklı olduğuna dikkat edin: aralık gösterimini kullanarak geçerli satırdan önceki satırda bulunan bir değere başvuruda bulunamazsınız ve bir tablodaki veya hücredeki rastgele tek bir değere başvuruda bulunamazsınız. Her zaman tablolarla ve sütunlarla çalışmanız gerekir.

Satır bağlamı, ilişkili tablolardaki hangi satırların geçerli satırla ilişkili olduğunu belirlemek için tablolar arasındaki ilişkileri izler.

Örneğin, aşağıdaki formül siparişin gönderileceği bölgeye bağlı olarak ilişkili tablodan vergi değerini getirmek için RELATED işlevini kullanır. Vergi değeri geçerli tablodaki bölge değeri kullanılarak, ilişkili tabloda bölge aranarak ve sonra ilişkili tablodan söz konusu bölgeye ait vergi oranı alınarak belirlenir.

= [Nakliye] + RELATED('Region'[TaxRate])

Bu formül basit bir şekilde Region tablosundan geçerli bölgenin veri oranını alır. Tabloları birbirine bağlayan anahtarı bilmeniz veya belirtmeniz gerekmez.

Birden Çok Satır Bağlamı

Ek olarak, DAX'ta tablo üzerinde hesaplamaları yineleyen işlevler vardır. Bu işlevlerin birden çok geçerli sütun ve geçerli satır bağlamı olabilir. Programlama ifadesiyle, bir iç ve dış döngü üzerinde özyineleme yapan formüller oluşturabilirsiniz.

Örneğin, çalışma kitabınızı Ürünler tablosunu ve Satış tablosu içeren varsayalım. Birden fazla ürün ilgili hareketler tam olan satış tablonun tamamını, gitmek istediğiniz ve herhangi bir işlemdeki her ürün için sipariş en büyük miktarı bulun.

Excel'de, bu hesaplama için bir dizi ara özet gerekir ve veriler değiştiğinde bunların yeniden oluşturulması gerekir. Uzman bir Excel kullanıcısıysanız, işi gerçekleştirecek dizi formülleri oluşturabilirsiniz. Alternatif olarak, ilişkisel bir veritabanında iç içe alt seçimler yazabilirsiniz.

Buna karşılık DAX ile doğru değeri döndüren tek bir formül oluşturabilirsiniz ve tablolara veri eklediğinizde sonuçlar otomatik olarak güncelleştirilir.

=MAXX(FILTER(Sales,[ProdKey]=EARLIER([ProdKey])),Sales[OrderQty])

Bu formülle ilgili ayrıntılı bir adım adım kılavuz için bkz. EARLIER İşlevi.

Kısa ifadesiyle, EARLIER işlevi geçerli işlemden önceki işlemin satır bağlamını saklar. İşlev sürekli olarak bellekte iki bağlam kümesi saklar: bir bağlam kümesi formülün iç döngüsü için geçerli satırı temsil eder ve başka bir bağlam kümesi formülün dış döngüsü için geçerli satırı temsil eder. DAX iki döngü arasında değerleri otomatik olarak besler, böylece karmaşık toplamalar oluşturabilirsiniz.

Sayfanın Başı

Sorgu Bağlamı

Sorgu bağlamı için bir formül örtülü olarak alınır veri alt kümesini ifade eder. Özet Tablo hücresine bir ölçü ya da diğer değer alanı bırakıldığında Power Pivot altyapısı satır ve sütun başlıkları, dilimleyiciler ve rapor filtreleri bağlam belirlemek için inceler. Ardından, Power Pivot PivotTable'daki her hücre doldurmak için gerekli hesaplamaları yapar. Her hücre için sorgu bağlamı alınır veri kümesidir.

Formülü yerleştirdiğiniz yere göre bağlam değişebildiğinden, formülün sonuçları da formülü birçok gruplandırma ve filtre içeren bir PivotTable'da ya da filtre içermeyen ve çok az bağlama sahip bir hesaplanan sütunda kullanmanıza bağlı olarak değişir.

Örneğin, Satış table:=SUM('Sales'[Profit]) Kar sütunundaki değerleri toplayan bu basit formülü oluşturduğunuzu varsayalım.

Sorgu bağlamı formül için her zaman Satış tablosunun veri kümesinin tamamını olduğundan bu formülü Satış tablosunda hesaplanmış sütundaki kullanırsanız, sonuçları formül için tablonun tamamı için aynı olacaktır. Sonuçlarınızı kar tüm bölgeler, tüm ürünler, tüm yıl olacak ve benzeri.

Ancak normalde aynı sonucu yüzlerce kez görmek istemezsiniz; bunun yerine belirli bir yıl, belirli bir ülke veya bölge, belirli bir ürün veya bunların birleşimi ile ilgili karı ve sonra genel toplamı almak istersiniz.

PivotTable'da, bağlam ekleyerek veya sütun ve satır başlıklarını kaldırarak ve ekleyerek veya dilimleyiciler kaldırarak değiştirmek kolaydır. Bir yukarıdaki bir ölçü gibi bir formül oluşturma ve sonra PivotTable bırakın. Sütun veya satır başlıklarını PivotTable'a eklediğinizde, sorgu bağlamı içinde ölçü değerlendirilir değiştirin. Dilimleme ve filtreleme işlemlerini bağlam da etkiler. Bu nedenle, bir PivotTable'da kullanılan aynı formülü, her hücre için farklı sorgu bağlamında değerlendirilir.

Sayfanın Başı

Filtre Bağlamı

Filtre bağlamı, formülde bağımsız değişkenler kullanarak sütun veya tabloda izin veriler değerler kümesi üzerinde filtre kısıtlamaları belirlediğinizde eklenir. Filtre bağlamı diğer bağlamların (satır bağlamı veya sorgu bağlamı gibi) üzerine uygulanır.

Örneğin, bir Özet Tablo satır ve sütun başlıklarını üzerinde sorgu bağlamı önceki bölümde açıklandığı gibi temel her hücre için değerlerini hesaplar. Bununla birlikte, ölçüler veya PivotTable'a eklediğiniz hesaplanan sütunlar içinde formül tarafından kullanılan değerleri denetlemek için filtre ifadeleri belirtebilirsiniz. Belirli sütunların filtreleri seçerek de temizleyebilirsiniz.

Formüller içinde filtrelerin nasıl oluşturulacağı hakkında daha fazla bilgi için bkz. Filtre İşlevleri (DAX).

Genel toplam oluşturmak için filtrelerin nasıl temizlenebileceğiyle ilgili bir örnek için bkz. ALL İşlevi.

Formüller içindeki filtrelerin nasıl seçilerek temizleneceği ve uygulanacağıyla ilgili örnekler için bkz. ALLEXCEPT İşlevi.

Bu nedenle, ölçüler veya, formüllerin sonuçlarını yorumlarken filtre bağlamını bilebilmeniz için PivotTable'da kullanılan formüllerin tanımını gözden geçirmeniz gerekir.

Sayfanın Başı

Formüllerde Bağlamı Belirleme

Bir formül oluşturduğunuzda, Excel için Power Pivot öncelikle genel sözdizimini denetler, sonra da sağladığınız sütunların ve tabloların adlarını geçerli bağlamdaki olası sütun ve tablolarla karşılaştırarak denetler. Power Pivot, formül tarafından belirtilen sütunları ve tabloları bulamazsa bir hata alırsınız.

Bağlam, önceki bölümlerde anlatıldığı gibi, çalışma kitabındaki tablolar, varsa tablolar arasındaki ilişkiler ve uygulanmış olan filtreler tarafından kullanılarak belirlenir.

Örneğin, yeni bir tabloya bir miktar veri aldıysanız ve herhangi bir filtre uygulamadıysanız, tablodaki sütun kümesinin tamamı geçerli bağlamın bir parçasıdır. İlişkilerle birbirine bağlanan birden çok tablonuz varsa ve sütun başlıkları eklenip Dilimleyiciler kullanılarak filtre uygulanmış bir PivotTable'la çalışıyorsanız, ilişkili tablolar ve verilere uygulanan tüm filtreler bağlamın içinde yer alır.

Bağlam formüllerdeki sorunları gidermeyi de zorlaştırabilen güçlü bir kavramdır. Bağlamın nasıl çalıştığını görmek için basit formüllerle ve ilişkilerle başlamanızı ve sonra PivotTable'larda basit formüller denemeye başlamanızı öneririz. Aşağıdaki bölümde formüllerin sonuçları dinamik olarak döndürmek için farklı bağlam türlerini nasıl kullandığına dair bazı örnekler de bulunmaktadır.

Formüllerdeki Bağlam Örnekleri

  • RELATED işlevi, geçerli satırın bağlamını ilişkili sütunun değerlerini de içerecek şekilde genişletir. Bu, aramalar yapmanıza olanak tanır. Bu bölümdeki örnekte, filtre uygulama ile satır bağlamı arasındaki etkileşim gösterilmektedir.

  • FILTER işlevi, geçerli bağlama eklenecek olan satırları belirtmenize olanak tanır. Bu bölümdeki örneklerde de, toplamalar gerçekleştiren diğer işlevlerin içine filtrelerin nasıl katıştırıldığı gösterilmektedir.

  • ALL işlevi formül içinde bağlamı ayarlar. Sorgu bağlamının sonucu olarak uygulanan filtreleri geçersiz kılmak için bu işlevi kullanabilirsiniz.

  • ALLEXCEPT işlevi, kendi belirttiğiniz dışındaki tüm filtreleri kaldırmanızı sağlar. Her iki bölümde de, formülleri oluşturmak ve karmaşık bağlamları anlamak için size yol gösteren örnekler bulunmaktadır.

  • EARLIER ve EARLIEST işlevleri, hesaplamalar gerçekleştirerek tablolarda döngü oluşturmanıza ve bu arada iç döngüden bir değere başvurmanıza olanak tanır. Özyineleme kavramını ve iç ve dış döngüleri biliyorsanız, EARLIER ve EARLIEST işlevlerinin sağladığı güçten memnun kalacaksınız. Bu kavramlarla yeni tanışıyorsanız, hesaplamalarda iç ve dış bağlamların nasıl kullanıldığını görmek için örnekteki adımları dikkatli bir şekilde takip etmelisiniz.

Sayfanın Başı

Bilgi Tutarlılığı

Bu bölümde, ilişkilerle bağlı Power Pivot tablolarındaki eksik değerlerle ilgili bazı ileri düzey kavramlar anlatılmaktadır. Bu bölüm, birden çok tablo ve karmaşık formüller içeren çalışma kitaplarınız varsa ve sonuçları anlayabilmek için yardıma ihtiyacınız varsa yararlı olabilir.

İlişkisel veri kavramları konusunda deneyiminiz yoksa, önce tanıtıcı konuyu okumanızı öneririz: İlişkilere Genel Bakış.

Bilgi Tutarlılığı ve Power Pivot İlişkileri

Power Pivot ,geçerli bir ilişki tanımlamak için iki tablo arasında başvuru bütünlüğünün zorlanmasını gerektirmez. Bunun yerine, her bir-çok ilişkisinin "bir" ucunda boş bir satır oluşturulur ve ilişkili tablodaki tüm eşleşmeyen satırları işlemek için kullanılır. Fiilen bir SQL dış birleştirmesi gibi davranır.

PivotTable'larda, verileri ilişkinin bir tarafıyla gruplarsanız, ilişkinin çok tarafındaki eşleşmeyen veriler bir arada gruplandırılır ve toplamlara boş satır başlığıyla eklenir. Boş başlık yaklaşık olarak "bilinmeyen üye"ye eşittir.

Bilinmeyen Üyeyi Anlama

SQL Server Analysis Services gibi çok boyutlu veritabanı sistemleriyle çalıştıysanız bilinmeyen üye kavramı büyük olasılıkla size tanıdık gelecektir. Terim sizin için yeniyse, aşağıdaki örneklerde bilinmeyen üyenin ne olduğu ve hesaplamaları nasıl etkilediği anlatılmıştır.

Her mağaza için aylık satışlar toplayan bir hesaplama oluşturmakta olduğunuz, ancak bir sütun Satış tablosunda bayi iş ortakları için bir değer eksik varsayalım. Bayi iş ortakları tarafından depolamak ve Satışlar için tabloları bağlı koşuluyla, formülde yapılmasını düşündüğünüz? PivotTable nasıl gerektiğini gruplandırma veya görüntülemek için varolan deposunu ilgili olmayan satış rakamları?

Bu sorun, olgu verileri içeren büyük tabloların olguları kategorilendirmek ve hesaplamak için kullanılan depolar, bölgeler ve diğer özniteliklerle ilgili bilgi içeren boyut tablolarıyla mantıksal olarak ilişkili olması gereken veri ambarlarında ortak bir sorundur. Sorunu çözümlemek için, varolan bir varlıkla ilişkili olmayan tüm yeni olgular geçici olarak bilinmeyen üyeye atanır. İlişkisiz olguların PivotTable'da boş bir başlık altında gruplandırılmış olarak görünmesinin nedeni budur.

Boş Değerlerin ve Boş Satırların Değerlendirilmesi

Boş değerler, bilinmeyen üye için eklenen boş satırlardan farklıdır. Boş değer null değerleri, boş dizeleri ve diğer eksik değerleri temsil etmek için kullanılan özel bir değerdir. Boş değerle ve diğer DAX veri türleriyle ile ilgili daha fazla bilgi için bkz. Veri Modellerindeki veri türleri.

Sayfanın Başı

Not : Makine Çevirisi Yasal Uyarısı: Bu makale, insan müdahalesi olmadan bir bilgisayar sistemi tarafından çevrilmiştir. Microsoft bu makine çevirilerini İngilizce bilmeyen kullanıcıların Microsoft ürünleri, hizmetleri ve teknolojileriyle ilgili içeriklerden yararlanmasına yardımcı olmak için sunar. Bu makale makine çevirisi olduğundan sözcük, cümle dizilimi ve gramer hataları içerebilir.

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Office Insider Programına Katılın

Bu bilgi yararlı oldu mu?

Görüşleriniz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×