Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Maheshguptaz
Helper II
Helper II

Infinity error

Hi there,

 

I've created a measure to calculate Turnover R12 in my data set. All the values are coming up correct except for a single month (Oct-20). I've tried to re-update the date in my dataset and still, it's not working. Below is the screenshot if the same:

 

Maheshguptaz_0-1635837903682.png

 

 

ATT Termination is the numerator and Emp ID is the denominator.

Any help on this would be really appreciated!! Thanks in advance!!

Regards,

Mahesh

1 ACCEPTED SOLUTION

@Maheshguptaz ,if Attrition  rate is proble, refer my blog

https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-tr...

 

If infinity error then use divide

 

divide(

IF(LASTDATE('Calendar'[Date]), CALCULATE(COUNTA('Termination Power BI'[Employee_ID]),
DATESBETWEEN('Calendar'[Date],NEXTDAY(SAMEPERIODLASTYEAR(LASTDATE(('Calendar'[Date])))),LASTDATE(('Calendar'[Date]))))
,
CALCULATE(COUNTA(ExcelDB_Headcount[Employee ID]), LASTDATE('Calendar'[Date])))

)

View solution in original post

8 REPLIES 8
v-yangliu-msft
Community Support
Community Support

Hi  @Maheshguptaz ,

Use DIVIDE for division in calculation. This will remove 'Infinity' label.

You can try to change the function to the following form:

Attrition Rate_Hide Future Date =
Var _lastdate= LASTDATE('Calendar'[Date])
IF(MAX('Calendar'[Date])= _lastdate, 
Divide(
CALCULATE(COUNTA('Termination Power BI'[Employee_ID]),
DATESBETWEEN('Calendar'[Date],NEXTDAY(SAMEPERIODLASTYEAR(LASTDATE(('Calendar'[Date])))),LASTDATE(('Calendar'[Date]))))
,
CALCULATE(COUNTA(ExcelDB_Headcount[Employee ID]), LASTDATE('Calendar'[Date]))),0)

If it does not meet your expected results, Can you share sample data and sample output in table format? Or a sample pbix after removing sensitive data.

 

Best Regards,

Liu Yang

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

VahidDM
Super User
Super User

Hi @Maheshguptaz 

 

What formula have you used in there? I think all ATT Termination % are wrong.
For instance, 401/17189 = 2.33% for Jan-2020


Appreciate your Kudos!!



@VahidDM ,

 

Here's the DAX i used:

 

Attrition Rate_Hide Future Date =
IF(LASTDATE('Calendar'[Date]), CALCULATE(COUNTA('Termination Power BI'[Employee_ID]),
DATESBETWEEN('Calendar'[Date],NEXTDAY(SAMEPERIODLASTYEAR(LASTDATE(('Calendar'[Date])))),LASTDATE(('Calendar'[Date]))))
/
CALCULATE(COUNTA(ExcelDB_Headcount[Employee ID]), LASTDATE('Calendar'[Date])))
 
As suggested by @amitchandak , I've modified it as below:
 
Attrition Rate_Hide Future Date = DIVIDE(
IF(LASTDATE('Calendar'[Date]), CALCULATE(COUNTA('Termination Power BI'[Employee_ID]),
DATESBETWEEN('Calendar'[Date],NEXTDAY(SAMEPERIODLASTYEAR(LASTDATE(('Calendar'[Date])))),LASTDATE(('Calendar'[Date])))),
CALCULATE(COUNTA(ExcelDB_Headcount[Employee ID]), LASTDATE('Calendar'[Date])))

and now I do not see any value for OCT-20 (this was giving infinity in the first place)
amitchandak
Super User
Super User

@Maheshguptaz , can share formula,

 

If you are dividing then use divide function

 

example

divide(sum(Table[A]),sum(Table[B]))

Hi @amitchandak ,

 

Below is the DAX I'm using at present in my report:

 

Attrition Rate_Hide Future Date =
IF(LASTDATE('Calendar'[Date]), CALCULATE(COUNTA('Termination Power BI'[Employee_ID]),
DATESBETWEEN('Calendar'[Date],NEXTDAY(SAMEPERIODLASTYEAR(LASTDATE(('Calendar'[Date])))),LASTDATE(('Calendar'[Date]))))
/
CALCULATE(COUNTA(ExcelDB_Headcount[Employee ID]), LASTDATE('Calendar'[Date])))

I cannot use DIVIDE in this situation as I need to filter out the NUMERATOR based on the dates.

Regards,
Mahesh

@Maheshguptaz ,if Attrition  rate is proble, refer my blog

https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-tr...

 

If infinity error then use divide

 

divide(

IF(LASTDATE('Calendar'[Date]), CALCULATE(COUNTA('Termination Power BI'[Employee_ID]),
DATESBETWEEN('Calendar'[Date],NEXTDAY(SAMEPERIODLASTYEAR(LASTDATE(('Calendar'[Date])))),LASTDATE(('Calendar'[Date]))))
,
CALCULATE(COUNTA(ExcelDB_Headcount[Employee ID]), LASTDATE('Calendar'[Date])))

)

@amitchandak , I've tried using DIVIDE but now I do not see any value for OCT-20 in my report. It's just giving blank

@Maheshguptaz , first of all, check why are you getting oct -21 head count 0. I see that as issue.

 

In divide you can return 0 for infinity case

divide(a,b,0)

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.