you can use special "OLAP Services processing task".
Open the dts package in design mode and see the Task Floating bar (there is an yellow icon with cube)
I don't use this because I need my processing task to be more generic.
I tryed to implement the processing via DSO directly in DTS vbscript but it is not possible because of next problem - you cannot get mdstore collection of cubes from the database (or single cube from this collection) - nothing is returned always. I thing but i am not sure (I solved this problem one year ago) I so the article about this disablity that it is not supported from vbscript of DTS.
I solved this problem by writing special vb component that is called from the dts vbscript and makes all the job inside the dll..
please, notify me if this explanation was helpful for you.
Issahar Gourfinkel
senior software engineer
Softwatch LTD
Israel
...one more thing - I am speaking about OLAP 7 and NOT about OLAP 2000. My explanation is regarding OLAP 7 and SQL Server 7 only. Issahar Gourfinkel
senior software engineer
Softwatch LTD
Israel
Gracias Issahar. Te cuento que estoy tratando de programar el procesamiento del cubo con DSO. Lo que tengo que hacer es un procesamiento incremental del cubo. Voy a ver si puedo hacerlo con Visual Basic. Despues te cuento como me fue.
Gracias.
Si queres un ejemplo como hacer un procesamiento incremental puedo mandartelo.
Hay algunos problemas in la realizacion de este tipo de procesamients, pero este dipende de como tu lo haces.
Hay dos tipos generales de hacerlo:
1.
En OLAP Standard y Enterprise ediciones puedes creer una particion temporanea, llevar todos los recuerdos nuevos alla, y despues hacer "merge" con la particion principia y deletar la particion temporanea. Hay algunos scenarios 'paranoicos' con este tipo de procesamiento y por eso tienes que realizar muchos verificaciones antes de hacerlo, por ejemplo - no puedes hacer un "merge" si la particion principia no tiene data (size<=0) , un otro problema es que puedes llevar los mismo recuerdos mas de una vez - tu OLAP database habra dados dublicados etc...
2.
En OLAP enterprise edicion puedes creer mucha particiones por un cubo - cada particion per una mes (o para una semana tambien!) y procesar solo la particion del periodo de los recuerdos nuevos. Pero esta opcion esta solamente en la edicion Enterprise, per cuya tienes que installar SQL Server enterprise tambien.
Si tienes preguntas, escriba me
Perdona me por mi pobre, casi olvidada Espanol
Issahar Gourfinkel
senior software engineer
Softwatch LTD
Israel
Hola de nuevo Issahar. Gracias por ayudarme. Te cuento que no estoy trabajando con el Enterprise asi que voy a utilizar una sola particion, y a lo de los datos duplicados ya tengo la forma de controlarlo.
Te agradeceria si podes enviarme un ejemplo de como hacer el procesamiento incremental.
Disculpa que te escriba en español, si queres intento hacerlo en ingles. De todas maneras tu español no es malo.
Gracias.
Buenas Tardes, Ernesto
...
in este caso debes creer una particion temporanea, come ho dicho en mi mensaje reciente.
Mira por favor el code siguiente(es un ejemplo sin un error handling special, )
Este code no tiene algun warranty y serve como un ejemplo solamente.
'EMPIEZADO EL VB CODE
Private Function UpdateCube(cubeName As String, sourceTable As String, timeColumnName As String, minTime As String, maxTime As String) As Boolean
On Error GoTo UpdateCube_Err
Dim dsoCube As DSO.MDStore
Dim dsoPartition As DSO.MDStore
Dim dsoTmpPartition As DSO.MDStore
Dim filterStr As String
Set dsoCube = dsoDB.MDStores(cubeName)
Set dsoPartition = dsoCube.MDStores(cubeName)
Set dsoTmpPartition = dsoCube.MDStores.AddNew("~TempPartition"
UpdateCube_Err:
'MsgBox ("An error occurred during incremental update of cube " & cubeName & ". number: " & Err.Number & "; description: " & Err.Description & "; Source: " & Err.Source)
Err.Clear
UpdateCube = False
End Function
'TERMINADO EL VB CODE
'----------------
Recuerda que antes de este proceso debes poner atencion sobre algunos casos "paranoicos" como dsoPartition.EstimatedSize debe ser mas de 0 o debes comprovar que en este cubo la particion llamada "~tmpPartition" no existe...
buenas tardes
Issahar Gourfinkel
senior software engineer
Softwatch LTD
Israel
Hola Issahar. Gracias por tu ayuda. El codigo que me enviaste es lo que estaba necesitando.
Suponiendo que puedo crear varias particiones (por ejemplo una particion para el año 2000, y otra particion para el año 2001). ¿Es posible indicar que a una particion la guarde en el disco c, y a la otra en el disco d.?
Gracia de nuevo.
Ernesto Rau.
ernestofrau@hotmail.com
Argentina
Queiro recordarte que creacion de particiones deferentes (mas de dos) in una cubo - es possible solamente en OLAP ENTERPRISE edicion que vale muchisimo por que no puedes obtener una licencia a usarlo sin Window NT Enterprise y sin SQL Server Enterprise...
No Lo se si existe una opcion de localizar particiones en diskos diferentes. Pienso que no es posible...pero no estoy seguro.
Hasta luego.
Issahar Gourfinkel
senior software engineer
Softwatch LTD
Israel
Buen dia Issahar. Te cuento que yo encontre algo parecido en el MSDN. Yo estoy trabajando con la version 7, pero no he podido encontrar en ninguna parte la manera de hacerlo.
Acerca de las particiones, creo que puedo crear otras, aunque aún lo estoy probando.
Hola, Ernesto.
Aqui puedes encontrar un caso "paranoico" sobre que no te ho dicho hayer.
- DSO tiene un bug (pequeno ) que puede causar te muchos problemas despues - te dara creer mas de dos particiones en un cubo de OLAP Standard (que no puedes hacer via Manager porque recebiras un mensaje error) - pero despues no podres procesar el cubo...
asi, You se seguramente que no puedes creer mas de dos particiones - una default y una temporanea per proceso incremental - y tiene que deletar la temporanea imediamente despues...
Issahar Gourfinkel
senior software engineer
Softwatch LTD
Israel
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.