incremental update fails/Developpment

Last Post 07 Jun 2004 10:32 AM by yongliyang. 1 Replies.
AddThis - Bookmarking and Sharing Button Printer Friendly
  •  
  •  
  •  
  •  
  •  
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages
Jerome
New Member
New Member

--
03 Jun 2004 09:02 AM
Bonjour,

I am a beginner, so ...

[the context]
machine1 : W2K Server SP4 / SQL server 2K SP3
machine2 : W2K Pro SP4 / Analysis Services SP3
Using DSO (no DTS allowed), I want to update partitions of my single MOLAP cube.
I use one partition per day, the Fact Table grows by about 2 millions records a day.
I perform a rotation on 5 partitions, so that volumes remain reasonable.

[the problem]
The problem is that the new records in the fact table are discarded by the
'dsoPartition.process' method. To be more precise, they are discarded only
when they bear an element that is new in the 'partitionning' dimension.

The strange fact is, when I update the partition using the GUI of Analysis
Services having configured the partition with DSO, it *works* !

Another strange fact, is that the DSO update works fine when I just reprocess
a partition with new data (a partition I processed before using the GUI)!


[already tried]
using ROLAP and HOLAP, didn't change anything, and I want MOLAP.
using fact table from a view, but change the partitionning field doesn't do either.
shouting, yelling...


[the request]
Does anybody have a clue of what I am missing ? (apart from a braincell...)
(program delivery deadline : very very close)
thanks in advance.

[DSO code]
Dim dsoServer As New DSO.Server
Dim dsoDB As DSO.MDStore
Dim dsoCube As DSO.MDStore
Dim dsoDim As DSO.Dimension

Dim dsoPartA As DSO.MDStore
Dim dsoPartB As DSO.MDStore
Dim dsoPartC As DSO.MDStore
Dim dsoPartD As DSO.MDStore

Dim strDBName As String
Dim strCubeName As String

strDBName = "BCSV6_Olap"
strCubeName = "cubeRisqueEmetteur_AT"

dsoServer.Connect "bob2k"

Set dsoDB = dsoServer.MDStores(strDBName)
Set dsoCube = dsoDB.MDStores(strCubeName)
Set dsoPartA = dsoCube.MDStores.Item("cubeRisqueEmetteur_AT")

dsoCube.MDStores.Remove "cubeRisqueEmetteur_AT_PD"
Set dsoPartD = dsoCube.MDStores.AddNew("cubeRisqueEmetteur_AT_PD")
dsoPartA.Clone dsoPartD, cloneMajorChildren

Dim dsotruc As DSO.Dimension
Set dsotruc = dsoPartD.Dimensions("cubeRisqueEmetteur_AT^Jgdate")

Dim dsomachin As DSO.Level
Set dsomachin = dsotruc.Levels("Jgdate")
dsomachin.SliceValue = 37961

dsoPartD.SourceTableFilter = dsoPartD.SourceTable & ".""jgdate""=37961"
dsoCube.Update

dsoPartD.LockObject olapLockProcess, "pas toucher au grisbi"
'error occurs on the following, meaning no record was found.
dsoPartD.Process processDefault 'processRefreshData
dsoPartD.UnlockObject

MsgBox "Cube " & strCubeName & "has been processed."



yongliyang
New Member
New Member

--
07 Jun 2004 10:32 AM
Have you incrementally update the dimension first?
You are not authorized to post a reply.

Acceptable Use Policy