tm1npm 1.4.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,345 @@
1
+ /**
2
+ * PowerBiService - Business Intelligence Integration for TM1
3
+ *
4
+ * Provides comprehensive integration between TM1 data and Microsoft Power BI,
5
+ * including dataset generation, schema creation, data export, and formatting.
6
+ */
1
7
  import { RestService } from './RestService';
2
- import { CellService } from './CellService';
3
- import { ElementService } from './ElementService';
8
+ /**
9
+ * Power BI column data types
10
+ */
11
+ export type PowerBIDataType = 'string' | 'number' | 'boolean' | 'datetime' | 'decimal';
12
+ /**
13
+ * Power BI column definition
14
+ */
15
+ export interface PowerBIColumn {
16
+ name: string;
17
+ dataType: PowerBIDataType;
18
+ isNullable?: boolean;
19
+ description?: string;
20
+ formatString?: string;
21
+ }
22
+ /**
23
+ * Power BI table definition
24
+ */
25
+ export interface PowerBITable {
26
+ name: string;
27
+ columns: PowerBIColumn[];
28
+ rows?: any[];
29
+ description?: string;
30
+ isHidden?: boolean;
31
+ }
32
+ /**
33
+ * Power BI relationship definition
34
+ */
35
+ export interface PowerBIRelationship {
36
+ name: string;
37
+ fromTable: string;
38
+ fromColumn: string;
39
+ toTable: string;
40
+ toColumn: string;
41
+ crossFilteringBehavior?: 'oneDirection' | 'bothDirections' | 'automatic';
42
+ isActive?: boolean;
43
+ securityFilteringBehavior?: 'oneDirection' | 'bothDirections';
44
+ }
45
+ /**
46
+ * Power BI measure definition
47
+ */
48
+ export interface PowerBIMeasure {
49
+ name: string;
50
+ expression: string;
51
+ formatString?: string;
52
+ description?: string;
53
+ isHidden?: boolean;
54
+ }
55
+ /**
56
+ * Power BI dataset definition
57
+ */
58
+ export interface PowerBIDataset {
59
+ id?: string;
60
+ name: string;
61
+ tables: PowerBITable[];
62
+ relationships?: PowerBIRelationship[];
63
+ measures?: PowerBIMeasure[];
64
+ description?: string;
65
+ defaultMode?: 'push' | 'streaming' | 'pushStreaming';
66
+ createdAt?: Date;
67
+ updatedAt?: Date;
68
+ }
69
+ /**
70
+ * Power BI connection configuration
71
+ */
72
+ export interface PowerBIConfig {
73
+ workspaceId?: string;
74
+ datasetName: string;
75
+ refreshSchedule?: PowerBIRefreshSchedule;
76
+ connectionTimeout?: number;
77
+ maxRows?: number;
78
+ }
79
+ /**
80
+ * Power BI refresh schedule
81
+ */
82
+ export interface PowerBIRefreshSchedule {
83
+ enabled: boolean;
84
+ days?: ('Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday')[];
85
+ times?: string[];
86
+ localTimeZoneId?: string;
87
+ notifyOption?: 'noNotification' | 'mailOnFailure' | 'mailOnCompletion';
88
+ }
89
+ /**
90
+ * Power BI schema definition
91
+ */
92
+ export interface PowerBISchema {
93
+ tables: PowerBITableSchema[];
94
+ relationships: PowerBIRelationship[];
95
+ measures?: PowerBIMeasure[];
96
+ }
97
+ /**
98
+ * Power BI table schema
99
+ */
100
+ export interface PowerBITableSchema {
101
+ name: string;
102
+ columns: PowerBIColumn[];
103
+ sourceQuery?: string;
104
+ sourceCube?: string;
105
+ sourceView?: string;
106
+ }
107
+ /**
108
+ * Power BI export options
109
+ */
110
+ export interface PowerBIExportOptions {
111
+ includeMetadata?: boolean;
112
+ flattenHierarchies?: boolean;
113
+ skipConsolidations?: boolean;
114
+ skipZeros?: boolean;
115
+ skipRuleDerived?: boolean;
116
+ maxRows?: number;
117
+ dateFormat?: string;
118
+ decimalPlaces?: number;
119
+ includeAttributes?: string[];
120
+ sandbox_name?: string;
121
+ }
122
+ /**
123
+ * Power BI data format options
124
+ */
125
+ export interface PowerBIFormatOptions {
126
+ dateFormat?: string;
127
+ numberFormat?: string;
128
+ booleanFormat?: {
129
+ true: string;
130
+ false: string;
131
+ };
132
+ nullValue?: any;
133
+ trimStrings?: boolean;
134
+ convertEmptyToNull?: boolean;
135
+ }
136
+ /**
137
+ * Dimension metadata for Power BI
138
+ */
139
+ export interface DimensionMetadata {
140
+ name: string;
141
+ hierarchyName: string;
142
+ elementCount: number;
143
+ hasAttributes: boolean;
144
+ attributes: string[];
145
+ levels?: number;
146
+ }
147
+ /**
148
+ * Cube metadata for Power BI
149
+ */
150
+ export interface CubeMetadata {
151
+ name: string;
152
+ dimensions: DimensionMetadata[];
153
+ hasRules: boolean;
154
+ lastDataUpdate?: string;
155
+ measureDimension?: string;
156
+ }
157
+ /**
158
+ * Connection tracking for Power BI datasets
159
+ */
160
+ interface PowerBIConnectionTracker {
161
+ id: string;
162
+ config: PowerBIConfig;
163
+ dataset?: PowerBIDataset;
164
+ status: 'active' | 'inactive' | 'error';
165
+ lastRefresh?: Date;
166
+ errorMessage?: string;
167
+ }
4
168
  export declare class PowerBiService {
5
169
  private _tm1Rest;
6
- cells: CellService;
7
- elements: ElementService;
170
+ private cells;
171
+ private elements;
172
+ private cubes;
173
+ private dimensions;
174
+ private views;
175
+ private connections;
176
+ private datasets;
177
+ private static readonly DEFAULT_MAX_ROWS;
178
+ private static readonly MEASURE_DIMENSION_THRESHOLD;
8
179
  constructor(tm1Rest: RestService);
180
+ /**
181
+ * Generate a Power BI dataset from TM1 cubes
182
+ * @param cubeNames - Array of cube names to include in the dataset
183
+ * @param datasetName - Name for the Power BI dataset
184
+ * @param options - Export options for data retrieval
185
+ * @returns Power BI dataset definition with tables and relationships
186
+ */
187
+ generatePowerBIDataset(cubeNames: string[], datasetName?: string, options?: PowerBIExportOptions): Promise<PowerBIDataset>;
188
+ /**
189
+ * Create a Power BI connection configuration
190
+ * @param config - Power BI connection configuration
191
+ * @returns Connection ID for tracking
192
+ */
193
+ createPowerBIConnection(config: PowerBIConfig): Promise<string>;
194
+ /**
195
+ * Refresh a Power BI dataset with latest TM1 data
196
+ * @param datasetId - Dataset ID to refresh
197
+ * @param options - Export options for data retrieval
198
+ */
199
+ refreshPowerBIDataset(datasetId: string, options?: PowerBIExportOptions): Promise<PowerBIDataset>;
200
+ /**
201
+ * Delete a Power BI dataset
202
+ * @param datasetId - Dataset ID to delete
203
+ */
204
+ deletePowerBIDataset(datasetId: string): Promise<void>;
205
+ /**
206
+ * Get a Power BI dataset by ID
207
+ * @param datasetId - Dataset ID
208
+ * @returns Power BI dataset or undefined
209
+ */
210
+ getDataset(datasetId: string): PowerBIDataset | undefined;
211
+ /**
212
+ * List all Power BI datasets
213
+ * @returns Array of Power BI datasets
214
+ */
215
+ listDatasets(): PowerBIDataset[];
216
+ /**
217
+ * Export cube data formatted for Power BI consumption
218
+ * @param cubeName - Name of the cube to export
219
+ * @param viewName - Optional view name (uses default view if not specified)
220
+ * @param options - Export options
221
+ * @returns Array of formatted data rows
222
+ */
223
+ exportCubeForPowerBI(cubeName: string, viewName?: string, options?: PowerBIExportOptions): Promise<any[]>;
224
+ /**
225
+ * Export view data formatted for Power BI
226
+ * @param cubeName - Name of the cube
227
+ * @param viewName - Name of the view
228
+ * @param isPrivate - Whether the view is private
229
+ * @param options - Export options
230
+ * @returns Array of formatted data rows
231
+ */
232
+ exportViewForPowerBI(cubeName: string, viewName: string, isPrivate?: boolean, options?: PowerBIExportOptions): Promise<any[]>;
233
+ /**
234
+ * Generate Power BI schema from TM1 cubes
235
+ * @param cubeNames - Array of cube names
236
+ * @returns Power BI schema definition
237
+ */
238
+ generatePowerBISchema(cubeNames: string[]): Promise<PowerBISchema>;
239
+ /**
240
+ * Format raw data for Power BI consumption
241
+ * @param data - Raw data array
242
+ * @param columns - Column names
243
+ * @param options - Format options
244
+ * @returns Formatted data array
245
+ */
246
+ formatDataForPowerBI(data: any[], columns: string[], options?: PowerBIFormatOptions): any[];
247
+ /**
248
+ * Create Power BI relationships between cubes based on shared dimensions
249
+ * @param cubeNames - Array of cube names
250
+ * @returns Array of Power BI relationships
251
+ */
252
+ createPowerBIRelationships(cubeNames: string[]): Promise<PowerBIRelationship[]>;
253
+ /**
254
+ * Optimize data structure for Power BI performance
255
+ * @param data - Raw data array
256
+ * @param options - Export options
257
+ * @returns Optimized data array
258
+ */
259
+ optimizeForPowerBI(data: any[], options?: PowerBIExportOptions): any[];
260
+ /**
261
+ * Execute MDX and return data as array
262
+ * @param mdx - MDX query string
263
+ * @returns Array of data rows
264
+ */
9
265
  executeMdx(mdx: string): Promise<any[]>;
266
+ /**
267
+ * Execute view and return data as array
268
+ * @param cubeName - Cube name
269
+ * @param viewName - View name
270
+ * @param isPrivate - Whether view is private
271
+ * @param useIterativeJson - Use iterative JSON parsing
272
+ * @param useBlob - Use blob for large datasets
273
+ * @returns Array of data rows
274
+ */
10
275
  executeView(cubeName: string, viewName: string, isPrivate: boolean, useIterativeJson?: boolean, useBlob?: boolean): Promise<any[]>;
276
+ /**
277
+ * Get member properties for Power BI dimension table
278
+ * @param dimensionName - Dimension name
279
+ * @param hierarchyName - Hierarchy name
280
+ * @param memberSelection - Member selection (array or MDX)
281
+ * @param skipConsolidations - Skip consolidated elements
282
+ * @param attributes - Attributes to include
283
+ * @param skipParents - Skip parent columns
284
+ * @param levelNames - Custom level names
285
+ * @param parentAttribute - Attribute for parent display
286
+ * @param skipWeights - Skip weight columns
287
+ * @param useBlob - Use blob for large datasets
288
+ * @returns Array of member properties
289
+ */
11
290
  getMemberProperties(dimensionName?: string, hierarchyName?: string, memberSelection?: string[] | string, skipConsolidations?: boolean, attributes?: string[], skipParents?: boolean, levelNames?: string[], parentAttribute?: string, skipWeights?: boolean, useBlob?: boolean): Promise<any[]>;
291
+ /**
292
+ * Get cube metadata for Power BI schema generation
293
+ * @param cubeName - Cube name
294
+ * @returns Cube metadata
295
+ */
296
+ getCubeMetadata(cubeName: string): Promise<CubeMetadata>;
297
+ /**
298
+ * Get dimension metadata for Power BI
299
+ * @param dimensionName - Dimension name
300
+ * @returns Dimension metadata
301
+ */
302
+ getDimensionMetadata(dimensionName: string): Promise<DimensionMetadata>;
303
+ private generateDatasetId;
304
+ private generateConnectionId;
305
+ /**
306
+ * Helper method to safely get element attributes
307
+ * @param dimensionName - Dimension name
308
+ * @param hierarchyName - Hierarchy name
309
+ * @returns Array of attribute names or empty array
310
+ */
311
+ private safeGetAttributes;
312
+ private createDimensionTable;
313
+ private createFactTable;
314
+ private createDimensionSchema;
315
+ private createFactTableSchema;
316
+ private buildCubeMDX;
317
+ private formatValue;
318
+ private convertToCompatibleType;
319
+ private inferAttributeDataType;
320
+ private identifyMeasureDimension;
321
+ /**
322
+ * Get connection status
323
+ * @param connectionId - Connection ID
324
+ * @returns Connection tracker or undefined
325
+ */
326
+ getConnectionStatus(connectionId: string): PowerBIConnectionTracker | undefined;
327
+ /**
328
+ * List all connections
329
+ * @returns Array of connection trackers
330
+ */
331
+ listConnections(): PowerBIConnectionTracker[];
332
+ /**
333
+ * Close a connection
334
+ * @param connectionId - Connection ID to close
335
+ */
336
+ closeConnection(connectionId: string): void;
337
+ /**
338
+ * Update connection configuration
339
+ * @param connectionId - Connection ID
340
+ * @param config - New configuration
341
+ */
342
+ updateConnectionConfig(connectionId: string, config: Partial<PowerBIConfig>): void;
12
343
  }
344
+ export {};
13
345
  //# sourceMappingURL=PowerBiService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PowerBiService.d.ts","sourceRoot":"","sources":["../../src/services/PowerBiService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAc;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;gBAEpB,OAAO,EAAE,WAAW;IASnB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAOvC,WAAW,CACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,gBAAgB,GAAE,OAAe,EACjC,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,GAAG,EAAE,CAAC;IAaJ,mBAAmB,CAC5B,aAAa,CAAC,EAAE,MAAM,EACtB,aAAa,CAAC,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EACnC,kBAAkB,GAAE,OAAc,EAClC,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,WAAW,GAAE,OAAe,EAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,GAAE,OAAc,EAC3B,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,GAAG,EAAE,CAAC;CAsDpB"}
1
+ {"version":3,"file":"PowerBiService.d.ts","sourceRoot":"","sources":["../../src/services/PowerBiService.ts"],"names":[],"mappings":"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"}