Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don'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.

Reply
Anonymous
Not applicable

Urgent Help ---- DOD, MONTH, YEAR

Capture.JPGHi,

Please see the below query. Can someone share some solution for this query.

 

Urgent needed.

3 ACCEPTED SOLUTIONS
mahoneypat
Microsoft Employee
Microsoft Employee

You posted this in the Power Query area, but this is better solved with DAX.  You should (in query) unpivot your data so you have a Date column and a Value column (or whatever your #s are).  Then you make a relationship to a Date table and do measures that calculate each of your three measures with a pattern like this:

 

NewMeasure =
VAR currentdate =
MAX ( 'Date'[Date] ) // assumes you are using the Date column from your Date table in your visual
VAR currentvalue =
SUM ( Table[Value] ) // substitute with your table and column name. if only one row, doesn't matter if min max sum or average is used
VAR comparisonvalue =
CALCULATE ( SUM ( Table[Value] ), 'Date'[Date] = currentdate - 1 )
RETURN
comparisonvalue - currentvalue

 

The above gives you your DOD measure.  For the other two, substitute the below for the comparisonvalue line

 

var comparisonvalue = Calculate(SUM(Table[Value]), ENDOFMONTH('Date'[Date])) // var currentdate not needed

 

var comparisonvalue = Calculate(SUM(Table[Value]), ENDOFYEAR('Date'[Date])) // var currentdate not needed

 

If this works for you, please mark it as solution.  Kudos are appreciated too.  Please let me know if not.

Regards,

Pat





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


View solution in original post

v-juanli-msft
Community Support
Community Support

Hi @Anonymous 

mahoneypat's suggestion should be helpful.

If your real data have more complex problem, please feel free to ask us.

 

Best Regards

Maggie

View solution in original post

Anonymous
Not applicable

Hi Pat,

Thanks for your help. 

The Code is : 

DOD = VAR CurrentDate = MAX(DataTbl[Date])
VAR CurrentValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = CurrentDate )
var ComparisonDate = calculate(MAX(DataTbl[Date]),filter(DataTbl,DataTbl[Date]<CurrentDate))
VAR ComparisonValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = ComparisonDate )
RETURN ABS(ComparisonValue - CurrentValue)
 
Monthly = VAR CurrentDate = MAX(DataTbl[Date])
VAR CurrentValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = CurrentDate )
var ComparisonDate = calculate(MAX(DataTbl[Date]),filter(DataTbl,DataTbl[Date]<CurrentDate))
VAR ComparisonValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = DATE(year(TODAY()),3,31) )
RETURN 
(ComparisonValue - CurrentValue)
 
Yearly = VAR CurrentDate = MAX(DataTbl[Date])
VAR CurrentValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = CurrentDate )
var ComparisonDate = calculate(MAX(DataTbl[Date]),filter(DataTbl,DataTbl[Date]<CurrentDate))
VAR ComparisonValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = DATE(year(TODAY()) - 1,12,31) )
RETURN
(ComparisonValue - CurrentValue)
 
Answer of the above code
dod1.JPG

 

View solution in original post

6 REPLIES 6
v-juanli-msft
Community Support
Community Support

Hi @Anonymous 

mahoneypat's suggestion should be helpful.

If your real data have more complex problem, please feel free to ask us.

 

Best Regards

Maggie

mahoneypat
Microsoft Employee
Microsoft Employee

You posted this in the Power Query area, but this is better solved with DAX.  You should (in query) unpivot your data so you have a Date column and a Value column (or whatever your #s are).  Then you make a relationship to a Date table and do measures that calculate each of your three measures with a pattern like this:

 

NewMeasure =
VAR currentdate =
MAX ( 'Date'[Date] ) // assumes you are using the Date column from your Date table in your visual
VAR currentvalue =
SUM ( Table[Value] ) // substitute with your table and column name. if only one row, doesn't matter if min max sum or average is used
VAR comparisonvalue =
CALCULATE ( SUM ( Table[Value] ), 'Date'[Date] = currentdate - 1 )
RETURN
comparisonvalue - currentvalue

 

The above gives you your DOD measure.  For the other two, substitute the below for the comparisonvalue line

 

var comparisonvalue = Calculate(SUM(Table[Value]), ENDOFMONTH('Date'[Date])) // var currentdate not needed

 

var comparisonvalue = Calculate(SUM(Table[Value]), ENDOFYEAR('Date'[Date])) // var currentdate not needed

 

If this works for you, please mark it as solution.  Kudos are appreciated too.  Please let me know if not.

Regards,

Pat





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Anonymous
Not applicable

Hi, 

First of all many many thank to resolve my query.

I am facing one problem the result will come correctly (It adding sum on both value while I am using the measure.) I need to subtract the value. Please refer the screen shot for your reference. 

Kindly inform to me, where I am wrong.  Please suggest asap.

 

Thanks

 

table.JPGVisual.JPGMeasure.JPG

 

It looks like you've made calculated columns.  I was thinking you would unpivot the first 4 columns in your original pic/table, and then create measures with the expressions I sent, and create those columns in a table visual.  If you do not need columns, it is better to use measures.  Can you clarify what your model looks like now, and describe the final visual you'd like to have on your report?

 

Regards,

Pat





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Anonymous
Not applicable

Hi Pat,

Thanks for your help. 

The Code is : 

DOD = VAR CurrentDate = MAX(DataTbl[Date])
VAR CurrentValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = CurrentDate )
var ComparisonDate = calculate(MAX(DataTbl[Date]),filter(DataTbl,DataTbl[Date]<CurrentDate))
VAR ComparisonValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = ComparisonDate )
RETURN ABS(ComparisonValue - CurrentValue)
 
Monthly = VAR CurrentDate = MAX(DataTbl[Date])
VAR CurrentValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = CurrentDate )
var ComparisonDate = calculate(MAX(DataTbl[Date]),filter(DataTbl,DataTbl[Date]<CurrentDate))
VAR ComparisonValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = DATE(year(TODAY()),3,31) )
RETURN 
(ComparisonValue - CurrentValue)
 
Yearly = VAR CurrentDate = MAX(DataTbl[Date])
VAR CurrentValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = CurrentDate )
var ComparisonDate = calculate(MAX(DataTbl[Date]),filter(DataTbl,DataTbl[Date]<CurrentDate))
VAR ComparisonValue = CALCULATE(SUM(DataTbl[Balance]),DataTbl[Date] = DATE(year(TODAY()) - 1,12,31) )
RETURN
(ComparisonValue - CurrentValue)
 
Answer of the above code
dod1.JPG

 

Anonymous
Not applicable

Hi Pat,

 

Please find the attached pbix file for you reference. Could you please edit the dax query.

 

Thanks

Adi 

https://www.dropbox.com/sh/upleorbai3honsh/AADCD1bWbc5vlQtvmww5MuVea?dl=0 

 

 

 

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors