RuiRomanoMS's avatar
RuiRomanoMS
Icon for Microsoft Employee rankMicrosoft Employee
1 year ago

Smart calcs calculation group

A calculation group with generic calculation items that work with any model.

createOrReplace

	table 'Smart Calcs'	

		calculationGroup

			calculationItem Normalize = ```
					VAR DetailValue = SELECTEDMEASURE()
					
					return if (DetailValue, 
					
					    VAR MinOfGroup = MINX(ALLSELECTED('Calendar'), SELECTEDMEASURE())
					    VAR MaxOfGroup = MAXX(ALLSELECTED('Calendar'), SELECTEDMEASURE())
					
					    RETURN DIVIDE(DetailValue - MinOfGroup, MaxOfGroup - MinOfGroup)
					)
					```

				formatStringDefinition = "0.0"

			calculationItem Randomize = IFERROR(SELECTEDMEASURE() * RAND(), SELECTEDMEASURE())

			calculationItem 'Label - ▲ LY' = ```
					var vValue = SELECTEDMEASURE()
					var vValueLY = CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR('Calendar'[Date]))
					var vGrowth = DIVIDE(vValue - vValueLY, vValueLY)
					var vFormat = SELECTEDMEASUREFORMATSTRING()
					
					return
					    FORMAT(vValue, vFormat)
					    & IF (ISBLANK(vGrowth)
					        , BLANK()
					        , " | "    
					        & IF (vGrowth >= 0, "▲" , "▼") & FORMAT(vGrowth, "0%")
					    )
					
					```

				formatStringDefinition = SELECTEDMEASUREFORMATSTRING()

			calculationItem 'Label - ▲ LM' = ```
					var vValue = SELECTEDMEASURE()
					var vValueLM = CALCULATE(SELECTEDMEASURE(), PREVIOUSMONTH('Calendar'[Date]))
					var vGrowth = DIVIDE(vValue - vValueLM, vValueLM)
					var vFormat = SELECTEDMEASUREFORMATSTRING()
					
					return
					    FORMAT(vValue, vFormat)
					    & IF (ISBLANK(vGrowth)
					        , BLANK()
					        , " | "    
					        & IF (vGrowth >= 0, "▲" , "▼") & FORMAT(vGrowth, "0%")
					    )
					
					```

				formatStringDefinition = SELECTEDMEASUREFORMATSTRING()

		column 'Smart Calc'
			dataType: string			
			summarizeBy: none
			sourceColumn: Name
			sortByColumn: Ordinal			

		column Ordinal
			dataType: int64
			isHidden			
			summarizeBy: none
			sourceColumn: Ordinal			

.

 

No RepliesBe the first to reply