使用ADOM库将MDX查询结果导出到CSV文件

时间:2019-01-21 09:47:58

标签: ssas iccube

在我的代码中,我正在使用import config from '../../config'; import { IUserInfo } from '../../interfaces'; const https = require('https'); function sendHttpsRequest(options: any): Promise<any> { console.log(`sending request to ${options.host}`); console.log(`Options are ${JSON.stringify(options)}`); return new Promise(function (resolve, reject) { console.log(` request to ${options.host} has been sent A`); let body = new Array<Buffer>(); const request = https.request(options, function (res: any) { console.log('statusCode:', res.statusCode); console.log('headers:', res.headers); if (res.statusCode != 200) { reject(res.statusCode); } res.on('data', (data: any) => { console.log(`body length is ${body.length}`); console.log('data arrived', data); body.push(data); console.log('pushed to array'); console.log(data.toString()); }); }); request.on('end', () => { console.error('Request ended'); // at this point, `body` has the entire request body stored in it as a string let result = Buffer.concat(body).toString(); resolve(result); }); request.on('error', async (err: Error) => { console.error('Errooooorrrr', err.stack); console.error('Errooooorrrr request failed'); reject(err); }); request.end(); console.log(` request to ${options.host} has been sent B`); }); } /** * AWS Lambda to create new Google account in TopMonks domain */ export default async function googleLambdaImplementation(userInfo: IUserInfo) { const payload = JSON.stringify({ "primaryEmail": userInfo.topmonksEmail, "name": { "givenName": userInfo.firstName, "familyName": userInfo.lastName }, "password": config.defaultPassword, "changePasswordAtNextLogin": true }); const resultResponse: Response = { statusCode: 200, body: 'Default response. This should not come back to users' } console.log('Calling google api via post request'); try { const options = { host: 'www.googleapis.com', path: '/admin/directory/v1/users', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': payload.length.toString() }, form: payload } const responseFromGoogle = await sendHttpsRequest(options); console.log('responseFromGoogle', JSON.stringify(responseFromGoogle)); } catch (err) { console.log('Calling google api failed with error', err); resultResponse.statusCode = 503; resultResponse.body = `Error creating new Google Account for ${userInfo.topmonksEmail}.`; return resultResponse; } console.log('request to google sent'); return resultResponse; } 将MDX查询结果导出到CSV / xlsx文件。它以CSV / xlsx文件格式成功导出数据。但是,当SSAS中没有标签时(将数据从相同的ADOM导出到CSV),在行和列后附加了一个附加的标签ADOM libraryAll-M

我尝试删除所有级别复选框,删除(所有)级别名称和(所有)成员名称。

从icCube导出,包含附加标签All-LAll-L

All-M

从SSAS导出:

[Stress Scenarios].[Stress Scenario].[All-L].[MEMBER_CAPTION]
[Snapshots].[Reference Date].[All-M].&[2018-01-02].[Measures].[Market Value Sensitivity]

我需要如下所示从icCube导出输出

从icCube导出:

[Stress Scenarios].[Stress Scenario].[MEMBER_CAPTION]
[Snapshots].[Reference Date].&[2018-01-02T00:00:00].[Measures].[Market Value]

0 个答案:

没有答案