Problem in calculating the Average Daily Requirement
Hello all,
I didn't understand how the system calculates the average daily requirement in Dynamic Safety Stock process. The following process flow in given in SAP notes to find how the system calculates the average daily requirement:
1. The system uses the defined parameters to determine the number of days used for calculating the average daily requirements. If the period is defined as a week, the period length as standard days (5 days) and the number of periods as 2, the system divides the total of the requirements by 10 days.
2. The system then calculates the total of the requirements for this period.
The system takes into account all requirements in the current period, even requirements that lie in the past but are still in the current period. For example, if the planning run is carried out in the middle of the month, then those requirements that were planned at the beginning of the month are also included in the calculation of the average daily requirements.
3. The average daily requirement is calculated using the formula:
Requirements in the specified number of periods / Number of days within the total period length
I have run MRP on 02/23/2009 and the following results are generated in stock requirement list of the component part:
Date Dependent Requirement MMSA Schedule Lines Quantity
3/3/2009 10 31
3/11/2009 20 20
3/31/2009 30 30
4/14/2009 40 49
4/22/2009 50 50
4/29/2009 60 60
5/11/2009 70 55
5/21/2009 80 80
Hi,
In addition to my previous reply,
If you did following setting -
Range of coverage in first period -
min - blank
tgt - 7
max - blank
number of periods - blank
The system will calculate the safety stock for 7 days for each period; i.e., 7*3=21 and it will generate plnd orders as
week1 = 51
week2 = 14+21 = 35
week3 = 10+21 = 31
week4 = 30+21 = 51
If you want to restrict your calculation till 2 periods then make following settings -
Range of coverage in first period -
min - blank
tgt - 7
max - blank
number of periods - 2
Range of coverage in second period -
Make all blank
Range of coverage in the rest of the horizon -
min - blank
tgt - 3
max - blank
It means for first two weeks the safety stock will be 21 (equivalent to 7 days) and for rest of the horizon it will be 3*3 = 9 (equivalent to 3 days)
The Plnd orders will be -
week 1 = 51
week 2 = 35
week 3 = 14+9 = 23
week 4 = 30+9 = 39
and so on.
Regards,
Amol
Similar Messages
-
Average daily requirements in MD04
Hi gurus,
Can anybody please help me in understanding in how the system is calcualting the average daily requirements for the following settings of the coverage profile.
Period indicator - Weeks (W)
Number of periods - 12
Type of period length - 1 (work days -factory calendar)
Range of coverage in the first period:
Min - 17, Target - 20, Max - 30.
and rest of all the fields are empty in the coverage profile and also there for some materials which have this coverage profile attached have the service level at 99.9% on the materila master, I do not know if this informaiton might help us in debugging the calculation.
Now here 17, 20 and 30 do they mean days or weeks?
The requiremetns for the next 12 weeks are as follows (including this week)
W 50/2010 (this week ends today) - 4360
W 51/2010 (week of 20dec - only working days as per factory calendar are, 20, 21 and 22)-1248
W 52/2010 (no requiremetns) - 0
W 01/2011 - 2354
W 02/2011 - 1542
W 03/2011 - 5038
W 04/2011 - 1520
W 05/2011 - 4000
W 06/2011 - 1856
W 07/2011 - 2950
W 08/2011 - 3150
W 09/2011 - 5110
W 10/2011 - 2550
But the system is coming up with average daily requirements as follows in the same order as above
W 50/2010 - 676.082
W 51/2010 - 590.906
W 01/2011 - 578.033
W 02/2011 - 600.400
W 03/2011 - 617.367
W 04/2011 - 586.200
W 05/211 - 607.467
W 06/2011 - 588.475
W 07/2011 - 594.441
W 08/2011 - 576.983
W 09/2011 - 569.356
W 10/2011 - 513.288
There are no holidays in the year 2011 weeks except saturday and sunday. Which are already accounted for in the calendar. Replies are greatly appreciated. PLease help and exaplain how the system is coming with abvoe average daily reqs in MD04
Thanks
AnushaAverage daily requirements
since you have given weeks it will first sum the next 12 weeks requirements.
Now next it will calculate how many days are there in the next 12 weeks based on your Type of per lenght and day per period setting as per your range of coverage profile.( Config OMiA)
Now system will do the maths ( total requirements/Total days) - which will give you the per day average daily requirement .
This is how the system calculates.
Once it calcuates this then based on the number of days of stock you need to maintain it will increase the stock at the end of the period.
kindly check with the above and let us know your feedback
reg
dsk -
Average Daily Requirement for a Material
I'm looking for a function module or BAPI that will calculate the average daily requirement for a material. Please point me in the right direction where I can obtain this calculation.
ThanksI found this thread while performing a search. While it is old, I thought it a good idea to provide the solution in case others are looking for the answer in the future. Use FM MD_STOCK_REQUIREMENTS_LIST_API. Table MDSUX will contain the average daily requirement as well as other useful data like target stock.
-
Auto check calculating the Average
I do not know how to approach an issue with my form, so any help or quide will be appreciate very much!
For a Performance Form I have 5 sections for the managers to fill in.
Every section includes an Assessment drop down list with 5 items to select from.
Items for DDList (Named:Assessment):
Outstanding
Exceeds Expectations
Meets Expectations
Needs Improvement
Does Not Meet Expectations
Final at the end of the form I have a section named
OVERALL SUMMARY OF PERFORMANCE with 5 check boxes named:
Outstanding
Exceeds Expectations
Meets Expectations
Needs Improvement
Does Not Meet Expectations
Is it possible with a script(Calculating the average?), AUTO to check(one of the check boxes for the Overall sum of performance?
THANK YOU
Hi Niall, I took your advise form your last sample cindle you have send me, I am close but still I have a problem at the end of the line!
Here what I have till now:
On change event for the Area1 the script below:
switch
(xfa.event.newText){
case
"Outstanding":
NumericField1.rawValue
= "5";
break
case
"Exceeds expectations":
NumericField2.rawValue
= "4";
break
case
"Meets expectations":
NumericField3.rawValue
= "3";
break
case
"Needs improvement":
NumericField4.rawValue
= "2";
break
case
"Does not meet expectations":
NumericField5.rawValue
= "1";
break
For a NumericField1(Score for Outstanding) on Calculate event the script:
var vScore=0 ;
for (var i=0; i<5; i++){
if (xfa.resolveNode("optionA[" + i + "]").rawValue=="5")vScore
+=xfa.resolveNode("optionA[" + i + "]").rawValue;}
NumericField1.rawValue= vScore ;
This I am getting(for NumericField1) is for example select Outstanding for all DDL is:55555 than 25 which is the desire!
How I can make it work, where is my mistake?
Thanks Niall -
Hello
I have a problem in calculating the apple id Can you help me please
I forgot answer security questions for your account How can knowledge
Please help
Please reply as soon as possible
I can not buy from camels Store
And the rest of the account balance $25
Message was edited by: lingo azamI think you mean App Store.
Rescue email address and how to reset Apple ID security questions -
Problem in taking the average of a column and grouping by date
Hi all,
I created a logical column using a formula in "Administration". The formula is like;
Duration%=(Duration*100)/(X-Y).
Then, in "answers", I created a report using Duration% column and another column which is its average. I want to see the average of Duration% values grouped by date.
The numbers in the report are incorrect. What can be the reason for this? Does using logical column which is derived with a formula cause a problem when we take its average?
Thanks in advance for your help..use avg(Duration% by <"Date Table"."Date Level"> in the answers column.
substitute "Date Table" with your actual time dimension table name, and "Date Level" with your actual date column that you want to group by. -
Formula for calculating the average takings for a given day in the week?
I would like to calculate the average takings for each day of the week for a given financial year.
Rick,
I've looked at your document, made some additions and returned it to you. In your document you were not only using AVERAGE, but also MIN and MAX. Unfortunately, MIN and MAX don't have "IF" versions, so they can't be used to selectively operate on data matching criteria in a range.
What I did to accommodate the need for MIN and MAX was to add a column for each criteria, in this case the different days of the week.
In your document you also indicated the need for a Chart to graphically summarize the performance by day of the week. I rearranged your summary stats table to facilitate creating a chart from that table. I chose the mixed category chart with Bars for Min and Max and a Line for Average.
Following are Screen Shots for the modified Data table, the Stats table and the Chart:
The key expressions are:
For Monday receipts:
=IF(WEEKDAY($B)=2, $G, "")
For Monday Minimum:
=MIN(INDIRECT("Ledger::"&CHAR(70+ROW())))
You had pre-filled Column A with 3-letter abbreviations of the Days of the Week. I am not sure this is important, since you could have formatted the Date (Column B) to show the same information, but I didn't like seeing the abbreviations for days that didn't have data entered yet so I replaced the text with an expression...
=IF(LEN(B)>0, LEFT(DAYNAME(WEEKDAY(B)), 3), "")
I seems that you may have filled the table with several months worth of rows of Mon, Tue, etc. Now, if you wish, you can trim the blank rows to just a few and add more as you need them.
Let me know if you have any questions about maintaining the document.
Jerry -
Performance Problem in using the BSEG table - Required alternative
Hi All,
Pl go thru the below program.
I am unable to change this code
It is having 46 performance errors
Pls check the code and suggest.
*To get Pmt Doc No & Posting Date
SELECT SINGLE
BELNR
ZFBDT
FROM BSEG
INTO (WA_ZFT011_FIFO-PAY_DOC_NO, WA_ZFT011_FIFO-POST_DATE)
WHERE AUGBL = W_CLR_DOC
AND AUGDT = WA_ZFT011_FIFO-CLR_DATE
AND BSCHL = '15'.
IF SY-SUBRC <> 0.
SELECT SINGLE
BELNR
ZFBDT
FROM BSEG
INTO (WA_ZFT011_FIFO-PAY_DOC_NO, WA_ZFT011_FIFO-POST_DATE)
WHERE AUGBL = W_CLR_DOC
AND AUGDT = WA_ZFT011_FIFO-CLR_DATE
AND BSCHL = '11'.
The above code is having performance error "NO field of a table Index in WHERE"
The same error repeated for 45 select statements and for all statements the "BSEG" table is used for selecting data.
But creating a secondary index on BSEG table columns will not be possible
So pls suggest me accordingly
Awaits for the Reply.
P KamalHi,
Perhaps my post here: Re: BSEG table performance issues might help you.
Regards, Gerd Rother -
Problem is displaying the output in required format
Hi,
I have a structure defined in DDIC in which i have a field REMAIN -this fied is to show Remaining numbers in a range, I have given the type of the field as NUMC and I get the value caluclated in a field W_REM which is of type C,now I pass this W_REM to the DDIC struture and use ALV to display on screen, it gets displayed as 004879 but i want it to be displayed as 4,879 ..tried to give DEC in DDIC but it didnot work..what to give....Please help..its urgent!
Points will be awarded.
Thanks,
DeeptiHi,
i think this logic may help u:-
data V_val type p. or like curr
V_val = W_REM.
write V_val to <DDICstructurename> - REMAIN.
write : <DDICstructurename> - REMAIN.
or
at fieldcatalog
fieldcatalog-fieldname = 'NETPR'.
fieldcatalog-tabname = 'Net Price'.
fieldcatalog-datatype = 'CURR'
append fieldcatalog to fieldcatalog.
regards,
Mekala VIjay -
Facing problem while calculating the difference between the two dates?
Hi
I am using this code to calculate the difference between the two dates :
import java.util.Calendar;
import java.util.*;
public class DateDifferentExample
public static void main(String[] args)
// Creates two calendars instances
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
// Set the date for both of the calendar instance
cal1.set(2006, 12, 30);
cal2.set(2007, 05, 03);
// Get the represented date in milliseconds
long milis1 = cal1.getTimeInMillis(); // getting error here
long milis2 = cal2.getTimeInMillis(); // getting error here
// Calculate difference in milliseconds
long diff = milis2 - milis1;
// Calculate difference in seconds
long diffSeconds = diff / 1000;
// Calculate difference in minutes
long diffMinutes = diff / (60 * 1000);
// Calculate difference in hours
long diffHours = diff / (60 * 60 * 1000);
// Calculate difference in days
long diffDays = diff / (24 * 60 * 60 * 1000);
System.out.println("In milliseconds: " + diff + " milliseconds.");
System.out.println("In seconds: " + diffSeconds + " seconds.");
System.out.println("In minutes: " + diffMinutes + " minutes.");
System.out.println("In hours: " + diffHours + " hours.");
System.out.println("In days: " + diffDays + " days.");
but i am getting this error :
The method getTimeInMillis() from the type calendar is not visible
Please suggest!!// Get the represented date in milliseconds
long milis1 = cal1.getTime().getTime(); // getting error here
long milis2 = cal2.getTime().getTime(); // getting error here Hope this works for you!! -
Acrobat Pro 6 Average Daily Production and Math.round problem
Acrobat Pro 6 Average Daily Production and Math.round problem
(Production.0) (154) (whole units) . (Production.1) (90) (fractional) / (divided by) 31 (days) results in (Average.0) (4)(whole units) . (Average.1) (10) (fractional) using :Math.round.� Noticed that 154 (whole units) . 85 through 99 (fractional) also show 4.10. (without Math.round : 5.00)
Method:
�Production.0� (whole units) . �Production .1� (fractional) / Days = (Average Daily Production) (�Average.0� (whole units) . (Average.1) (fractional)
� Production.0 (value not calculated)�, � Production 1 (calculated) (event.value = util.printx("0099", (event.value)).substr(-2,2); � �Average.0 (value not calculate)�, and �Average.1 has following calculation:
var punits = this.getField("Production.0");
var pfrac = this.getField("Production.1");
var average = 0.0;
average = (punits.value + pfrac.value / 100) / this.getField("Days").value;
this.getField("Average.0").value = average - average % 1;
this.getField("Average.1").value = util.printx("0099", Math.round((average % 1 * 100))).substr(-2,2);
�Math.round� appears to be a problem. Also, could you explain the purpose of �0099� . Anyway, why would 154.85 through 154.90 divided by 31 give 4,10. Also, their must be a better way, to find the average daily production. All you have to do is divided the production (whole. fractional) by the days, and display the average daily production as (whole. fractional). Any suggestions??There are a many loose ends in your question.
First, I have never seen before a variable type called 'var'. Is it a java primitive or a class?
Next, I cannot seem to find any class that has the printx method.
When it comes to substr(-2,2), I get confused. First, I thought that it was a method of the String class, but I only got as far as substring(beginIndex, endIndex).
If you really must break the production and average into pieces, try this:
float average = (punits + pfrac/100) / days;
int avg_units = (int)average;
int avg_frac = (int)( (average - avg_units) * 100 );My guess is that util.printx("0099", x) formats x having two optional digits and two mandatory digits, showing 0-99 as 00-99, but allows to show numbers with three and four digits.
154.85/31 = 4,9951612903225806451612903225806
154.99/31= 4,9996774193548387096774193548387
If you round the fraction of theese numbers multiplied by 100 ( = 99.51.. and 99.968...) you get 100, and this will be the output of printx. My guess for "4.10" is that substr(-2,2) returns the two first characters of the string, because the start index should not be zero. (According to java docs, substring throws an exception on a negative index, so what kind of class are you really using ??????) -
I am trying to create a member calc on an account. The account is Average daily sales. I want to average my sales for Level zero of time only for 42 days. The calendar day is my lev 0 of time. The problem I am running into is my calc is dynamic and takes forever to pull in Excel. CalcAvgsales=IF (@ISLEV(Time, 0)) @AVGRANGE (Skipnone,Sales, @CURRMBRRANGE (Time,Lev,0,-41,0)); ELSE #Missing; ENDIFI would like to make this account stored but not sum up the lev 0 of time to lev 1 for the average daily sales account.
This calc could be stored but if you did so, it would be easier to do it in a calc script as you have to consider calculation order problems.Something like this should work although is not tested (hoping essbase.com won't mess up formatting too much)... Calc All; (or whatever calc to ensure Sales is calculated at all levels)Set updatecalc off;"Average Sales"(if(@islev(Period,0))@AVGRANGE (Skipnone,Sales, @CURRMBRRANGE (Period,Lev,0,-5,0));else#missing;endif)Hope this helps.
-
I have a requirement for a business unit to run on average daily balancing in GL. I have several other business units which do not require this. They can share chart of accounts and are all in the one currency. What is the recommendation in moving forward in r11 and r12, should I be looking at a different ledger for the average daily balancing business unit, or should I have just one? I presume having just one would cause much grief in performance due to not really requiring daily balances for 75% of my whole business.
I have a requirement for a business unit to run on average daily balancing in GL. I have several other business units which do not require this. They can share chart of accounts and are all in the one currency. What is the recommendation in moving forward in r11 and r12, should I be looking at a different ledger for the average daily balancing business unit, or should I have just one? I presume having just one would cause much grief in performance due to not really requiring daily balances for 75% of my whole business.
-
Hi All,
Finally i found a solution. a) I have a time dim from the ware house and its joined to the fact table based on the dateid, since the fact table is getting only the data for the working days , the ware house time dim is showing only those days as count.
b) I created a new time dim in SSAS TIMEDIMSSAS
c) I joined the new TIMEDIMSSAS to the warehouse time dimension and the fact table and created new measure AvgWorkDone over time and Avg Rev over time.
I'm getting what i wanted. BUT here is a new problem , when i select multiple months the grand total (which should be Average is showing wrong average and i'm not sure why), can anyone please help ?
Row Labels
AvgRevenue
AvgWorkDone
1
$4.17
277.6801802
1368
$4.17
277.6801802
February 2014
$1.59
105.7971014
January 2014
$0.97
64.66666667
March 2014
$9.52
634.5512821
Grand Total
$4.17
277.6801802
The values were supposed to be (1.59+.97+9.52)/3=4.02 and NOT 4.17 for Revenue. Similarly for WorkDone (105.79+64.66+634.55)/3=268.33 and NOT 277.68
Please can some one suggest what is going wrong here?
Thanks
SVHi saivenkat77,
According to your description, you get incorrect result when calculating the average value. Right?
In this scenario, please check expression in each calculated measure. Make sure the set expression and numeric expression are correct. You can also limit the SCOPE for set to make the calculation more accurate. Please refer to link below:
Aggregating the Result of an MDX Calculation Using Scoped Assignments
Since both measure return a slight bigger number, it may have some members which is not visible and they are aggregated unexpectedly. And it seems the values in the cells for different months are from aggregation calculation already. It may cause slight
inaccurate when aggregating an aggregated values. So please check all those calculated measure. If possible, please share sample detail data and the expression for calculated measures.
Best Regards,
Simon Hou
TechNet Community Support -
Hi All,
How can I find the average daily growth of a database for the last one year?
Database version:11.2.0.2
OS:HP-UXWe generally use this query in our environment - Try this
select tsname as "Tablespace",
tsize as "Curr Size(Mb)",
tused as "Used (Mb)",
tfree as "Free (Mb)",
TMax as "Max Size (Mb)",
val1 as "Delta 1hr",
val2 as "Delta 1dy",
val3 as "Delta 1wk",
val4 as "Delta 1mnt",
round((tused / tMax)*100,2) as "%Used of Max",
round(((tused+val3) / tMax)*100,2) as "%UsedMax_+1wk",
round(((tused+val4) / tMax)*100,2) as "%UsedMax_+1mnt",
case when ( ( (tused+val3)/tMax)*100 < 80) then 'NORMAL'
when ( ( (tused+val3)/tMax)*100 between 80 and 90) then 'WARNING'
else 'CRITICAL' end "Status +1Wk",
case when ( ( (tused+val4)/tMax)*100 < 80) then 'NORMAL'
when ( ( (tused+val4)/tMax)*100 between 80 and 90) then 'WARNING'
else 'CRITICAL' end "Status +1Mnth"
from
select tsname,
round(tablespace_size*t2.block_size/ 1024/1024,2) TSize,
round(tablespace_usedsize*t2.block_size/1024/1024,2) TUsed,
round((tablespace_size-tablespace_usedsize)*t2.block_size/1024/1024,2) TFree,
(select sum(decode(b.autoextensible,'YES',b.maxbytes, b.bytes))/1024/1024
from dba_data_files b
where b.tablespace_name = t2.tablespace_name
group by b.tablespace_name) TMax,
round(val1*t2.block_size/1024/1024,2) val1,
round(val2*t2.block_size/1024/1024,2) val2,
round(val3*t2.block_size/1024/1024,2) val3,
round(val4*t2.block_size/1024/1024,2) val4
from
(select distinct tsname,
t1.snap_id,
rtime,
tablespace_size,
tablespace_usedsize,
tablespace_usedsize-first_value(tablespace_usedsize)
over (partition by tablespace_id order by t1.snap_id rows 1 preceding) val1,
tablespace_usedsize-first_value(tablespace_usedsize)
over (partition by tablespace_id order by t1.snap_id rows 24 preceding) val2,
tablespace_usedsize-first_value(tablespace_usedsize)
over (partition by tablespace_id order by t1.snap_id rows 168 preceding) val3,
tablespace_usedsize-first_value(tablespace_usedsize)
over (partition by tablespace_id order by t1.snap_id rows 720 preceding) val4
from (select t1.tablespace_size, t1.snap_id, t1.rtime,t1.tablespace_id,
t1.tablespace_usedsize-nvl(t3.space,0) tablespace_usedsize
from dba_hist_tbspc_space_usage t1,
dba_hist_tablespace_stat t2,
(select ts_name,sum(space) space
from recyclebin group by ts_name) t3
where t1.tablespace_id = t2.ts#
and t1.snap_id = t2.snap_id
and t2.tsname = t3.ts_name (+)) t1,
dba_hist_tablespace_stat t2
where t1.tablespace_id = t2.ts#
and t1.snap_id = t2.snap_id) t1,
dba_tablespaces t2
where t1.tsname = t2.tablespace_name
and t1.snap_id = (select max(snap_id) from dba_hist_snapshot)
and t2.contents = 'PERMANENT');
Maybe you are looking for
-
I have a 13" Macbook Pro from Early 2011 running Mac OS X v10.7.5. The processor is a 2.3 GHz Intel Core i5 and has 4GB of memory (1333 MHz DDR3). I also run Parallels 7 (Build 7.0.15107). Starting 2 weeks ago the machine began having issues. After
-
What is Compatible Mode for a Captivate 7 project?
Some of my Captivate 7 files are showing as Compatible Mode. Not sure what that means and what it might affect. Does anyone have experience with the Compatible mode? Thanks for any help!
-
How get highly active TABLES in the database ?
Oracle 11g R2 standard edition database. 1) Is there a way to find which table in the entire database (or) schema is HIGHLY ACTIVE ? Highly Active in the sense which has gone through lots of SELECT,UPDATE,DELETE,INSERT 2) Is there a way to find as ho
-
Hierarchy Graphics Copy Copy WBS Element
Hi All, We are haiving one issue as user is trying to use Copy function in Hierarchy Graphics to create new WBS Element but unfortunaltely user is not able to save WBS Element. After clicking save function - Validation Message pop-ups cpme then direc
-
Strange i)S 4.3 Icon // iPhone 4 Bay
Hey Guys - Enjoying the iPhone 4 (though a few quirks with iOS 4.3 like slowdowns in touch response etc.) Anyhow, i came across an unfamiliar icon. Does anyone know what the icon is which looks like a round button with a "blue rectangle" on it and a