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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

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
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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