Numeriese verteenwoordiging kwessies in SAS Dinge is nie altyd wat dit lyk asof hulle met getalle in SAS. Dit is nie regtig die skuld van SAS. (Voeg meer) Probleemareas (moet in besonderhede in te vul) Vergelyk bereken nie-heelgetalwaardes te konstante waardes onjuiste opeenhoping (spesiale geval van die bogenoemde) Onvoldoende stoor om selfs 'n heelgetal presies (bv groot 16-syfergetalle op persele buiten hoofraam hou platforms) verloor presisie wanneer die stoor van nie-heelgetalwaardes in minder as 8 grepe Wysigings in numeriese verteenwoordiging of berekende waardes wanneer beweeg van die een platform na die ander Beste praktyke Don t gebruik die lengte verklaring aan 'n numeriese veranderlike stoor in minder as 8 grepe as dit dalk bevat nie-heelgetalwaardes. Wees versigtig wanneer die gebruik van die lengte verklaring numeriese veranderlikes te stoor in minder as 8 grepe, selfs al is al sy waardes heelgetalle. Dink na oor die vraag of die waardes wat aangespreek moet word gestoor op 'n later tyd kan verhoog. Neem ook in ag die moontlikheid dat jou program en data kan op 'n sekere punt te migreer na 'n ander platform wat verskillende numeriese stoor eienskappe het. Gaan 'n verwysing tafel of gebruik die. funksie om die grootste heelgetal wat jou platform kan stoor in 'n gegewe aantal grepe bepaal. Ten slotte, oorweeg die gebruik van die compress binêre data stel opsie eerder as die lengte verklaring stoor vereistes vir numeriese veranderlikes te verminder. Nog 'n opsie om te oorweeg is om waardes te skakel na heelgetal. Byvoorbeeld, kan geldeenheid waardes maklik omgeskakel word na heelgetal deur hulle deur 'n toepaslike faktor te vermenigvuldig (bv deur 100 vir dollar, CAD, ander) en dan met behulp van die ronde funksie. Grootste heelgetal wat veilig in 'n gegewe lengte kan gestoor word, deur platform lengte in grepe Wees versigtig wanneer vergelyk numeriese waardes wat nie-heelgetal wees. As die waardes by was aangekom deur opeenhoping of deur ander berekeninge, kan hulle nie presies wat jy verwag. Gebruik die ronde funksie as wat nodig is om hierdie effekte uit te skakel. Wees versigtig wanneer die verhoog die indeks waarde in 'n doen-lus met 'n nie-heelgetal waarde. Jy mag nie die aantal iterasies wat jy verwag nie. Eerder as om te spesifiseer jou eindig waarde na, kan jy die toets in plaas sit in 'n tyd of totdat klousule, waar jy die probleem kan vermy deur die gebruik van ROUND in die vergelyking. Wees versigtig wanneer die gebruik van PROC formaat reekse vir numeriese waardes wat nie gewaarborg om heelgetalle wees spesifiseer. Óf om die waardes voor die toepassing van die formaat, of gebruik die opsie FUZZ in PROC FORMAAT. Wees bewus daarvan dat daar dalk 'n (baie klein) verskille in numeriese waardes wanneer data stelle of programme word verskuif van die een of ander platform. Verwysings SAS dokumentasie (9.1.3) beskryf hoe SAS winkels numeriese waardes, bespreek hoe om probleme wat verband hou met swaai-punt verteenwoordiging te los, bied instruksies op die bepaling van hoeveel grepe is nodig om 'n aantal akkuraat te slaan, en 'n opsomming van probleme wat mag voorkom wanneer die oordrag van data tussen bedryfstelsels. Ander verwysings Baie gedetailleerde bespreking, insluitende numeriese verteenwoordiging teorie, hoe getalle word in SAS, wanneer jy probleme met verteenwoordiging fout of verlies van betekenis kan hê, hoe om presies wat jy vertoon, en verskillende metodes vir die hantering van die probleme. Korter as TS-230. Ietwat minder bespreking van numeriese teorie, minder formele toon, 'n aantal voorbeelde. Stel dinge in gedagte te hou, sluit kort artikel oor die beweging van data tussen bedryfstelsels. Bevat 'n uitstekende opsomming van hoe SAS winkels numeriese data en watter kwessies kan jy loop in, in 'n algehele gehaltebeheer konteks. JA CHAR bepaal dat die waarnemings in 'n nuutgeskepte SAS uitset datastel is saamgeperste (veranderlike lengte rekords). SAS gebruik RLE (Run Duur Encoding) waarnemings compress. Dit kompressie-algoritme is beter vir karakter data. GEEN bepaal dat die waarnemings in 'n nuutgeskepte SAS datastel is ongecomprimeerd (vaste-lengte rekords). BINêRE bepaal dat waarnemings in 'n nuutgeskepte SAS uitset datastel saamgepers. SAS gebruik RDC (Ross datasamepersing) vir hierdie instelling. Hierdie metode is baie effektief vir die comprimeren medium tot groot ( 'n paar honderd grepe of groter) blokke van binêre data (dit wil sê, numeriese veranderlikes). Omdat die kompressie funksie bedryf op 'n enkele rekord op 'n tyd, die rekord lengte moet 'n paar honderd grepe of groter vir effektiewe kompressie wees. Spesifiseer compress net vir uitvoer datastelle, dit is, datastelle vernoem is in die data verklaring van 'n data-stap of op die wyse keuse van 'n SAS prosedure. Die tipe rekord word 'n permanente kenmerk van die datastel. Waarnemings ontpak, gebruik 'n data-stap om die datastel kopieer en gebruik compress GEEN vir die nuwe datastel. Wanneer compress JA CHAR, SAS pers die grootte van die stel met aanloop lengte enkodering data. Run-lengte enkodering pers die deur die vermindering van herhaalde opeenvolgende karakters om twee - of drie-byte vertoë stel data. Wanneer compress BINêRE, SAS kompressie kombineer loop lengte enkodering en gly-venster kompressie om die datastel te pers. Gebruik SAS / Toolkit om jou eie kompressie metode spesifiseer. Let wel: Kompressie van waarnemings word nie ondersteun deur al enjins. In weergawe 8, datastelle geskep met enjins wat beskikbaar is in vorige weergawes van SAS, soos die band en xporteren enjins was, is nog steeds verkry word deur diegene enjins. Daarom, as kompressie was nie beskikbaar vir diegene enjins, dit is ook nie beskikbaar wanneer jy toegang tot die datastelle in weergawe 8. Die voordele verkry deur die gebruik van die compress datastel opsie insluit: verminder bergingsvereistes vir die datastel minder toevoer en afvoer bedrywighede nodig om te lees van of skryf aan die stel tydens die verwerking van data. Die nadele van die gebruik van die datastel opsie compress sluit in: kan nie compress glad (kan eintlik die lêer groter maak), maar 'n boodskap waarin die bedrag van kompressie verskaf meer SVE hulpbronne vereis. By verstek, is nuwe waarnemings aangeheg aan bestaande saamgeperste datastelle. As jy wil om op te spoor en onthou vrye ruimte, gebruik die REUSE datastel opsie as jy 'n saamgeperste SAS datastel te skep. REUSE JA vertel SAS om nuwe waarnemings te skryf om die ruimte wat bevry wanneer jy ander waarnemings te verwyder. Die compress datastel opsie oorheers die opsie compress stelsel. PRESTASIE N Nota: Die gebruik van hierdie opsie verhoog die SVE-tyd vir die lees van 'n datastel as gevolg van die oorhoofse van uncompressing die rekord. Daarbenewens het 'n paar enjins nie ondersteun kompressie van waarnemings. By die gebruik van compress JA en hergebruik JA opsie instellings, kan Waarnemings nie aangespreek word deur waarneming getal. Let daarop dat REUSE JA voorrang bo POINTOBS JA. Byvoorbeeld: die resultate in 'n datastel wat POINTOBS GEEN het. Omdat POINTOBS JA is die verstek wanneer jy kompressie gebruik, onthou JA veroorsaak POINTOBS te verander na NEE.
No comments:
Post a Comment