Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

¿como puedo cambiar la ubicación de la base de datos en un cubo ?

441 views
Skip to first unread message

olap@discussions.microsoft.com cubos olap

unread,
Mar 1, 2007, 8:08:28 AM3/1/07
to
Tengo creados unos cubos Olap con excel 2003, y necesito cambiar la ubicación
de la Base de Datos sin cambiar la definición de los cubos. ¿es esto posible?

Héctor Miguel

unread,
Mar 1, 2007, 11:03:05 PM3/1/07
to
hola, 'anonimo/a' !

> Tengo creados unos cubos Olap con excel 2003

> y necesito cambiar la ubicacion de la Base de Datos sin cambiar la definicion de los cubos.
> es esto posible?

si suponemos que los cubos olap los utilizas para realizar consultas devueltas en hojas de calculo o tablas dinamicas o ... ???

1) suponiendo que la conexion la realizaste desde [menu] datos / obtener datos externos / cear/modificar consulta...
-> puedes 'consultar/modificar/...' la 'sentencia' de la consulta [sql] desde el mismo menu de datos [o la BH de datos externos]
-> solicita modificar la consulta
-> 'avanza' hasta el ultimo paso [finalizar]
-> en lugar de 'devolver' los datos a excel... selecciona ->ver datos o modificar consulta en MS Query<-
-> elige: [menu] ver / sql... [o de la BH el icono de SQL]
-> ahi 'te dira' de donde esta tomando los datos [ruta, archivo, hoja y datos/tablas/...]

2) la otra alternativa es modificar la ruta al archivo de origen por macros... o... [un 'truquillo' +/- como el siguiente]...
-> sI se trata de -solo- una tabla dinamica [o por cada una sin 'escribir' macros]... prueba a hacer lo siguiente:
a) activa/selecciona/... la hoja donde esta ubicada la tabla dinamica y 've' al editor de vba -> atajo = {Alt}+{F11}
b) [ya en el editor de vba] -> presenta la ventana de inmediato [menu] ver / ventana inmediato [o el atajo {Ctrl}+G]
c) [en la ventana de inmediato] -> ejecuta la siguiente instruccion...
? activesheet.pivottables(1).pivotcache.connection [y pulsa {enter}] ->'nota' el signo de cierre de interrogacion inicial<-
-> te devolvera en la siguiente linea la cadena con la conexion al origen de datos ;)
d) usa/aprovecha/... la linea anterior y... EDITA las partes donde se direcciona la ubicacion del archivo...
-> DBQ=... y DefaultDir=...
e) una vez EDITADA/corregida/actualizada/... la cadena de conexion... -> ejecuta una nueva instruccion [casi 'la misma']...
activesheet.pivottables(1).pivotcache.connection = "pon aqui la cadena EDITADA y delimitada por comillas dobles"
-> pulsa {enter} -> regresa a excel -> hazle un 'refresco' a la tabla dinamica y...

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.


cubos olap

unread,
Mar 2, 2007, 2:04:02 AM3/2/07
to
Gracias Hector, hoy mismo lo probaré.

"cubos olap" escribió:

Oscar

unread,
Oct 17, 2007, 3:18:00 PM10/17/07
to
Hola a todos...

Héctor Miguel no lo hubiera podido hacer sin tu ayuda. Hice la siguiente
macro, la hice en office 2003 y me funcionó muy bien.
Solo tendrias que cambiar el string de conexión como lo indico Héctor, el
próposito de la macro es, si tienes muchas hojas de cálculo y tienes que
arreglarlas todas, la macro lo hace por ti, primero recorre todas las hojas y
luego todas las tablas dinámicas y cambia el nombre de la fuente, ahi les
dejo el ejemplo y espero les sea de mucha ayuda.

Salu2


Sub cambiarOrigen()


Dim numSheet As Integer
Dim numPivots As Integer
Dim i As Integer
Dim j As Integer

numHojas = Workbooks.Application.Sheets.Count
i = 1
j = 0

For i = 1 To numHojas Step 1
Sheets(i).Select

numPivots = ActiveSheet.PivotTables.Count

For j = 1 To numPivots Step 1

ActiveSheet.PivotTables(j).PivotCache.Connection =
"OLEDB;Provider=MSOLAP.2;Persist Security Info=True;Data
Source=10.1.1.75;Initial Catalog=sigDW;Client Cache Size=25;Auto Synch
Period=10000"

Next j

Next i


End Sub


"Héctor Miguel" escribió:

0 new messages