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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Erlang C - Error in FACT () and POWER() DAX FUNCTIONS

Hi!

Has anyone tried to figure out how to calculate Erlang C formula with DAX? I am trying to calculate the number of agents needed for a specific level of service for a call centre.

I have followed this tutorial "Creating a Call Center staffing tool in Power PIvot" by Josh Miller. It was very helpful but Power BI is showing computing limitations, specifically is given me these errors:

MdxScript(Model) (6,5) Calculation error in measure 'Table'[TA_INTERACTIONS]’: An argument of function FACT has the wrong data type or the result is too large or too small."

 

MdxScript(Model) (25, 75) Calculation error in measure 'Table'[TA_INTERACTIONS]’: An argument of function POWER has the wrong data type or the result is too large or too small."

Calculations are based on Poisson and Cumulative Poisson formula, which contains a POWER() and FACT() functions:

a) Poisson:

 

PoissonX =
DIVIDE (
    EXP ( - [IntensidadTraf] )
        * POWER ( [IntensidadTraf]; SUM ( AgentsX[AgentsX] ) );
    FACT ( SUM ( AgentsX[AgentsX] ) );
    0
)

 

b) Cumulative Poisson

 

PoissonC_X =
SUMX (
    FILTER ( AgentsZ; AgentsZ[AgentsZ] < SUM ( AgentsX[AgentsX] ) );
    DIVIDE (
        EXP ( - [IntensidadTraf] ) * POWER ( [IntensidadTraf]; AgentsZ[AgentsZ] );
        FACT ( AgentsZ[AgentsZ] );
        0
    )
)

 

Where ‘AgentsX [AgentsX] ’ and ‘AgentsZ [AgentsZ] ’ are tables containing only one column with the total number of agents, increasing the value 1 by 1.

 

The model works for less than 150 agents but breaks at 151 agents or greater.

 

Any ideas on how to solve it?

 

Thanks!

7 REPLIES 7
AZJohnPowerBI
Helper I
Helper I

AZJohnPowerBI
Helper I
Helper I

How long of intervals were you using to figure (A) or Call intensity? Generally, something around 15 minutes - 30 minutes should work. There are some problems with the Erlang formula, in that the accuracy was only meant for ~143 agents. Anything above that, and it begins to break down.
I found this site fairly helpful on problemsolving and and overall helpful resource.

Sorry I wasn't able to find a solution to what to do if you have more agents than the Erlang calculations can handle, and I wish you well.

srikanthG
Regular Visitor

Hello Judy,

Have you resolved the Erlang - C logic issues or found any alternative solution?

Unfortunately Not yet

v-shex-msft
Community Support
Community Support

Hi @Anonymous ,

Actually, it mean you are use too large number to do 'fact' calculation and the result number is over int type limit.(I test on my side and I it can calculate with numbers less than 171)

Regards,
Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.
Anonymous
Not applicable

Thanks @v-shex-msft !

Though i need a much higher number to figure out my calculations. I will keep on searching an alternative.

 

Regards.

@Anonymous 

 

I am trying to calculate call volume using Erlang C and Power BI variables. I am getting an error similiar to what you had. Were you able to find a way to forecast call volume in Power BI using Erlang?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.