DAX: DIVIDE işleviyle bölme işlecini (/) karşılaştırmaDAX: DIVIDE function vs divide operator (/)

Veri modelleyicisi olarak, bir payı paydaya bölmek için DAX ifadesi yazdığınızda DIVIDE işlevini veya bölme işlecini (/ - eğik çizgi) kullanmayı seçebilirsiniz.As a data modeler, when you write a DAX expression to divide a numerator by a denominator, you can choose to use the DIVIDE function or the divide operator (/ - forward slash).

DIVIDE işlevini kullandığınızda pay ve payda ifadelerini geçirmeniz gerekir.When using the DIVIDE function, you must pass in numerator and denominator expressions. İsteğe bağlı olarak alternatif bir sonucu temsil eden bir değer de geçirebilirsiniz.Optionally, you can pass in a value that represents an alternate result.

DIVIDE(<numerator>, <denominator> [,<alternateresult>])

DIVIDE işlevi sıfıra bölme durumlarını otomatik olarak işleyecek şekilde tasarlanmıştır.The DIVIDE function was designed to automatically handle division by zero cases. Alternatif sonuç geçirilmezse ve payda sıfır veya BOŞLUK ise işlev BOŞLUK döndürür.If an alternate result is not passed in, and the denominator is zero or BLANK, the function returns BLANK. Alternatif sonuç geçirildiğinde BOŞLUK yerine o sonuç döndürülür.When an alternate result is passed in, it's returned instead of BLANK.

DIVIDE işlevinin kullanışlı olmasının nedeni ifadenizde önce payda değerinin test edilmesi gereğini ortadan kaldırmasıdır.The DIVIDE function is convenient because it saves your expression from having to first test the denominator value. Bu işlev payda değerinin test edilmesi açısından IF işlevinden de daha iyidir.The function is also better optimized for testing the denominator value than the IF function. Sıfıra göre bölüm kontrol etmek pahalı olduğu için performans kazancı önemlidir.The performance gain is significant since checking for division by zero is expensive. DIVIDE işlevi kullanıldığında sonuçta daha kısa ve zarif bir ifade elde edilir.Further using DIVIDE results in a more concise and elegant expression.

ÖrnekExample

Aşağıdaki ölçü ifadesi güvenli bir bölme üretir ama dört DAX işlevinin kullanılmasını gerektirir.The following measure expression produces a safe division, but it involves using four DAX functions.

Profit Margin =
IF(
    OR(
        ISBLANK([Sales]),
        [Sales] == 0
    ),
    BLANK(),
    [Profit] / [Sales]
)

Bu ölçü ifadesi daha verimli ve zarif bir şekilde aynı sonuca ulaşır.This measure expression achieves the same outcome, yet more efficiently and elegantly.

Profit Margin =
DIVIDE([Profit], [Sales])

ÖnerilerRecommendations

Paydanın sıfır veya BOŞLUK döndürebilecek bir ifade olduğu her durumda DIVIDE işlevini kullanmanızı öneririz.We recommend that you use the DIVIDE function whenever the denominator is an expression that could return zero or BLANK.

Paydanın sabit değer olduğu durumlarda bölme işlecini kullanmanızı öneririz.In the case that the denominator is a constant value, we recommend that you use the divide operator. Bu durumda bölmenin başarılı olması garanti edilir ve ifadeniz gereksiz testten kaçınacağı için daha iyi bir performans gösterir.In this case, the division is guaranteed to succeed, and your expression will perform better because it will avoid unnecessary testing.

DIVIDE işlevinin alternatif değer döndürüp döndürmeyeceğini dikkatli bir şekilde düşünün.Carefully consider whether the DIVIDE function should return an alternate value. Ölçüler için bu genellikle BOŞLUK döndürmesinden daha iyi bir tasarımdır.For measures, it's usually a better design that they return BLANK. Özetlemeler BOŞLUK olduğunda rapor görselleri varsayılan olarak gruplandırmaları ortadan kaldırdığından, BOŞLUK döndürmesi daha iyidir.Returning BLANK is better because report visuals—by default—eliminate groupings when summarizations are BLANK. Bu sayede görsel verilerin bulunduğu gruplara odaklanabilir.It allows the visual to focus attention on groups where data exists. Gerektiğinde Veri içermeyen öğeleri göster seçeneğini etkinleştirerek filtre bağlamındaki tüm grupları (değer veya BOŞLUK döndürenler) görüntüleyecek şekilde görseli yapılandırabilirsiniz.When necessary, you can configure the visual to display all groups (that return values or BLANK) within the filter context by enabling the Show items with no data option.

Sonraki adımlarNext steps

Bu makale hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:For more information about this article, check out the following resources: