The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
Hello
I'm trying to produce a measure that will calculate the sum of calls made by phone numbers that have called 6 or more times, I thought about maybe using VAR to create a virtual table of the count of each phone number and then filter that so its sums the ones with a count of 6 or more but I've not been able to get that to work but that could be due to my lack of knowledge in writing DAX. I need this measure to interact with a date slicer and to be able to use it to calculate the result as a percentage of all calls.
These are the columns in the data set
I've been able to create a visulization that gets me what I need, so I know what the outcome of the measure should be, this is just a count of the calling number with a filter to only show counts equal to or greater than 6, so essencially I need to recreate this table as a measure
Thanks in advance for your assistance
Solved! Go to Solution.
You could create a measure like
Num calls ( 6 or more ) =
VAR NumbersAndCalls =
ADDCOLUMNS (
VALUES ( 'Table'[Calling No] ),
"@num calls", CALCULATE ( COUNTROWS ( 'Table' ) )
)
VAR Result =
SUMX ( FILTER ( NumbersAndCalls, [@num calls] >= 6 ), [@num calls] )
RETURN
Result
and to show the %
Num calls ( 6 or more ) % =
DIVIDE ( [Num calls ( 6 or more )], COUNTROWS ( 'Table' ) )
@AllisonB Measure to count the number of calls per phone number:
CallsPerPhoneNumber =
CALCULATE(
COUNTROWS('YourTable'),
ALLEXCEPT('YourTable', 'YourTable'[Calling No])
)
Measure to filter and sum the calls for phone numbers with 6 or more calls:
SumOfCallsByFrequentCallers =
CALCULATE(
SUM('YourTable'[Duration]),
FILTER(
ADDCOLUMNS(
SUMMARIZE('YourTable', 'YourTable'[Calling No]),
"CallCount", [CallsPerPhoneNumber]
),
[CallCount] >= 6
)
)
Measure to calculate the percentage of these calls relative to all calls:
PercentageOfFrequentCalls =
DIVIDE(
[SumOfCallsByFrequentCallers],
SUM('YourTable'[Duration]),
0
)
Proud to be a Super User! |
|
You could create a measure like
Num calls ( 6 or more ) =
VAR NumbersAndCalls =
ADDCOLUMNS (
VALUES ( 'Table'[Calling No] ),
"@num calls", CALCULATE ( COUNTROWS ( 'Table' ) )
)
VAR Result =
SUMX ( FILTER ( NumbersAndCalls, [@num calls] >= 6 ), [@num calls] )
RETURN
Result
and to show the %
Num calls ( 6 or more ) % =
DIVIDE ( [Num calls ( 6 or more )], COUNTROWS ( 'Table' ) )