IF

Bir koşulu denetler, TRUE olduğunda bir değer döndürür, olmadığında ikinci değeri döndürür.

Söz dizimi

IF(<logical_test>, <value_if_true>[, <value_if_false>])

Parametreler

Süre Tanım
mantıksal_test TRUE veya FALSE sonucu verebilen herhangi bir değer veya ifade.
value_if_true Mantıksal sınama TRUE olduğunda döndürülen değer.
value_if_false (İsteğe bağlı) Mantıksal sınama FALSE olduğunda döndürülen değer. Atlanırsa BLANK değeri döndürülür.

Döndürülen değer

value_if_true, value_if_false veya BLANK elde edilir.

Açıklamalar

  • IF işlevi, value_if_true ve value_if_false farklı değer türlerindeyse değişken veri türü döndürebilir. Ancak hem value_if_true hem de value_if_false sayısal veri türlerindeyse işlev, tek bir veri türü döndürmeye çalışır. İkinci durumda IF işlevi, veri türlerini her iki değere de uygun olması için örtük olarak dönüştürür.

    Örneğin, formül TRUE veya 0 döndürür, ancak tam sayı veri türünde olsa IF(<condition>, TRUE(), 0) value_if_false yalnızca ondalık değerler IF(<condition>, 1.0, 0) döndürür. IF(<condition>, TRUE(), 0) Örtülü veri türü dönüştürme hakkında daha fazla bilgi edinmek için bkz. Veri türleri.

  • Dal ifadelerini koşul ifadesine bakılmaksızın yürütmek için IF kullanın. Bunun yerine EAGER.

Örnekler

Aşağıdaki Ürün tablosunun hesaplanmış sütun tanımları, her bir ürünü liste fiyatına göre sınıflandırmak için IF işlevini farklı yöntemlerle kullanır.

İlk örnek, Liste Fiyatı sütun değerinin 500’den küçük olup olmadığını test eder. Bu koşul true olduğunda, Low değeri döndürülür. value_if_false değeri olmadığından BLANK döndürülür.

Bu makaledeki örnekler, örnek modele Power BI Desktop eklenebilir. Modeli almak için bkz. DAX örnek modeli.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low"
)

İkinci örnek aynı testi kullanır, ancak bu kez bir value_if_false değeri içerir. Bu nedenle, formül her bir ürünü Low veya High olarak sınıflandırır.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low",
    "High"
)

Üçüncü örnek aynı testi kullanır, ancak bu kez ek bir test gerçekleştirmek üzere bir IF işlevini iç içe yerleştirir. Bu nedenle, formül her bir ürünü Low, Medium veya High olarak sınıflandırır.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low",
    IF(
        'Product'[List Price] < 1500,
        "Medium",
        "High"
    )
)

İpucu

Birden çok IF işlevini iç içe yerleştirmeniz gerektiğinde, SWITCH işlevi daha iyi bir seçenek olabilir. Bu işlev, ikiden fazla olası değer döndüren bir ifade yazmaya yönelik daha şık bir yöntem sağlar.

Ayrıca bkz.

IF. EAGER işlevi
SWITCH İşlevi (DAX)
Mantıksal işlevler