diff --git a/dictation_function/src/constants/index.ts b/dictation_function/src/constants/index.ts index 7c09425..bbf6471 100644 --- a/dictation_function/src/constants/index.ts +++ b/dictation_function/src/constants/index.ts @@ -351,6 +351,7 @@ export const FILE_RETENTION_DAYS_DEFAULT = 30; */ export const LICENSE_COUNT_ANALYSIS_HEADER = { ACCOUNT: "アカウント", + COUNTRY:"国", TARGET_YEAE_AND_MONTH: "対象年月", CATEGORY_1: "カテゴリー1", CATEGORY_2: "カテゴリー2", diff --git a/dictation_function/src/functions/analysisLicenses.ts b/dictation_function/src/functions/analysisLicenses.ts index ffc4309..d7d1541 100644 --- a/dictation_function/src/functions/analysisLicenses.ts +++ b/dictation_function/src/functions/analysisLicenses.ts @@ -435,6 +435,7 @@ export async function transferData( // 出力データのヘッダーを作成 const header = [ '"' + LICENSE_COUNT_ANALYSIS_HEADER.ACCOUNT + '",', + '"' + LICENSE_COUNT_ANALYSIS_HEADER.COUNTRY + '",', '"' + LICENSE_COUNT_ANALYSIS_HEADER.TARGET_YEAE_AND_MONTH + '",', '"' + LICENSE_COUNT_ANALYSIS_HEADER.CATEGORY_1 + '",', '"' + LICENSE_COUNT_ANALYSIS_HEADER.CATEGORY_2 + '",', @@ -821,6 +822,7 @@ export async function transferData( await createOutputData( context, account.company_name, + account.country, targetMonthYYYYMM, trialLicensesCount, normalLicensesCount, @@ -863,6 +865,7 @@ export async function transferData( await createOutputData( context, account.company_name, + account.country, targetMonthYYYYMM, trialLicensesCount, normalLicensesCount, @@ -905,6 +908,7 @@ export async function transferData( await createOutputData( context, account.company_name, + account.country, targetMonthYYYYMM, trialLicensesCount, normalLicensesCount, @@ -994,7 +998,7 @@ export async function transferData( (license) => license.status === LICENSE_ALLOCATED_STATUS.ALLOCATED ); const usedNoneLicense = noneLicense.filter( - (license) => (license.status === LICENSE_ALLOCATED_STATUS.ALLOCATED) + (license) => license.status === LICENSE_ALLOCATED_STATUS.ALLOCATED ); // どのロールのユーザーが使用しているライセンスかを判別し、ロールごとに分ける。 // (allcated_user_idからユーザーを特定) @@ -1271,6 +1275,7 @@ export async function transferData( await createOutputData( context, account.id.toString(), + account.country, targetMonthYYYYMM, trialLicensesCount, normalLicensesCount, @@ -1313,6 +1318,7 @@ export async function transferData( await createOutputData( context, account.id.toString(), + account.country, targetMonthYYYYMM, trialLicensesCount, normalLicensesCount, @@ -1355,6 +1361,7 @@ export async function transferData( await createOutputData( context, account.id.toString(), + account.country, targetMonthYYYYMM, trialLicensesCount, normalLicensesCount, @@ -1451,6 +1458,7 @@ export async function transferData( async function createOutputData( context: InvocationContext, company_name: string, + country: string, targetMonthYYYYMM: string, trialLicensesCount: number, normalLicensesCount: number, @@ -1494,6 +1502,8 @@ async function createOutputData( resultOutputData.push( // 会社名(ダブルクォーテーションで囲む) '"' + company_name + '",', + // 国 + '"' + country + '",', // 対象年月(先月)YYYYMM // 2024年3月に実行した場合:202402 '"' + targetMonthYYYYMM + '",', @@ -1511,6 +1521,7 @@ async function createOutputData( // アカウントが保持する通常ライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.OWNER_LICENSES + '",', @@ -1521,6 +1532,7 @@ async function createOutputData( // アカウントが保持するカードライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.OWNER_LICENSES + '",', @@ -1531,6 +1543,7 @@ async function createOutputData( // ユーザーが使用中の移行ライセンス resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",', @@ -1541,6 +1554,7 @@ async function createOutputData( // Authorが使用中のトライアルライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",', @@ -1551,6 +1565,7 @@ async function createOutputData( // Typistが使用中のトライアルライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",', @@ -1561,6 +1576,7 @@ async function createOutputData( // Noneが使用中のトライアルライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",', @@ -1571,6 +1587,7 @@ async function createOutputData( // Authorが使用中の通常ライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",', @@ -1581,6 +1598,7 @@ async function createOutputData( // Typistが使用中の通常ライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",', @@ -1591,6 +1609,7 @@ async function createOutputData( // Noneが使用中の通常ライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",', @@ -1601,6 +1620,7 @@ async function createOutputData( // Authorが使用中のカードライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",', @@ -1611,6 +1631,7 @@ async function createOutputData( // Typistが使用中のカードライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",', @@ -1621,6 +1642,7 @@ async function createOutputData( // Noneが使用中のカードライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",', @@ -1631,6 +1653,7 @@ async function createOutputData( // アカウントが保持する当月発行トライアルライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.NEW_ISSUE_LICENSES + '",', '"' + "" + '",', @@ -1641,6 +1664,7 @@ async function createOutputData( // アカウントが保持する当月発行通常ライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.NEW_ISSUE_LICENSES + '",', '"' + "" + '",', @@ -1651,6 +1675,7 @@ async function createOutputData( // アカウントが保持する当月発行カードライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.NEW_ISSUE_LICENSES + '",', '"' + "" + '",', @@ -1661,6 +1686,7 @@ async function createOutputData( // Authorに割り当てられたままの失効トライアルライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1671,6 +1697,7 @@ async function createOutputData( // Typistに割り当てられたままの失効トライアルライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1681,6 +1708,7 @@ async function createOutputData( // Noneに割り当てられたままの失効トライアルライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1691,6 +1719,7 @@ async function createOutputData( // 未割当の失効トライアルライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1701,6 +1730,7 @@ async function createOutputData( // Authorに割り当てられたままの失効通常ライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1711,6 +1741,7 @@ async function createOutputData( // Typistに割り当てられたままの失効通常ライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1721,6 +1752,7 @@ async function createOutputData( // Noneに割り当てられたままの失効通常ライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1731,6 +1763,7 @@ async function createOutputData( // 未割当の失効通常ライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1741,6 +1774,7 @@ async function createOutputData( // Authorに割り当てられたままの失効カードライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1751,6 +1785,7 @@ async function createOutputData( // Typistに割り当てられたままの失効カードライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1761,6 +1796,7 @@ async function createOutputData( // Noneに割り当てられたままの失効カードライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1771,6 +1807,7 @@ async function createOutputData( // 未割当の失効カードライセンス[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",', '"' + "" + '",', @@ -1781,6 +1818,7 @@ async function createOutputData( // Authorにトライアルライセンスからの切り替え[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + "" + '",', @@ -1791,6 +1829,7 @@ async function createOutputData( // Typistにトライアルライセンスからの切り替え[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + "" + '",', @@ -1801,6 +1840,7 @@ async function createOutputData( // Noneにトライアルライセンスからの切り替え[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + "" + '",', @@ -1811,6 +1851,7 @@ async function createOutputData( // Authorにカードライセンスからの切り替え[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + "" + '",', @@ -1821,6 +1862,7 @@ async function createOutputData( // Typistにカードライセンスからの切り替え[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + "" + '",', @@ -1831,6 +1873,7 @@ async function createOutputData( // Noneにカードライセンスからの切り替え[] resultOutputData.push( '"' + company_name + '",', + '"' + country + '",', '"' + targetMonthYYYYMM + '",', '"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",', '"' + "" + '",', diff --git a/dictation_function/src/test/analysisLicenses.spec.ts b/dictation_function/src/test/analysisLicenses.spec.ts index f719201..7b9bcf5 100644 --- a/dictation_function/src/test/analysisLicenses.spec.ts +++ b/dictation_function/src/test/analysisLicenses.spec.ts @@ -23,10 +23,6 @@ import { import { InvocationContext } from "@azure/functions"; import { LICENSE_ALLOCATED_STATUS, - LICENSE_COUNT_ANALYSIS_CATEGORY_1, - LICENSE_COUNT_ANALYSIS_CATEGORY_2, - LICENSE_COUNT_ANALYSIS_LICENSE_TYPE, - LICENSE_COUNT_ANALYSIS_ROLE, SWITCH_FROM_TYPE, } from "../constants"; import { BlobstorageService } from "../blobstorage/blobstorage.service"; @@ -1808,6 +1804,7 @@ describe("analysisLicenses", () => { { tier: 5, parent_account_id: account4.id, + country: "CA", }, { external_id: "external_id_tier5admin1", @@ -2776,143 +2773,143 @@ describe("analysisLicenses", () => { csvContentUS += transferDataResult.outputDataUS[i]; } expect(csvContentUS).toBe( - '"アカウント","対象年月","カテゴリー1","カテゴリー2","ライセンス種別","役割","数量"' + + '"アカウント","国","対象年月","カテゴリー1","カテゴリー2","ライセンス種別","役割","数量"' + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Trial","","9"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Trial","","9"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Standard","","9"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Standard","","9"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Card","","7"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Card","","7"` + `\r\n` + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","移行ライセンス","","1"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","移行ライセンス","","1"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Author","1"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Author","1"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Typist","2"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Typist","2"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","None","3"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","None","3"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Author","4"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Author","4"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Typist","1"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Typist","1"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","None","2"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","None","2"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Author","2"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Author","2"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Typist","3"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Typist","3"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","None","1"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","None","1"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","新規発行ライセンス数","","Trial","","3"` + + `"test inc.","US","${lastMonthYYYYMM}","新規発行ライセンス数","","Trial","","3"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","新規発行ライセンス数","","Standard","","2"` + + `"test inc.","US","${lastMonthYYYYMM}","新規発行ライセンス数","","Standard","","2"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","新規発行ライセンス数","","Card","","1"` + + `"test inc.","US","${lastMonthYYYYMM}","新規発行ライセンス数","","Card","","1"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Author","5"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Author","5"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Typist","3"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Typist","3"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Trial","None","2"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Trial","None","2"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Unallocated","1"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Unallocated","1"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Author","2"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Author","2"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Typist","1"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Typist","1"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Standard","None","2"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Standard","None","2"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Unallocated","2"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Unallocated","2"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Card","Author","1"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Card","Author","1"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Card","Typist","2"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Card","Typist","2"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Card","None","3"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Card","None","3"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Card","Unallocated","5"` + + `"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Card","Unallocated","5"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Author","1"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Author","1"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Typist","2"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Typist","2"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","None","1"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","None","1"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Author","1"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Author","1"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Typist","2"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Typist","2"` + "\r\n" + - `"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","None","3"` + + `"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","None","3"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Trial","","9"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Trial","","9"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Standard","","9"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Standard","","9"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Card","","7"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Card","","7"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","移行ライセンス","","1"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","移行ライセンス","","1"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Author","1"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Author","1"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Typist","2"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Typist","2"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","None","3"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","None","3"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Author","4"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Author","4"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Typist","1"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Typist","1"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","None","2"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","None","2"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Author","2"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Author","2"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Typist","3"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Typist","3"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","None","1"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","None","1"` + "\r\n" + - `"1","${lastMonthYYYYMM}","新規発行ライセンス数","","Trial","","3"` + + `"1","CA","${lastMonthYYYYMM}","新規発行ライセンス数","","Trial","","3"` + "\r\n" + - `"1","${lastMonthYYYYMM}","新規発行ライセンス数","","Standard","","2"` + + `"1","CA","${lastMonthYYYYMM}","新規発行ライセンス数","","Standard","","2"` + "\r\n" + - `"1","${lastMonthYYYYMM}","新規発行ライセンス数","","Card","","1"` + + `"1","CA","${lastMonthYYYYMM}","新規発行ライセンス数","","Card","","1"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Author","5"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Author","5"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Typist","3"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Typist","3"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Trial","None","2"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Trial","None","2"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Unallocated","1"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Unallocated","1"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Author","2"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Author","2"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Typist","1"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Typist","1"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Standard","None","2"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Standard","None","2"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Unallocated","2"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Unallocated","2"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Card","Author","1"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Card","Author","1"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Card","Typist","2"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Card","Typist","2"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Card","None","3"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Card","None","3"` + "\r\n" + - `"1","${lastMonthYYYYMM}","失効ライセンス数","","Card","Unallocated","5"` + + `"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Card","Unallocated","5"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Author","1"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Author","1"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Typist","2"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Typist","2"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","None","1"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","None","1"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Author","1"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Author","1"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Typist","2"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Typist","2"` + "\r\n" + - `"1","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","None","3"` + + `"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","None","3"` + "\r\n" ); });