Çäðàâñòâóéòå!
Ñîçäàë ïðîñòåíüêóþ áàçó äàííûõ ñ ìàêðîñàìè äëÿ ïðèìåðà. Ïîñòàðàëñÿ óáðàòü âñå ëèøíåå, ÷òîáû ïîíÿòíî áûëî. Ñóòü â ñëåäóþùåì: ìàêðîñ âûãðóæàåò ñ OLAP è âñòàâëÿåò â access òàáëèöó. Ôàéë âî âëîæåíèè. Çàïóñê ìàêðîñà ñ ïðîöåäóðû ÈìïîðòÈçOLAP.
Âñå ðàáîòàåò, âñå âûãðóæàåò. Íî åñòü âîïðîñû, ñîìíåíèÿ.1. Ïîëó÷àåòñÿ òàê, ÷òî åñòü äâà ðåêîðäñåòà: èç OLAP è Access. Ïîòîì Ðåêîðäñåò èç OLAP âñòàâëÿåì Ðåêîðäñåò èç Access ïî êàæäîé çàïèñè. Íàñêîëüêî ïðàâèëüíî äàííîå ðåøåíèå?
2. Çäåñü ïîñëå âûãðóçêè ñ OLAP è äî âñòàâêè â Access òàáëèöó óäàëÿþòñÿ ñòàðûå çàïèñè. Ìîæåò áûòü ëó÷øå íå óäàëÿòü ñòàðûå çàïèñè, à óäàëèòü ñòàðóþ òàáëèöó è íîâóþ ñîçäàâàòü? Ó÷èòûâàÿ ÷òî íàçâàíèÿ êîëîíîê íå ìåíÿþòñÿ.
Íî åñòü åùå òàáëèöà (â äàííîì ïðèìåðå îòñóòñòâóåò), ãäå íàçâàíèÿ êîëîíîê ìåíÿåòñÿ, íàïðèìåð, ìåñÿöû. Òî çäåñü àêòóàëüíî óäàëÿòü ñòàðóþ òàáëèöó è çàíîâî ñîçäàâàòü. Êñòàòè, äî ýòîãî íå óäàëÿë òàáëèöó, à óäàëÿë êîëîíêè. È ïîëó÷èëîñü òàê, ÷òî êîëîíîê íåòó â òàáëèöå, à ìàêðîñ íå ìîæåò äîáàâèòü êîëîíêó, ÿêîáû ïðåâûøåíèå êîëè÷åñòâà êîëîíîê. Òàê è íå ðàçîáðàëñÿ ïî÷åìó òàê.
3. Ó÷èòûâàÿ òàêîé ëîãè÷åñêèé ìîìåíò, ÷òî ïîñëå òîãî êàê çàïóñòèëè ìàêðîñ, òî ïîñëå îáíîâëåíèÿ â êëþ÷åâîì ïîëå èçìåíÿþòñÿ çíà÷åíèÿ, òî åñòü ïðîäîëæàåò ðàáîòàòü ñ÷åò÷èê. Ïîòîì ïîëó÷àåì òàáëèöû èç ðàçíûõ èñòî÷íèêîâ, ïîòîì çàïóñêàåòñÿ ñëîæíûå SQL-çàïðîñû ê ýòèì òàáëèöàì. Ñîåäèíåíèå òàáëèö ïðîèñõîäèò íå ïî êëþ÷ó, à ïî òåêñòîâîìó ïîëþ (íàïðèìåð, "Íàèìåíîâàíèå ïðîäóêöèè", 'Êîä ÒÒ" è ò ä). Âî âëîæåííîì ïðèìåðå îòñóòñòâóþò òàêèå çàïðîñû. Åñëè â access òàáëèöó "OLAP-Ãîðîäà" ïîïàäàþò çàïèñè èç OLAP, òî íóæíî ëè êëþ÷åâîå ïîëå äëÿ ýòîé òàáëèöû?
4. Åñëè ñ ïîìîùüþ ñ ADO âûãðóæàòü äàííûå ñ OLAP, òî â Fields èìåíà ïîëó÷àþòñÿ òàêèå äëèííûå:
[Ãîðîäà].[Ãîðîä].[Ãîðîä].[MEMBER_CAPTION] - äëÿ àòðèáóòîâ
[Measures].[Îòãðóçêè øò] - äëÿ ìåð
à íàäî òàê
Ãîðîä
Îòãðóçêè øò
Îáðàùàòüñÿ ïî òàêèì äëèííûì èìåíàì íå óäîáíî. Èçìåíèòü èìåíà ñ ïîìîùüþ ñâîéñòâà Name íåâîçìîæíî, òàê êàê íàõîäèòñÿ â ðåæèìå ÷òåíèÿ. Íî âîçìîæíî ïî èíäåêñó.
Íàïèñàë êîä òàê, ÷òî èç ýòèõ äëèííûõ èìåí âûòàñêèâàåò êîðîòêèå èìåíà.  äàííîì ïðèìåðå òàêîé êîä îòñóòñòâóåò, áóäòî óæå îïðåäåëèëè êîðîòêèå èìåíà, ÷òîáû íå óñëîæíÿòü äàííûé ïðèìåð äëÿ ïîíèìàíèÿ. Ïîëó÷àåì
ÌàññèâÇàãîëîâêîâ ñ òðåìÿ ïîëÿìè: äëèííîå íàçâàíèå ïîëÿ, êîðîòêîå íàçâàíèå ïîëÿ è èíäåêñ ïîëÿ. Äàëüøå êîãäà âñòàâëÿåì èç OLAP â access òàáëèöó, òî â ÈìïîðòÐåêîðäñåò îáðàùàåòñÿ íå ïî äëèííîìó èìåíè, à ïî èíäåêñó.
Îöåíèòå èäåþ òàêîãî ðåøåíèÿ? Ìîæíî ëè áûëî ïî ïðîùå ñäåëàòü èëè áîëåå ïðàâèëüíî ñäåëàòü?
5. Êîãäà âûãðóæàåøü äàííûå ñ OLAP, òî ìîæåò áûòü òàêîå ÷òî MDX-çàïðîñ íå ïðàâèëüíûé, îòñóòñòâóåò ïîäêëþ÷åíèå ê OLAP, íåõâàòêà ïàìÿòè íà ñåðâåðå, îòñóòñòâèå ïðàâ íà âûãðóçêó è ò.ä. Íóæíî âñòàâèòü ïåðåõâàò÷èê îøèáîê. Íî íóæíî ïîñòàâèòü èìåííî òàê, ÷òîáû áûëî ïîíÿòíî ÷òî çà îøèáêà, è ìàêðîñó çíàòü êóäà äàëüøå èäòè. Êàê ïðàâèëüíî ïðîïèñàòü?
Ïîëó÷èëîñü êàê òî åìêî, íî ïîäðîáíî ïî êàæäîìó âîïðîñó.
http://www.sql.ru/forum/1269772/voprosy-po-makrosu