CALCULATETABLE
Şunlar için geçerlidir:Hesaplanan sütun
Hesaplanan tablo
Ölçü
Görsel hesaplama
Değiştirilen filtre bağlamındaki bir tablo ifadesini değerlendirir.
Not
ayrıca CALCULATE işlevi de vardır.
Sözdizimi
CALCULATETABLE(<expression>[, <filter1> [, <filter2> [, …]]])
Parametre
Terim | Tanım |
---|---|
expression |
Değerlendirilecek tablo ifadesi. |
filter1, filter2,… |
(İsteğe bağlı) Filtreleri veya filtre değiştirici işlevlerini tanımlayan Boole ifadeleri veya tablo ifadeleri. |
İlk parametre olarak kullanılan ifade bir model tablosu veya tablo döndüren bir işlev olmalıdır.
Filtreler şu şekilde olabilir:
- Boole filtre ifadeleri
- Tablo filtresi ifadeleri
- Filtre değiştirme işlevleri
Birden çok filtre olduğunda, bunlarTRUE
olması gerektiği anlamına gelir.
Boole filtre ifadeleri
Boole ifade filtresi, TRUE
veya FALSE
olarak değerlendirilen bir ifadedir. Uymaları gereken birkaç kural vardır:
- Yalnızca tek bir sütuna başvurabilir.
- Ölçülere başvuramazlar.
- İç içe CALCULATE işlevi kullanamazlar.
Power BI Desktop'ın Eylül 2021 sürümünden itibaren aşağıdakiler de geçerlidir:
- Toplama işlevlerine bağımsız değişken olarak geçirilmedikçe tabloyu tarayabilen veya döndüren işlevleri kullanamazlar.
- Bunlar skaler değer döndüren bir toplama işlevi içerebilir.
Tablo filtresi ifadesi
Tablo ifadesi filtresi, bir tablo nesnesini filtre olarak uygular. Bir model tablosuna başvuru olabilir, ancak büyük olasılıkla tablo nesnesi döndüren bir işlevdir. Boole filtre ifadesi tarafından tanımlanamayanlar da dahil olmak üzere karmaşık filtre koşulları uygulamak için FILTER işlevini kullanabilirsiniz.
Filtre değiştirici işlevleri
Filtre değiştirici işlevleri, yalnızca filtre eklemekten daha fazlasını yapmanıza olanak sağlar. Filtre bağlamı değiştirilirken size ek denetim sağlar.
Fonksiyon | Amaç |
---|---|
REMOVEFILTERS | Tablonun bir veya daha fazla sütundan ya da tek bir tablonun tüm sütunlarından tüm filtreleri veya filtreleri kaldırın. |
ALL 1, ALLEXCEPT, ALLNOBLANKROW | Filtreleri bir veya daha fazla sütundan veya tek bir tablonun tüm sütunlarından kaldırın. |
KEEPFILTERS | Aynı sütunlardaki mevcut filtreleri kaldırmadan filtre ekleyin. |
USERELATIONSHIP | İlgili sütunlar arasında etkin olmayan bir ilişki oluşturun; bu durumda etkin ilişki otomatik olarak etkin olmaz. |
CROSSFILTER | Filtre yönünü değiştirin (her ikisinden tekine veya tekten her ikisine) veya bir ilişkiyi devre dışı bırakın. |
1ALL işlevi ve varyantları hem filtre değiştiricileri hem de tablo nesnelerini döndüren işlevler olarak davranır. REMOVEFILTERS işlevi aracınız tarafından destekleniyorsa filtreleri kaldırmak için kullanmak daha iyidir.
Dönüş değeri
Değerler tablosu.
Açıklamalar
Filtre ifadeleri sağlandığında, CALCULATETABLE işlevi ifadeyi değerlendirmek için filtre bağlamını değiştirir. Her filtre ifadesi için, filtre ifadesi KEEPFILTERS işlevinde sarmalanmadığında iki olası standart sonuç vardır:
- Sütunlar (veya tablolar) filtre bağlamında değilse, ifadeyi değerlendirmek için filtre bağlamlarına yeni filtreler eklenir.
- Sütunlar (veya tablolar) zaten filtre bağlamındaysa, CALCULATETABLE ifadesini değerlendirmek için yeni filtreler mevcut filtrelerin üzerine yazılır.
Bu işlev, hesaplanan sütunlarda veya satır düzeyi güvenlik (RLS) kurallarında kullanıldığında DirectQuery modunda kullanılmak üzere desteklenmez.
Örnek
Aşağıdaki örnek, 2006'nın İnternet satışlarının toplamını almak için CALCULATETABLE işlevini kullanır. Bu değer daha sonra İnternet satışlarının 2006 yılına ait tüm satışlarla karşılaştırıldığında oranını hesaplamak için kullanılır.
Aşağıdaki formül:
= SUMX(
CALCULATETABLE(
'InternetSales_USD',
'DateTime'[CalendarYear] = 2006
),
[SalesAmount_USD]
)
Aşağıdaki tabloya neden olur:
Satır Etiketleri | İnternet SalesAmount_USD | CalculateTable 2006 İnternet Satışları | İnternet Satışları ile 2006 oranı |
---|---|---|---|
2005 | 2.627.031,40 USD | $5,681,440,58 | 0.46 |
2006 | $5,681,440,58 | $5,681,440,58 | 1.00 |
2007 | $8,705,066,67 | $5,681,440,58 | 1.53 |
2008 | 9.041.288,80 USD | $5,681,440,58 | 1.59 |
Genel Toplam | 26.054.827,45 USD | $5,681,440,58 | 4.59 |
İlgili içerik
- filtre bağlamı
- CALCULATE işlevi (DAX)
- Filtre işlevleri (DAX)