İngilizce dilinde oku

Aracılığıyla paylaş


ŞALTER

Şunlar için geçerlidir: Hesaplanmış 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
expression İ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).
value expressionsonuçlarıyla eşleştirilecek sabit bir değer.
result expression sonuçları ilgili valueeşleşiyorsa değerlendirilecek skaler ifadeler.
else expression sonucu value bağımsız değişkenlerinden herhangi biriyle eşleşmiyorsa değerlendirilecek herhangi bir skaler ifade.

Dönüş değeri

bir valueile eşleşme varsa, ilgili result bir skaler değer döndürülür. bir valueile eşleşme yoksa, else bir değer döndürülür. values hiçbiri eşleşmezse ve else belirtilmezse BLANK döndürülür.

Açıklamalar

  • Değerlendirilecek expression sabit bir değer veya ifade olabilir. Bu işlevin yaygın kullanımlarından biri, ilk parametreyi TRUEolarak ayarlamaktır. Aşağıdaki örneklere bakın.
  • Tüm result ifadeleri ve else ifadesi aynı veri türünde olmalıdır.
  • Koşulların sırası önemlidir. Bir value eşleşir eşleşmez, karşılık gelen result döndürülür ve sonraki diğer values değerlendirilmez. Daha az kısıtlayıcı valuesönce değerlendirilecek en kısıtlayıcı values belirtildiğinden emin olun. Aşağıdaki örneklere bakın.

Örnekler

SWITCH'in yaygın kullanımlarından biri, expression sabit valuesile 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 ifadeyi TRUEolarak ayarlayarak gerçekleştirilir ve stokta bitme riskini belirlemek için ürünlerde Yeniden Sipariş Noktası ve Güvenlik Stok Düzeyi'ni karşılaştırı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"
        )


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

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

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

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