I am working with just over 2 years of data. My PBIX file is very large and contains some sensitive data.
Let me explain how my data looks, and the relevant columns to complete this task.
Call Flow Column 1
In/Out
Call From Column 2
4199091234
Call Initiated Column 3
1/1/2021 08:30:20
Call Duration Column 4
00:02:05
Call End Time Column 5
1/1/2021 08:32:25
DNIS Column 6
4169671111
I have at current approx. 12 million lines of data like this. However, for some proposed current update we would like to show evidence of Concurrent calls OVER our approve threshold for each number (DNIS), and Trunk Lines.
Since the durations of calls has such a wide duration range, I have been trying to use an Time Interval table holding the per Second count throughout a 24 hour period. (No Success)
I am aware I will need to use Slicers to drill down to some of the finer information I am looking for, however I have not been able to come up with the correct DAX formula to give me a Concurrent Calls count.
Can anyone help me work this out. I have taken a long look to see if a Solution for this was previously posted and I havenāt found anything. If there is a link to something I would appreciate it, any assistance would be appreciated.
Required result:
List of Trunk LinesList of Phone NumbersInterval Times#of Concurrent Calls*
OR
I can do each Trunk Line separately and look for the following result; Interval Times#of Concurrent Calls
Per @Anuragās suggestion, we have available a number of techniques/tools to make it easier for you to mask existing data, or create representative dummy data.
In addition to providing a PBIX with nonconfidential data, itās also always helpful to provide a mockup of the results you are looking for, so that responders can validate their solution before providing it to you.
Hi @blackautomation, did the response provided by the users and experts help you solve your query? If not, how far did you get and what kind of help you need further? If yes, kindly mark as solution the answer that solved your query. Thanks!
Hi @blackautomation, weāve noticed that no response has been received from you since the 1st of July. We just want to check if you still need further help with this post? In case there wonāt be any activity on it in the next few days, weāll be tagging this post as Solved.
Hi @blackautomation, due to inactivity, a response on this post has been tagged as āSolutionā. If you have a follow question or concern related to this topic, please remove the Solution tag first by clicking the three dots beside Reply and then untick the check box.
Hi Everyone, I have enclosed a CSV file to use from a Call Center. Please let me know if you can calculate Concurrent Calls using his data. CallCenterData.csv (29.0 KB)
Hi @blackautomation,
That file is helpful however there are acronyms which makes it difficult to understand. Also when is the finish time, does it include ringing etc.
As @BrianJ mentioned, can you give a mockup of the desired result.
Due to other obligations brought on by the current situation we are all facing with COVID -19, I was unable to stay on top of this question to the Forum. I am still trying to find a solution to this problem, any assistance would be helpful.
To remind everyone, this is a question to see if we can get insights into the attached file to find out the number of concurrent calls at any given period. The file has 1million line as I also need to know if the solution can handle this amount of data.
The desired result I am seeking would allow me to select a date (using a slicer) and be able to see number of concurrent calls throughout the day from 00:00:00 to 23:59:59 to see when thresholds are being threatened or surpassed.
I have came up with below solution, check if this is helpful. Few Points
Loaded Data for only first 1000 Rows from CSV for testing
Created a new Date Table. This will allow to filter for a particular date and check concurrency.
Created a Time Table using Initiated Field, can use same or create separate table. To be used in Visualization.
Once done, created a new DAX formula as below. It is using Date Difference to identify Rows with Initiated Time <= Selected DateTime and Ended Time >= Selected DateTime.
Active Calls =
VAR SelDate =
SELECTEDVALUE ( āDateā[Date] )
VAR ContextTime =
SELECTEDVALUE ( āTime Tableā[Time] )
VAR DateVal =
CONVERT ( SelDate & " " & ContextTime, DATETIME )
RETURN
CALCULATE (
COUNTROWS ( āCall History Testā ),
FILTER (
āCall History Testā,
DATEDIFF ( DateVal, āCall History Testā[Call initiated], MINUTE ) <= 0
&& DATEDIFF ( DateVal, āCall History Testā[Call Ended], MINUTE ) >= 0
)
)
Great work, your solution works great even with my extremely large data. Very much appreciate your time and effort. Also want to thank EnterpriseDNA for bumping up my post to assist me in getting a very quick resolution.
Iād jump in since this is an area Iāve dabbled in a bit. That solution with the time interval table looks pretty solid, and I think it might work if you tweak it a bit more. I once worked on a similar setup, but we were tracking SIP softphone apps for iOS and Android. What helped me was breaking down the time into smaller chunksālike per secondāthen using those to count overlapping calls, which I think is what youāre aiming for right here. You might want to look into segmenting your data that way and see if it helps!