New in the Community? Get started here

Schneider Electric Exchange Community

Discuss and solve problems in energy management and automation. Join conversations and share insights on products and solutions. Co-innovate and collaborate with a global network of peers.

Register Now
Resource Advisor - Performance Analytics Forum
cancel
Showing results for 
Search instead for 
Did you mean: 
Lieutenant

What is the best way to convert an annual value into an interval data set, adjusted for historical profile?

Basically, I have an annual value, a target and the client want its to be meaningful based on the load profiles data for the site.

One way is to turn every interval of the previous year into a % of the total, then turn that % into a value based on the 'target'.

Would this work?

[[DisaggregationMethod=>LinearInterpolate]]{RAMETRIC ([[IntervalCoverage=>Exact]] annual target)}

*

SUM PER _15MINUTES LAST YEAR( [Electricity:ENERGY] [kWh] ) / SUM PER YEAR LAST YEAR( [Electricity:ENERGY] [kWh] )

Any smarter ways to achieve the same outcome?

TIA!

-------------------------------------------

Anthony Gray​'s solution:

[[DisaggregationMethod=>Constant]]([[DisaggregationMethod=>Constant]]{RAMETRIC([[IntervalCoverage=>Exact]]Target Elec)}

/ SUM PER MONTH LAST YEAR([Electricity:ENERGY]))

* SUM PER _15MINUTES 364 DAYS AGO( [[DisaggregationMethod=>Constant]][Electricity:ENERGY][kWh] )

9 REPLIES 9
Lieutenant

Re: What is the best way to convert an annual value into an interval data set, adjusted for historical profile?

Anthony Gray​, could you see any issues with the above? I tried it over the weekend to no success... As the first part referencing the RA metric works, Im guessing there is something funny I need to do around the use of the 'LAST YEAR' expression suffixes? Thanks!

Commander

Re: What is the best way to convert an annual value into an interval data set, adjusted for historical profile?

Hi Kim - I did a bit more work with some new debugging tools and I think I've got it.  I really like what you're doing - 'give me a scaled version of my load profile from the previous year as my target'.  The final formula turned into this:

[[DisaggregationMethod=>Constant]]([[DisaggregationMethod=>Constant]]{RAMETRIC([[IntervalCoverage=>Exact]]Target Elec)}

/ SUM PER MONTH LAST YEAR([Electricity:ENERGY]))

* SUM PER _15MINUTES 364 DAYS AGO( [[DisaggregationMethod=>Constant]][Electricity:ENERGY][kWh] )

  1. I moved the scaling factor (this year's target/ last year's actual consumption) into a separate term at the beginning to make it an easy number to check.  I made the SUM PER... of last year's consumption monthly to match the period of the RA Metric that holds the target consumption for the current year.  If you switch that to an annual target, then change it to take the ratio of the consumption metric to the annual sum instead of monthly.  If you're going to have a mix of target metrics (some monthly and some annual) then they'll have to be in different RA Metrics.  Once the ratio is calculated, then I applied another [[DisaggregationMethod=>Constant]] to the resulting ratio so it would peacefully be applied down at the 15 minute level.
  2. I changed the date range to 364 DAYS AGO for the simple reason that you'll get back the same day of week as the current day if you do 52 whole weeks in the past.  It will avoid any weekday-weekend mismatches, and the profiles line up nicely.

I installed this on the location you mentioned and it looks like it's giving the desired answer in both load profile and in trend analysis when it's rolled up.

If you use this in a default expression, it'll depend on all the meters being at 15 minute intervals, thought that's often pretty safe.

Let me know what you think!

Lieutenant

Re: What is the best way to convert an annual value into an interval data set, adjusted for historical profile?

Thanks Anthony Gray​! I'll give it a go.  The 'test' client Im working on at the moment is 'Scentre Shopping Centre Management'.  The RA Metric is 'Target Elec', but just be careful as I dont believe the metric exists for all sites.  I have a calculated measurement called 'Target Elec' which just spits out a disaggregated version of the metric.  I've then started playing with an 'Interval Target' measurement on the Westfield 100 Market Street site, but its not working.

Lieutenant

Re: What is the best way to convert an annual value into an interval data set, adjusted for historical profile?

Thanks so much Anthony Gray​ and Cynthia Ciruli​!

Tony, I've had a look at the calc and it looks really great thanks!

I checked the monthly values though and it seems that the aggregated interval target, versus the raw target are slightly out.  Any idea where that might be creeping in?  Im guessing its something to do with the 364 days, making the comparison % slightly out? Worse if we happen to roll the month around a weekend I guess?

