Index: DW/StockWaarde.cls.xml =================================================================== diff -u -r29059 -r41122 --- DW/StockWaarde.cls.xml (.../StockWaarde.cls.xml) (revision 29059) +++ DW/StockWaarde.cls.xml (.../StockWaarde.cls.xml) (revision 41122) @@ -196,90 +196,204 @@ 1 + +%Float +1 + Set {*}=##class(DW.StockWaarde).StandaardAfwijking({Product}) +1 + + 1 -PRNr:%String,AantalWeken:%Integer=15,MinAantalWeken:%Integer=5 +PRNr:%String,AantalWeken:%Integer,MinAantalWeken:%Integer,GroepeerPer2:%Boolean 1 %String - -1 - -Einde - . Quit:$P(Rec,"\",5)'=Magazijn - . Quit:'$LF(lbActies,$P(Rec,"\",4)) - . Set IdxDate = $$CALCDATE^vhLib.DataTypes(+$P(Rec,"\"),"W","MD") ;woensdag - . Set arHist(IdxDate)=$g(arHist(IdxDate))+$P(Rec,"\",2) - Quit -]]> - - -w ##class(DW.StockWaarde).AfwijkingGemiddelde(3551) +w ##class(DW.StockWaarde).AfwijkingGemiddelde(808099) 1 -PRNr:%String,AantalWeken:%Integer=15,MinAantalWeken:%Integer=5 +PRNr:%String,AantalWeken:%Integer=26,MinAantalWeken:%Integer=5,GroepeerPer2:%Boolean=0 1 %Float MinAantalWeken,Som>0 { Set Gemiddelde=Som/Aantal ; Afwijking Set SomAfwijking=0,Aantal=0 - For I=1:1:AantalWeken + Set IdxDate=$O(arHist("")) + While IdxDate'="" { - Set AantalStuks=$G(arHist(Begin+((I-1)*7))) + Set AantalStuks=arHist(IdxDate) If (AantalStuks'="")||(Aantal) { - Set Afwijking=-AantalStuks-Gemiddelde ; verkoop in historiek is negatief + Set Afwijking=AantalStuks-Gemiddelde ; verkoop in historiek is negatief ;w I," ",Begin+((I-1)*7)," ",AantalStuks," ",Gemiddelde," ",Afwijking,! Set SomAfwijking=SomAfwijking+$S(Afwijking<0:-Afwijking,1:Afwijking) ; abs Set Aantal=Aantal+1 ; we beginnen pas te tellen als er de vorige weken verkoop is geweest } + Set IdxDate=$O(arHist(IdxDate)) } Set AfwijkingGemiddelde=(SomAfwijking/Aantal)/Gemiddelde } Quit $G(AfwijkingGemiddelde) ]]> + + +w ##class(DW.StockWaarde).StandaardAfwijking(808099) +Variantie, Deviation +1 +PRNr:%String,AantalWeken:%Integer=26,MinAantalWeken:%Integer=5,GroepeerPer2:%Boolean=0 +1 +%Float +MinAantalWeken,Som>0 + { + Set Gemiddelde=Som/Aantal + ; Afwijking + Set Variantie=SomKwadraat/Aantal-(Gemiddelde*Gemiddelde) + Set StandaardAfwijking=Variantie**.5 + + } + Quit $G(StandaardAfwijking) +]]> + + + +1 + +1 +Einde + . Quit:($P(Rec,"\",5)'="M")&&($P(Rec,"\",5)'="W") + . If $P(Rec,"\",5)="M" Quit:'$LF($LB("U","K"),$P(Rec,"\",4)) + . If $P(Rec,"\",5)="W" Quit:'$LF($LB("H"),$P(Rec,"\",4)) + . Set IdxDate = $$CALCDATE^vhLib.DataTypes(+$P(Rec,"\"),"W","MD") ;woensdag + . Quit:'$D(arHist(IdxDate)) + . Set arHist(IdxDate)=$g(arHist(IdxDate))-$P(Rec,"\",2) + Quit +]]> + + + +1 +arHist,AantalWeken +1 + + + + +1 +arHist +1 + + + + + +de vakantieweken met minder omzet eruit halen +1 +Datum:%Date +1 + + + %String 1 -code BackGround 1 -code PRNr:%Integer %String -code PRNr:%Integer,Maand:%Date,BeginMnd:%String,EndMnd:%String Onwer = Halux + Set ..Owner=$S($E($$$PRGet($$$LinkType),1,2)="HH":"HALUX",1:"VH") ; Halux Halffabrikaat -> Owner = Halux ;If ..Owner="HALUX" w PRNr," ",$P(^KPR(PRNr,0),"\",1),! r k Do ..ProductSetObjectId(PRNr) @@ -489,7 +600,6 @@ -code CountType:%String Alleen leveringen geen terugnames 1 -code PRNr:%Integer Alleen toeleveringen geen terugnames 1 -code PRNr:%Integer