Ekinlikler
31 Mar 23 - 2 Nis 23
Microsoft Fabric, Power BI, SQL ve yapay zeka topluluğu tarafından yönetilen nihai etkinlik. 31 Mart - 2 Nisan 2025.
Bugün kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Şunlar için geçerlidir:Hesaplanan sütunHesaplanan tabloMeasureGörsel hesaplama
Bir ifadeyi değiştirilmiş filter bağlamında değerlendirir.
Not
ayrıca CALCULATETABLE işlevi de vardır. tam olarak aynı işlevi gerçekleştirir
CALCULATE(<expression>[, <filter1> [, <filter2> [, …]]])
Terim | Tanım |
---|---|
expression |
Değerlendirilecek ifade. |
filter1, filter2,… |
(İsteğe bağlı) Boole ifadeleri, filtersorfilter değiştirici işlevlerini tanımlayan tablo ifadelerini or. |
first parametresi olarak kullanılan ifade temelde measureile aynıdır.
Filters olabilir:
Birden çok filtersolduğunda, bunlar AND (&&
) mantıksal işleçkullanılarak değerlendirilebilir; bu da all koşulların TRUE
olması gerektiği anlamına gelir, OR (||
) mantıksal işleci tarafından or, yani iki koşul da trueolabilir.
Boole ifadesi filter, TRUE
orFALSE
olarak değerlendirilen bir ifadedir. Uymaları gereken birkaç kural vardır:
Power BI Desktop'ın Eylül 2021 sürümünden itibaren aşağıdakiler de geçerlidir:
Total sales on the last selected date =
CALCULATE (
SUM ( Sales[Sales Amount] ),
'Sales'[OrderDateKey] = MAX ( 'Sales'[OrderDateKey] )
)
Tablo ifadesi filter tablo nesnesini filterolarak uygular. Bir model tablosuna başvuru olabilir, ancak büyük olasılıkla tablo nesnesi döndüren bir işlevdir. Boole filter ifadesi tarafından tanımlanamayanlar da dahil olmak üzere karmaşık filter koşulları uygulamak için FILTER işlevini kullanabilirsiniz.
Filter değiştirici işlevleri, filterseklemekten daha fazlasını yapmanıza olanak sağlar. filter bağlamı değiştirirken size ek denetim sağlar.
Fonksiyon | Amaç |
---|---|
REMOVEFILTERS | tablonun bir or daha fazla sütundan orfiltersallfiltersor tek bir tablonun all sütunlarından kaldırın. |
ALL 1, ALLEXCEPT, ALLNOBLANKROW | Tek bir tablonun all sütunlarından or bir or daha fazla sütundan filters kaldırın. |
KEEPFILTERS | Aynı sütunlardaki mevcut filters kaldırmadan filter ekleyin. |
USERELATIONSHIP | related sütunlar arasında etkin olmayan bir ilişki oluşturun; bu durumda etkin ilişki otomatik olarak devre dışı kalır. |
CROSSFILTER | bir ilişkiyi devre dışı bırakmak orfilter yönünü değiştirin (her ikisinden tekine, or tekten her ikisine). |
1ALL işlevi and değişkenleri, tablo nesnelerini döndüren işlevler olarak and her iki filter değiştirici olarak da davranır. REMOVEFILTERS işlevi aracınız tarafından desteklendiğinden Iffilterskaldırmak için kullanmak daha iyidir.
İfadenin sonucu olan value.
filter ifadeler sağlandığında, CALCULATE işlevi ifadeyi evaluate için filter bağlamını değiştirir. her filter ifadesi için, filter ifadesi KEEPFILTERS işlevine sarmalandığında iki olası standart sonuç not:
Bu işlev, satır düzeyi güvenlik (RLS) kuralları or hesaplanmış sütunlarda kullanıldığında DirectQuery modunda kullanılmak üzere not desteklenir.
Aşağıdaki Sales tablosu measure tanımı, yalnızca mavi renkli ürünler için bir gelir sonucu verir.
Bu makaledeki örnekler sample Adventure Works DW 2020 Power BI Desktop modeliyle kullanılabilir. Modeli almak için bkz.modeli
Blue Revenue =
CALCULATE(
SUM(Sales[Sales Amount]),
'Product'[Color] = "Blue"
)
Kategori | Satış Tutarı | Mavi Gelir |
---|---|---|
Aksesuar -lar | 1.272.057,89 USD | $165,406,62 |
Bisiklet | 94.620.526,21 ABD doları | 8.374.313,88 ABD Doları |
Giysi | $2,117,613,45 | $259,488,37 |
Bileşen | 11.799.076,66 USD | $803,642,10 |
Toplam |
$109.809.274,20 | $9,602,850,97 |
Aşağıdaki Sales tablosu measure tanımı, all satış kanalları için satışlara göre bir satış oranı oluşturur.
Kanal | Satış Tutarı | Gelir % Toplam Kanal |
---|---|---|
Internet | 29.358.677,22 ABD doları | 26,74% |
Bayi | $80,450,596,98 | 73.26% |
Toplam |
$109.809.274,20 | 100.00% |
Revenue % Total Channel =
DIVIDE(
SUM(Sales[Sales Amount]),
CALCULATE(
SUM(Sales[Sales Amount]),
REMOVEFILTERS('Sales Order'[Channel])
)
)
DIVIDE işlevi, Sales tablosunu Sales Amount sütun value (filter bağlamında) toplayan bir ifadeyi değiştirilmiş bir filter bağlamında aynı ifadeye böler. filter değiştirici işlevi olan REMOVEFILTERS işlevini kullanarak filter bağlamını değiştiren CALCULATE işlevidir. Sales Order tablosundan filters Channel sütunundan kaldırır.
Aşağıdaki Customer tablosu hesaplanmış sütun tanımı müşterileri bir bağlılık programı sınıfına sınıflandırır. Bu çok basit bir senaryodur: Müşteri tarafından üretilen gelir 2500 ABD dolarının altında olduğunda,
Customer Segment =
IF(
CALCULATE(SUM(Sales[Sales Amount]), ALLEXCEPT(Customer, Customer[CustomerKey])) < 2500,
"Low",
"High"
)
Bu örnekte, satır bağlamı filter bağlama dönüştürülür.
bağlam
satır bağlamı
CALCULATETABLE işlevi
Filter işlevleri
Ekinlikler
31 Mar 23 - 2 Nis 23
Microsoft Fabric, Power BI, SQL ve yapay zeka topluluğu tarafından yönetilen nihai etkinlik. 31 Mart - 2 Nisan 2025.
Bugün kaydolun