Power BI · मराठी आवृत्ती
8.11 DAX calculated columns
Sample data definition: या course च्या Orders[Amount] मध्ये discount आधीच वजा आहे. खाली Amount − Discount हे generic formula शिकवण्यासाठीचं example आहे; आपल्या sample वर पुन्हा discount वजा करू नका. Sample Net Sales = SUM(Orders[Amount]); discountपूर्व gross = Amount + Discount.
Model मध्ये DAX वापरून बनवलेला column म्हणजे calculated column. Import model मध्ये तो refresh वेळी प्रत्येक row साठी calculate होऊन store होतो.
- Table / Report view मध्ये Orders table निवडा.
- Table tools › New column किंवा table वर right-click › New column.
Net Amount = Orders[Amount] - Orders[Discount]लिहून Enter करा.- Column tools मध्ये type, format, ₹, decimal places, Data category आणि Sort by column ठरवा.
Net Amount = Orders[Amount] - Orders[Discount]
Category = RELATED(Product[Category]) // Orders is on the many side
Store City = RELATED(DarkStore[City])
Delivery Speed Band =
SWITCH(
TRUE(),
ISBLANK(Orders[Delivery Time Mins]), "Not delivered",
Orders[Delivery Time Mins] <= 10, "0-10 min",
Orders[Delivery Time Mins] <= 15, "11-15 min",
Orders[Delivery Time Mins] <= 30, "16-30 min",
"30+ min"
)
Delivery Speed Band Sort =
SWITCH(Orders[Delivery Speed Band], "0-10 min", 1, "11-15 min", 2, "16-30 min", 3, "30+ min", 4, 5)
Is Late = IF(Orders[Delivery Time Mins] > 15, "Late", "On time")
Order Value Band =
VAR v = Orders[Amount]
RETURN IF(v < 199, "Below ₹199", IF(v < 499, "₹199–498", "₹499 and above"))
-- date parts (in the Date table)
Month Name = FORMAT('Date'[Date], "mmm")
Month Number = MONTH('Date'[Date])
Year Month = FORMAT('Date'[Date], "yyyy-mm")
Is Weekend = IF(WEEKDAY('Date'[Date], 2) >= 6, TRUE(), FALSE())
-- one-side table: count related rows
Customer Orders = CALCULATE(DISTINCTCOUNT(Orders[Order ID]))
Delivery Speed Band select करून Sort by column › Delivery Speed Band Sort निवडा. Null time ला Not delivered हे sample label आहे; source status वेगळा असेल तर rule जुळवा. Is Late example मध्ये blank ला On time होऊ देऊ नका; production मध्ये blank / cancelled आधी हाताळा. Order Value Band मध्ये Amount line-level असेल तर तो line band आहे.
Customer Orders मध्ये CALCULATE का?
हा column Customer table मध्ये बनवा. Current row चा row context असतो. CALCULATE context transition करून current Customer ला filter बनवतो; योग्य relationship मधून Orders filter होतात. म्हणून प्रत्येक customer चा वेगळा distinct count मिळतो.
Practice
Order Hour वर Day Part बनवा: 6–11 Morning, 12–16 Afternoon, 17–21 Evening, बाकी Night. SWITCH(TRUE()) आणि sort column वापरा.