# 13.18 VAR आणि RETURN

Source: https://ravindrabagale.com/mr/powerbi/ch13-dax-data-analysis-expressions/13-18-variables-var-and-return.html
Language: mr (Marathi with English technical terms)

Variables intermediate result ठेवतात. Formula वाचायला, debug करायला आणि repeated evaluation कमी करायला मदत होते.

Store Health =
VAR OrdersCount = [Total Orders]
VAR AvgTime = [Avg Delivery Time (mins)]
VAR CancelRate = [Cancellation Rate]
RETURN
    SWITCH(TRUE(),
        ISBLANK(OrdersCount), BLANK(),
        AvgTime <= 10 && CancelRate < 0.02, "Excellent",
        AvgTime <= 15 && CancelRate < 0.05, "Good",
        "Needs Attention")

EVALUATE
SUMMARIZECOLUMNS(
    DarkStore[City],
    Orders[Platform],
    "Orders", [Total Orders],
    "Avg Mins", [Avg Delivery Time (mins)],
    "Cancel %", [Cancellation Rate]
)
ORDER BY [Orders] DESC

Store Health मधल्या limits फक्त practice आहेत; industry benchmarks नाहीत. Missing AvgTime / CancelRate असताना चुकून Excellent होऊ नये म्हणून productionमध्ये blanksची explicit policy द्या.

VAR name = expression ने value ठरते आणि शेवटी RETURN result येतो. Variable जिथे define झाला त्या context मधली value ठेवतो; नंतरच्या CALCULATE मध्ये तो आपोआप पुन्हा calculate होत नाही.

Debugging

तात्पुरतं RETURN AvgTime करून मधला result पाहा. DAX query view मध्ये EVALUATE / SUMMARIZECOLUMNS ने City, Platform आणि measures एकत्र तपासा. Query code New measure मध्ये paste करू नका.

रवींद्र बागले यांची tip

Variable freeze होतो हे लक्षात ठेवा. नंतरच्या filter context मध्ये calculation हवं असेल तर योग्य measure expression त्या CALCULATEमध्ये evaluate करा.
