Дөңгелектеу мәселесі IBM Cognos бағдарламалық қамтым үшін
ерекше болып
табылмайды. Олар дөңгелектеу орын алатын кез келген ортада орын алуы мүмкін.
Екілік Дөңгелектеу Қателері
Есептеулердегі ақаулықтар екілік дөңгелектеу қателеріне байланыст орын алуы
мүмкін. Мысалы, егер 1.1 саны қалқымалы нүктесі бар екілік сан ретінде ұсынылған
және еасеп пішіміңізде үтірден кейінгі белгілердің үлкен саны болса, 1.1 саны жалпы
1.09999999999997 ұқсас болуы мүмкін.
Егер есебіңіз тек бір оңдық нүктені қолдануға пішімделген болса, оңдық дөңгелектеу
екілік дөңгелектеу орнын алады. Осылайшы сан шынымен 1.09999999999997 боған
кезде 1.1 болу үшін пайда болады. Сан есептеулерде қолданылған кезде,
дөңгелектенген қателерді алуыңызға болады. Мысалы, Microsoft Excel есептеулері
екілік сандарды (оңдық орындарды дөңгелектеусіз) қолданады, бірақ есептерде
пішімдеу кіші ақаулықтарды туындатуы мүмкін дөңгелектенген орындарды көрсетеді.
Дөңгелектеу Қателерінің Бөлімі
Бөлім бар есептеулерде әдетте сандық берілгеніне байланысы жоқ дөңгелектеу
қателері болады. Осындай есептеулердің мысалдары Негіздің орташа мәні немесе
пайызы болып табылады.
Нұсқауларды минималды дөңгелектеу нәтижесіне
жобалаңыз
Дерекқор схемасын немесе текше үлгісін өзгерту ең дұрыс шешім болады, алайда ол
әрқашан мүмкін болмайды. IBM Cognos Framework Manager және сыртқы OLAP
текшелерінде есептерді және үлгілерді құрастыру кезінде осы нұсқауларды орындау
арқылы дөңгелектеу нәтижесін азайту басқа шешім болып табылады:
v
Мүмкін болса қалқымалы нүкте пішімінде деректерді сақтауға жол бермеңіз. Бұл
түзетілген нүкте оңдықтары немесе 2 сияқты масштабты мәндері бар бүтін сан
ретінде сақталуы тиіс валюталық мәндер үшін дұрыс болады.
Мысалы, текшеде, 2012 жылы Саяхаттық жабдықтарға арналған Табыс
$20,471,328.88 құрады. Егер табыс мәліметтері қалқымалы нүкте сандары ретінде
сақталған болса, дөңгелектеу қателері табыс есептелген кезде орын алуы мүмкін.
Дөңгелектеу қателерінде есептеу тәртібіне тәуелді аздаған айырмашылықтар болуы
мүмкін. Егер Өнімдерден түскен табыс бірінше есептелетін болса және Уақыт
табысы екінші есептелетін болса, Уақыт бірінші есептелгенге және Өнімдер екінші
есептелгенге қарағанда түрлі дөңгелектенген қателер алуыңызға болады.
Барлық табыс алдыңғы мысалда көрсетілген сан ретінде есептелген болуы мүмкін.
Бұл аздаған ауытқулар болуы мүмкін, мысалы, $20,471,328.88 салыстырғанда
$20,471,328.8800001. Ішкі сан көрсетілген саннан аздап өзгеше болуы тиіс. Есептеу
үшін OLAP құралы қолданатынға байланысты бір есептің түрлі еске қосылуы үшін
сан түрлі болуы мүмкін.
v
Есептерде, мүмкін болса бөлімге жол бермеңіз. Бөлімнің алдын алу мүмкін емес
болса, есептеу үрдісінде оны мүмкін болса кеш болса да жасауға тырысу керек.
Мысалы, Барлық([Табыс]/1000) орнына Барлық([Табыс])/1000 қолданыңыз.
v
Салыстырмалар жасау кезінде дөңгелектеуді қамтамасыз ету үшін маржа қосыңыз.
Мысалы, оңдық белгілері жоқ пайыз ретінде пішімделген бөлшек мән [Пайда %]
болуды қалай аласыз. Алайда, сүзгі [Пайда %]<>0 (немесе [Пайда %] 0 және 0
АРАСЫНДА ЕМЕС) нөлдік мәндерді қабылдамайды және пішімдеуден кейін 0%
болу үшін пайда болатын мәндерді қайтара алады.
Осыған жол бермеу үшін, осы екі тәсілдің бірінде сүзіңіз:
434
IBM Cognos Analytics - Reporting Нұсқа 11.0: Пайдаланушы нұсқаулығы
– [Пайда %] -0.005 және 0.005
АРАСЫНДА ЕМЕС
– ([Пайда %] <- 0.005) НЕМЕСЕ ([Пайда %]> 0.005)
0.005 қалқымалы нүктенің дәлдік ұтылыстарына тәуелді 0% немесе 1% көрсететін
0.5% балама болатынын ескеріңіз.
Кейбір жағдайларда, мәндерді нақты дөңгелектеу арқылы дөңгелектеу қателерін
бақылауды таңдай аласыз. Мысалы, [Пайда %] орнына дөңгелек ([Пайда %],2)
қолданыңыз.
v
Құрамында дөңгелектенген оңдық сандар болы мүмкін есептеулерді қайта
қолданудың орнына әрқашан сандарды қайта есептеңіз.
Әсіресе, түрлі іске қосылулардан (Өмірлік кезең Басқарушысында болатындай)
алынған есеп нәтижелерін салыстыру кезінде, Microsoft Analysis Services 2005/2008
үшін қосымша шаралар болуы мүмкін. Қосымша ақпарат үшін Microsoft
құжаттаманы қараңыз.
_make_timestamp бағанасында сүзу кезіндегі қателік
_make_timestamp бағанасында сүзе алмайсыз. Егер соны орындасаңыз, келесі қателік
хабарламасы пайда болады:
UDA-SQL-0114 Әрекетке орындалған көрсеткі "sqlOpenResult" белсенді емес
UDA-SQL-0206 OLEDB драйвері келесі мәнді қайтарды: HRESULT= DB_E_CANTCONVERTVALUE
RSV-SRV-0025 Осы сұрауды орындау жарамсыз
Шешім сүзгіні біріктіруден бұрын емес одан кейін қабылдау үшін арналған.
Есептерді іске қосу кезіндегі ақаулықтар
Осы тараудың бөлімдерінде есептерді көру немесе құру кезінде кездесетін
ақаулықтар туралы сипатталады.
Есеп баяу орындалуда
Төмендегі баяу есеп ақауларын жоюға көмектесетін сұрақтардың тізімі болып
табылады.
v
Сіздің IBM Cognos ортаңыз қолдау көрсетілетін орталармен сәйкес келеді ма?
v
Есеп әрқашан баяу болды ма немесе ол соңғы кезде баяулады ма?
Егер ол соңғы кезде баяу болып қалса, есеп баяу болып қалғанның алдында орын
алған оқиғаны көрсете аласыз ба? Оқиғалар теңшелім баптауларына арналған
өзгертулерді, теңшеу баптауларына арналған өзгертулерді, алдыңғы баптауларын
қолданылмаған соңғы жаңартуды, желіаралық қалқындардың немесе проксилардың
кіріспесін, бар желіаралық қалқындардың немесе проксилардағы өзгертулерді,
уақытша каталогтардағы сканерлеу вирусына өзгертулерді немесе дерекқорындағы
уақытша кесте кеңістігі шектеулерін қоса алады. Бұл оқиға есептің
орындалуындағы өзгерістерден пайда болуы мүмкін.
v
Өнімділік барлық есептер үшін баяу ма немесе бір есеп үшін баяу ма?
Егер барлық есептер баяу болса, мәселе ортаңзға немесе дерекқорына байланысты
болуы мүмкін. Егер нақты бумадағы барлық есептер баяу болса, мәселе жасақтау
үлгісімен байланысты болуы мүмкін. Егер тек бір есеп қана баяу болса, мәселе
нақты есеп элементіне қатысты болуы мүмкін.
v
Есебіңізде қанша сұраулар болуы тиіс?
Есептегі сұраулар саны есептің орындалу уақытына пропорционалды әсер етуі
мүмкін.
v
Есеп кез келген адамға баяу ашылады ма немесе тек бір адамға ғана ма?
Қосымша A. Ақаулықтарды жою
435