Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hi all,
I have the following table structure within power bi
DateTime | IN | OUT | INSIDE |
28/11/2022 11:00:00 | 1 | 1 | |
28/11/2022 12:00:00 | 3 | 2 | 2 |
28/11/2022 13:00:00 | 4 | 5 | 1 |
28/11/2022 14:00:00 | 2 | 1 | 2 |
Is it possible to calculate the INSIDE column within power bi via a measure or calculated column?
When doing this in Excel it is very easy to calculate this, just take one cell from above and then add this number with the outcome of the IN - OUT calculation. That would be something like this in Excel (where C stands for INSIDE, A for IN and B for OUT.):
=C1 + (A2 - B2)
Solved! Go to Solution.
Hi , @Anonymous
According to your description, you want to "get value from previous row".
First , you need to sort the [DateTime] in Power Query and you need to check the [DateTime] is single value in each row. IF not , you need to add an index column in Power Query Editor as a row number to judge .
Here, i use your [DateTime] as a row number to check which row is calculating.
Then we can click "New Column" to add a calculated column by this dax code:
Column = var _cur_row = [DateTime]
var _t =ADDCOLUMNS( FILTER('Table' , 'Table'[DateTime]<= _cur_row) , "cal" , [IN] - [OUT])
return
SUMX(_t ,[cal])
Then we can meet your need:
Thank you for your time and sharing, and thank you for your support and understanding of PowerBI!
Best Regards,
Aniya Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
hi @Anonymous
you may also add a calculated column like:
INSIDE2 =
SUMX(
FILTER(
TableName,
TableName[DateTime]<=EARLIER(TableName[DateTime])
),
TableName[IN] - TableName[OUT]
)
it worked like:
Thank you both @v-yueyunzh-msft and @FreemanZ . Both of you solutions works very good and do the job in a much better way than what I had created myself!
I have made a small adjustment to the code so that it resets the counts to 0 every next day and also added a function that it prevents the number to be below 0. See the code below:
INSIDE =
MAX(0,
SUMX(
FILTER(
Footfall,
'Footfall'[Date.1] = EARLIER('Footfall'[Date.1]) &&
Footfall[Date / time] <= EARLIER(Footfall[Date / time])
),
Footfall[bezoekers(In)] - Footfall[bezoekers(Out)]
)
)
Thank you again both for your solution and help!
hi @Anonymous
you may also add a calculated column like:
INSIDE2 =
SUMX(
FILTER(
TableName,
TableName[DateTime]<=EARLIER(TableName[DateTime])
),
TableName[IN] - TableName[OUT]
)
it worked like:
Hi , @Anonymous
According to your description, you want to "get value from previous row".
First , you need to sort the [DateTime] in Power Query and you need to check the [DateTime] is single value in each row. IF not , you need to add an index column in Power Query Editor as a row number to judge .
Here, i use your [DateTime] as a row number to check which row is calculating.
Then we can click "New Column" to add a calculated column by this dax code:
Column = var _cur_row = [DateTime]
var _t =ADDCOLUMNS( FILTER('Table' , 'Table'[DateTime]<= _cur_row) , "cal" , [IN] - [OUT])
return
SUMX(_t ,[cal])
Then we can meet your need:
Thank you for your time and sharing, and thank you for your support and understanding of PowerBI!
Best Regards,
Aniya Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
User | Count |
---|---|
99 | |
69 | |
46 | |
39 | |
33 |
User | Count |
---|---|
163 | |
110 | |
61 | |
51 | |
40 |