CALCULATETABLE İşlevi
Bir tablo ifadesini verilen filtreler tarafından değiştirilen bir bağlamda değerlendirir.
Sözdizimi
CALCULATETABLE(<expression>,<filter1>,<filter2>,…)
Parametreler
Terim |
Tanım |
---|---|
expression |
Değerlendirilecek tablo ifadesi. |
filter1,filter2,… |
Boole ifadesi veya filtre tanımlayan bir tablo ifadesi. |
Birinci parametre olarak kullanılan ifade tablo döndüren bir işlev olmalıdır.
Bağımsız değişken olarak kullanılan Boole ifadeleri için aşağıdaki kısıtlamalar geçerlidir:
İfade bir ölçüye başvuramaz.
İfade iç içe geçmiş CALCULATE işlevi kullanamaz.
İfade, toplama işlevleri dahil bir tabloyu tarayan veya tablo döndüren herhangi bir işlevi kullanamaz.
Ancak, Boole ifadesi tek bir değeri arayan veya skaler bir değer hesaplayan her işlevi kullanabilir.
Dönüş Değeri
Değerler tablosu.
Açıklamalar
Veriler filtrelenmişse, CALCULATETABLE işlevi verilerin filtrelendiği bağlamı değiştirir ve ifadeyi belirtilen yeni bağlamda değerlendirir. Filtre bağımsız değişkeninde kullanılan her sütun için, o sütundaki varolan tüm filtreler kaldırılır ve onun yerine filtre bağımsız değişkeninde kullanılan filtre uygulanır.
Bu işlev RELATEDTABLE işlevinin eşanlamlısıdır.
Örnek
Aşağıdaki örnek, 2006 yılındaki Internet satışlarının toplamını almak için CALCULATETABLE işlevini kullanır. Bu değer daha sonra Internet satışlarının 2006 yılındaki tüm satışlara oranını hesaplamak için kullanılır.
Aşağıdaki tabloda aşağıdaki formülün sonuçları gösterilmektedir:
Satır Etiketleri |
Internet Satışları Tutarı_ABD |
CalculateTable 2006 Internet Satışları |
Internet Satışlarının 2006 Satışlarına oranı |
---|---|---|---|
2005 |
$2,627,031.40 |
$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 |
$5,681,440.58 |
1.59 |
Genel Toplam |
$26,054,827.45 |
$5,681,440.58 |
4.59 |
=SUMX( CALCULATETABLE('InternetSales_USD', 'DateTime'[CalendarYear]=2006)
, [SalesAmount_USD])