ANAHTARI

Şunun için geçerlidir: Hesaplanan sütunHesaplanan tabloÖlçüGörseli hesaplaması

Bir ifadeyi değer listesinde değerlendirir ve birden çok olası sonuç ifadelerinden birini döndürür. Bu işlev, birden çok iç içe EĞER deyiminin olmasını önlemek için kullanılabilir.

Sözdizimi

SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])  

Parametreler

Süre Tanım
ifade İfadenin birden çok kez değerlendirileceği tek bir skaler değer döndüren herhangi bir DAX ifadesi (her satır/bağlam için).
değer İfadenin sonuçlarıyla eşleştirilecek sabit bir değer.
result İfadenin sonuçları karşılık gelen değerle eşleşiyorsa değerlendirilecek tüm skaler ifadeler.
else İfadenin sonucu değer bağımsız değişkenlerinden herhangi biriyle eşleşmiyorsa değerlendirilecek herhangi bir skaler ifade.

Dönüş değeri

Bir değerle eşleşme varsa, karşılık gelen sonuçtan bir skaler değer döndürülür. Bir değerle eşleşme yoksa, başka bir değer döndürülür. Değerlerden hiçbiri eşleşmiyorsa ve başka bir değer belirtilmezse BLANK döndürülür.

Açıklamalar

  • Değerlendirilecek ifade sabit bir değer veya ifade olabilir. Bu işlevin yaygın kullanımlarından biri, ilk parametreyi TRUE olarak ayarlamaktır. Aşağıdaki örneklere bakın.
  • Tüm sonuç ifadeleri ve else ifadesi aynı veri türünde olmalıdır.
  • Koşulların sırası önemlidir. Bir değer eşleştiğinde ilgili sonuç döndürülür ve sonraki diğer değerler değerlendirilmez. Daha az kısıtlayıcı değerlerden önce değerlendirilecek en kısıtlayıcı değerlerin belirtildiğinden emin olun. Aşağıdaki örneklere bakın.

Örnekler

SWITCH'in yaygın bir kullanımı, ifadeyi sabit değerlerle karşılaştırmaktır. Aşağıdaki örnek, ay adlarından oluşan hesaplanmış bir sütun oluşturur:

= SWITCH (
         [Month Number Of Year],
         1, "January",
         2, "February",
         3, "March",
         4, "April",
         5, "May",
         6, "June",
         7, "July",
         8, "August",
         9, "September",
         10, "October",
         11, "November",
         12, "December",
         "Unknown month number"
        )

SWITCH'in bir diğer yaygın kullanımı, birden çok iç içe EĞER deyimini değiştirmektir. Bu, aşağıdaki örnekte gösterildiği gibi ifade true olarak ayarlanarak gerçekleştirilir ve stokta bitme riskini belirlemek için ürünlerde Yeniden Sipariş Noktası ve Kasa Ty Hisse Senedi Düzeyi karşılaştırılır:

= SWITCH (
        TRUE,
        [Reorder Point] > [Safety Stock Level], "Good: Safety stock level exceeded",
        [Reorder Point] = [Safety Stock Level], "Minimal: Safety stock level met",
        [Reorder Point] < [Safety Stock Level], "At risk: Safety stock level not met",
        ISBLANK ( [Reorder Point] ), "Incomplete: Reorder point not set",
        ISBLANK ( [Safety Stock Level] ), "Incomplete: Safety stock level not set",
        "Unknown"
        )


Değerlerin sırası önemlidir. Aşağıdaki örnekte, birinci değer ikinci değerden daha az kısıtlayıcı olduğundan ikinci sonuç hiçbir zaman döndürülmüyor. Bu örnekteki sonuç her zaman "A" veya "C" olur ancak hiçbir zaman "B" olmaz.

= SWITCH (
         TRUE,
         Product[Standard Cost] < 100, "A",
         Product[Standard Cost] < 10, "B",
         "C"
         )

Sonuç bağımsız değişkenlerindeki veri türleri farklı olduğundan aşağıdaki deyim bir hata döndürür. Tüm sonuç ve diğer bağımsız değişkenlerdeki veri türlerinin aynı olması gerektiğini unutmayın.

= SWITCH (
        [Class],
        "L", "Large",
        "H", 0.1
        )