Bonjour a tous ,
J’ai le scenario suivant:
un cube olap qui se base sur une base de donnees Access. J’ai dans un TCD dans Excel qui est ensuite base sur le cube olap.
Question 1: Est il possible de savoir par code vba ou par d’autres manipulations la requete/table qui fourni ses donnees au cube?
Question 2: Quels ont ete les filters appliqués lors de la creation du cube olap?
Le code suivant ne me donne que l’emplacement de ma BD (DBQ ou DefaultDir) et celui de mon cube (DATA SOURCE) ainsi que la fonction qui a ete utilise (FUNCTION).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub PivotTable_Cube_Data()
'Savoir le nom de la requete/table dans une BD qui alimente un Cube.
 
    Dim wb As Workbook, ws As Worksheet
    Dim iPT As PivotTable, iPTC As PivotCache, i As Integer
 
    Set ws = Application.ThisWorkbook.ActiveSheet
    Debug.Print ws.PivotTables.Count    'le nombre de TCD sur
 
    For i = 1 To ws.PivotTables.Count
 
        ws.PivotTables(i).TableRange2.Select
        Debug.Print ws.PivotTables(i).PivotCache.Connection
 
    Next i
 
End Sub

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
OLEDB;
Provider=MSOLAP.2;
Persist Security Info=True;
Data Source=L:\ied_support\Financing\OTCDervs\PROJECTS\MIS\Development\TX\DealCount.cub;
Initial Catalog=[OCWCube];
CREATECUBE=CREATE CUBE [OCWCube] (   DIMENSION [Trade Category],    LEVEL [All] TYPE ALL,    LEVEL [Trade Category],   DIMENSION [Product],    LEVEL [All] TYPE ALL,    LEVEL [Product],   DIMENSION [Location],    LEVEL [All] TYPE ALL,    LEVEL [Location],   DIMENSION [Event],    LEVEL [All] TYPE ALL,    LEVEL [Event],   DIMENSION [DealRefIDDealVersion],    LEVEL [All] TYPE ALL,    LEVEL [DealRefIDDealVersion],   DIMENSION [AmendMonth],    LEVEL [All] TYPE ALL,    LEVEL [AmendMonth],   DIMENSION [Amend DateClean] TYPE TIME,    LEVEL [All] TYPE ALL,    LEVEL [Year] TYPE YEAR,    LEVEL [Quarter] TYPE QUARTER,    LEVEL [Month] TYPE MONTH,    LEVEL [Day] TYPE DAY,   MEASURE [Sum Of New Count]    FUNCTION SUM  );
INSERTINTO=INSERT INTO OCWCube([Amend DateClean], [AmendMonth].[AmendMonth], [DealRefIDDealVersion].[DealRefIDDealVersion], [Event].[Event], [L
ocation].[Location], [Sum Of New Count], [Product].[Product], [Trade Category].[Trade Category])  OPTIONS ATTEMPT_ANALYSIS  SELECT DealLevel.`Amend DateClean`, DealLevel.AmendMonth, DealLevel.DealRefIDDealVersion, DealLevel.Event, DealLevel.Location, DealLevel.`New Count`, DealLevel.Product, DealLevel.`Trade Category`  FROM DealLevel DealLevel;
SOURCE_DSN="DSN=MS Access Database;
DBQ=L:\IED_Support\Financing\OTCDervs\PROJECTS\MIS\Development\Adam Dev\TX\TXdb.mdb;
DefaultDir=L:\IED_Support\Financing\OTCDervs\PROJECTS\MIS\Development\Adam Dev\TX;
DriverId=25;
FIL=MS Access;
MaxBufferSize=2048;
PageTimeout=5;
";
USEEXISTINGFILE=True;
Client Cache Size=25;
Auto Synch Period=10000;
MDX Compatibility=1
Grand merci pour toute aide et suggestion.