One last side question - My disaggregated calculated measurement of the target by itself doesnt show in load profile.  Im guessing thats because you have to SUM PER _15MINUTE right?

Commander

Re: What is the best way to convert an annual value into an interval data set, adjusted for historical profile?

Yep, the discrepancy is exactly what you thought - it's the 'off by one day' difference because I picked a 364 day offset instead of 365.  I did that to make the day of week line up for visually comparing daily load profiles, but if you don't want that you can set it back to 365.  When you do that, the Interval Target adds up exactly to the 'Target Elec' metric as expected:

On the load profile part, I wasn't able to reproduce what you saw - if I select the 'Interval Target' by itself, the LP plots as expected:

Lieutenant

Re: What is the best way to convert an annual value into an interval data set, adjusted for historical profile?

Sorry Anthony Gray​, I wasnt clear.  I meant for the 'Target Elec' measurement, I cant get it into the load profile tool, whereas 'Interval Target works (and yet 'Target Elec' shows down to an hourly value in Trend Analysis fine).  I was wondering if that's because of the SUM PER _15MINUTE, as opposed to the monthly value disaggreagated.

Commander

Re: What is the best way to convert an annual value into an interval data set, adjusted for historical profile?

Ah, my mistake.  Yep, the 'Target Elec' measurement has the same period as the RA Metric.  When it's viewed in a trend analysis, the chosen display period (hour,day, week and so on) causes the expression to be wrapped in a AGGREGATE PER ___( <your expression> ) that triggers disaggregation to the display period.

In Load Profile, each series is just shown at its natural sampling period, there's no dis/aggregation, so you'll only see one point per month for a monthly metric.  There's no imposed aggregation period for the Load Profile card itself, unlike the Trend Analysis card.

If you really wanted to see that at 15 minute intervals in LP, you'd be stuck making yet-another measurement, this time with the metric inside an aggregation operation, like SUM PER _15MINUTES([[Disaggregation=>Constant]] { <your RA Metric> }).

Highlighted
Lieutenant

Re: What is the best way to convert an annual value into an interval data set, adjusted for historical profile?

Hi Anthony Gray​, hoping for a bit more help please! I now have an annual RAMetric, not a monthly one.  To then calculate the same profile, I was thinking I could use the aggregate per month expression to disaggregate it down to a monthly and then do the calc similarly.  Could you please give me any guidance as to what I have wrong with this?  Its simple showing up with no value (FYI, client is Scentre shopping centre management & site is Westfield Burwood and the measurement is 'Target NABERS Profile').

[[DisaggregationMethod=>Constant]] (AGGREGATE PER MONTH([[DisaggregationMethod=>LinearInterpolate]]{RAMETRIC([[IntervalCoverage=>Exact]]Target NABERS)})

/ SUM PER MONTH LAST YEAR ([Electricity:ENERGY]))

* SUM PER _15MINUTES 364 DAYS AGO( [[DisaggregationMethod=>Constant]][Electricity:ENERGY][kWh] )

Where Target NABERS RAMETRIC is an annual summated value.

Thanks!

Lieutenant JG

Re: What is the best way to convert an annual value into an interval data set, adjusted for historical profile?

Hi Kim,

I think I have something that will work, but I ran into some stumbling blocks along the way.  Here's what I'd suggest:

1. Make a separate data stream for your multiplier (hourly energy percent of annual energy). I did this so that I could set the aggregation method of that Measurement Group to AUTO (which will force it to aggregate before dividing so that it works well in Trend on different interval lengths), and then I could eyeball that the numbers were correct.

Here's the expression that worked for me pretty well:

(SUM PER HOUR 364 DAYS AGO( [Electricity:ENERGY] [kWh] ) ) / ([[DisaggregationMethod=>Constant]]SUM PER YEAR 364 DAYS AGO( [Electricity:ENERGY][kWh] ))

2. I had an issue getting SUM PER _15MINUTES to work (Tony can look into this at some point), so I used SUM PER HOUR which did work. This won't work in Load Profile. I can keep working on it and try different combinations of aggregation/disaggergation/aggregate before evaluate settings to see if I can get it to work. Or we may need to wait for Tony to investigate the SUM PER _15MINUTES and get it to work.

3. I had to add the DisaggregationMethod=>Constant directive to the denominator in order to get the Total Annual Energy to be available at each interval.

I haven't specifically tested it out, but you should be able to then create a simple expression for your Annual Target * Multiplier data stream.  I think you will want your aggregation method of this to be AUTO as well.

Let me know if this works out, and if you need it in Load Profile as well as Trend.

Thanks,

Cindy