cancel
Showing results for 
Search instead for 
Did you mean: 

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

Reply
Midhunc22
Regular Visitor

Running Total based on Dimension level

Hello,

     I am trying to get the Running total based on ServiceID But getting an error. Below is my table data . I

Group     Service ID     Amount

   A               1                $2

   A               4                $1

   A               2                $3

   B               2                $1

   B               6                $4

When i try to create Rank based on the below dax getting an error "A single value for column ' Service ID ' in table 'Sampledata' cannot be determined. This can happen when a measure formula refers to a column that contains many values without specifying an aggregation such as min, max, count, or sum to get a single result"

Rank = RANKX(SampleData,SampleData[Service ID],,ASC,Dense)

for the Running total i am using below dax , But the Earlier function does not recognise the any column from the table.

 

RunningTotal =
CALCULATE (
    SUM ( SampleData[Amount] ),
    ALLEXCEPT ( SampleData, SampleData[Group] ),
    SampleData[Rank] <= EARLIER ( SampleData[Rank] )
)

 

Please help me know , what went wriong here. ? 

TIA

Midhun

3 REPLIES 3
ryan_mayu
Super User
Super User

@Midhunc22 

why you want to create rank column?

is this what you want?

running total = sumx(FILTER('Table','Table'[Group]=EARLIER('Table'[Group])&&'Table'[Service ID]<=EARLIER('Table'[Service ID])),'Table'[Amount])

1.PNG





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Hi @ryan_mayu  ,

    I have tried this DAX as well. but Earlier function does not getting any columns its giving an error as Earlier row context which does not exist .

 

running total = sumx(FILTER(Sampledata,Sampledata[Group]=EARLIER(group)&&Sampledata[ Service ID ]<=EARLIER(Service)),Sampledata[Amount])

@Midhunc22 

pls try this

 

running total = sumx(FILTER(Sampledata,Sampledata[Group]=EARLIER(Sampledata[Group])&&Sampledata[ Service ID ]<=EARLIER(Sampledata[ Service ID ])),Sampledata[Amount])





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Helpful resources

Announcements
PBI November 2023 Update Carousel

Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

Power BI Fabric Summit Carousel

The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors