How to get cumulative sum till current month? - powerbi

Month
value
January 2023
2
February 2023
4
March 2023
0
I want the cumulative sum till current month and 0 after that. how do i do this in power bi
January 2023 2
February 2023 6
there should be no march
I tried few things but it's calculating for March as well and displaying 6
Actuals running total in Month 2: =
CALCULATE(
SUM('BI_ClientAdoptionReport'[Actuals]),
FILTER(
ALL('BI_ClientAdoptionReport'[Month]),
ISONORAFTER('BI_ClientAdoptionReport'[Month], MAX('BI_ClientAdoptionReport'[Month]), DESC)
)
)

Use this measure instead:
Actuals running total in Month =
VAR running_total =
CALCULATE(
SUM('BI_ClientAdoptionReport'[Actuals]),
FILTER(
ALLSELECTED('BI_ClientAdoptionReport'[Month]),
ISONORAFTER(
'BI_ClientAdoptionReport'[Month],
MAX('BI_ClientAdoptionReport'[Month]),
DESC
)
)
)
RETURN
IF (
SELECTEDVALUE(BI_ClientAdoptionReport[Actuals]) = 0,
0,
running_total
)

Related

Combination of DATESYTD but keep the month separete to get a avrage on a distinct employee of the accumulated months

This data
Row_ID EmployeeID Date
1 1 2023-02-13
2 2 2023-02-13
3 3 2023-02-13
4 1 2023-01-13
5 8 2023-01-13
6 7 2023-01-13
7 4 2023-01-13
8 5 2023-01-13
9 6 2023-01-13
and a DATE table
I use a Measure
_DistinctEmployee = DISTINCTCOUNT(tblTestEmployee[EmployeeID])
And a Messure for the DATESTYD
_DATESTYD = CALCULATE([_DistinctEmployee],DATESYTD(vwDimDatum[Datum2]))
Image for date choise and table
The end result i want on the measure (NOT drag in MONTH in the table)
Is that the datestyd take the distinct numbers of employee (Becouse in the real scenarie there can be more then one employee that month)
and then + that month with the next month and then + it to the next month thats accumulated
and then take al this addition of values and devide it with the number if the month thats choisen.
Example of the data
I have choisen MONTH Febuary
In my measure i get the number 8 and thats the distinct accumulated employees in JAN and FEB and if i devide that with the number of the month i get 4 and that wrong that no the avrage.
there is 3 distinct employee in January
and there is 6 Distinct employee in Febuary
3+6 / 2(Febuary) = 4,5
Thats the average of employees in al this month.
Try the following measure:
=
VAR DateChosen =
MIN( vwDimDatum[Datum2] )
VAR T1 =
SUMMARIZE(
FILTER( ALL( vwDimDatum ), vwDimDatum[Datum2] <= DateChosen ),
vwDimDatum[Datum2],
"Distinct Employees", [_DistinctEmployee]
)
RETURN
AVERAGEX( T1, [Distinct Employees] )

DAX formula for sales sum for each day of previous n days

Given a table FACT in Power BI with three columns Date, Category and Sales I am looking for a DAX function that for each day returns the sum of the sales of its previous n days.
Lets assume n = 2, that means for day 01/04/2020 my measure should return the sum of the sales of the days 01/02/2020 and 01/03/2020.
Here is a small example:
Date Category Sales
01/01/2020 A 1
01/01/2020 B 3
01/02/2020 B 2
01/03/2020 B 1
01/04/2020 A 0
01/05/2020 B 10
01/06/2020 B 7
What I want is
Date MyMeasure
01/01/2020 0
01/02/2020 4
01/03/2020 6
01/04/2020 3
01/05/2020 1
01/06/2020 10
I later would then like to use the Category as a filter and in my case n is 365.
I tried the following
MyMeasure =
VAR FROM_DATE =
DATEADD ( FACT[DATE], 0, DAY )
VAR SALES_365 =
CALCULATE (
SUM ( FACT[SALES] ),
DATESINPERIOD ( FACT[DATE], FROM_DATE, 365, DAY )
)
RETURN
SALES_365
but got an error that a table of multiple values was supplied where a single value was expected.
The error was in the variable FROM_DATE, in which DATEADDD returned a column of dates and not a single value.
That said you don't really need a variable for that, you can just use a simple subtraction and DATESBETWEEN(DateCol, DateFrom,DateTo)
MyMeasure =
CALCULATE (
SUM ( FACT[SALES] ),
DATESBETWEEN('FACT'[DATE],MAX(FACT[DATE])-2,MAX(FACT[DATE])-1)
)

DAX measure to get the total loan amount of the previous 12 month from the selected month in PowerBI

eg: If I select Feb 2019 from the date slicer, I want the total loan amount from March 2019 to Feb 2020, start date and end date is given
eg: I want in the similar way:
From the given DAX. for particular month of March, I am getting the proper o/p but I want for entire previous 12 months as I select the date from the slicer:
abc =
CALCULATE(
SUM( Pledge[pledge_amount] ),
FILTER(
Pledge,
( Pledge[ft_start_date] >= MIN( 'Calendar'[Date] ) )
&& Pledge[ft_start_date] <= DATE( 2020, 05, 31 )
&& Pledge[ft_end_date] > DATE( 2020, 03, 31 )
&& COUNTROWS(
FILTER(
'Age Group',
'Age Group'[object] = "pledge"
&& 'Age Group'[units] = "month"
&& [Age Months] >= 'Age Group'[min]
&& [Age Months] <= 'Age Group'[max]
)
)
)
)
We call the desired result moving annual total wich can be donne by using DATESINPERIOD function.
Use this code :
abc =
CALCULATE(
SUM(Pledge[pledge_amount]),
DATESINPERIOD ('Calendar'[Date],LASTDATE('Calendar'[Date]),-1,YEAR)
)

DAX Power BI 445 Calendar week Grouping

Date =
VAR MinYear = YEAR ( MIN (report1585679325399[Actual Arrive Time.1]))
VAR MaxYear = YEAR ( MAX ( report1585679325399[Actual Arrive Time.1]) )
RETURN
ADDCOLUMNS (
FILTER (
CALENDARAUTO( ),
AND ( YEAR ( [Date] ) >= MinYear, YEAR ( [Date] ) <= MaxYear )
),
"Calendar Year", "CY " & YEAR ( [Date] ),
"Month Name", FORMAT ( [Date], "mmmm" ),
"Month Number", MONTH ( [Date] ),
"Weekday", FORMAT ( [Date], "dddd" ),
"Weekday number", WEEKDAY( [Date] ),
"Quarter", "Q" & TRUNC ( ( MONTH ( [Date] ) - 1 ) / 3 ) + 1
)
Above is the code I am using for my dates table. I want to add Fiscal week that starts on Saturday, i.e. week 1 of 2020 would consist Jan 1-3rd. Week 2 would be Jan 4-10. There will be 53 weeks for 2020.
I also want to add a column that says the start date and end date for each week. ie week 1, 01/01/2020, 01/04/2020.
The format would be a 445 calendar. Jan 4 weeks, Feb 4 weeks, Mar 5 weeks, Apr 4 weeks, May 4 weeks, June 5 weeks etc.
I've never heard of a week starting on a Saturday but the WEEKNUM function can do weeks starting on Sunday or Monday and starting on Sunday lines up with your Weekday number.
To get the start date for the week starting on Saturday you can Date - Weekday number except for the first week where you'll want to take Jan. 1.
WeekStart = MAX ( [Date] - [Weekday number], STARTOFYEAR ( [Date] ) )

Sum with filter on DAX/PowerBI

I need to sum each month the ID's amounts that meet the next criterias:
Date End < Agreement date
Date End < Month to show
I have tried with filter, sum and others options, but the result is the same.
My datas are:
ID START DATE AGREEMENT DATE END DATE AMOUNT
1 09/15/2018 01/01/2019 02/20/2019 100
2 09/20/2018 01/15/2019 12/01/2019 100
3 10/01/2018 03/01/2019 12/01/2019 100
4 10/01/2018 03/20/2019 05/01/2019 100
5 11/10/2018 07/10/2019 100
6 09/15/2018 04/05/2019 05/01/2019 100
7 10/01/2018 06/10/2019 05/01/2019 100
8 10/20/2018 07/11/2019 04/10/2019 100
9 11/11/2018 08/01/2019 100
10 11/01/2018 06/01/2019 04/10/2019 100
This is my DAX code:
Result =
CALCULATE (
SUM ( 'Report Diario'[Amount] );
USERELATIONSHIP ( Calendario[Date]; 'Report Diario'[End Date] );
FILTER (
'Report Diario';
'Report Diario'[End Date] < 'Report Diario'[Agreement date]
)
)
finally, I have created a new table and the next calculated column works:
Result = CALCULATE(SUM('Report Diario'[Amount]);FILTER('Report Diario';AND(Calendario[Date]<'Report Diario'[Agreement Date];AND(Calendario[Date]>'Report Diario'[End Date];NOT(ISBLANK('Report Diario'[End Date]))))))