跳至主要內容
Adaptive Planning
上次更新時間 :2023-06-23
ai.calendar

ai.calendar

可包含原始資料或匯總資料的時段。請參閱「」 Steps: Change Calendars

函數

方法
參數
退貨
說明
getNextPeriod( period [, options ] )
  • 期間︰字串,可取得下一個時段的期間值
  • 選項︰「物件」物件,包含類型屬性「數字」和 int 形式的值屬性。範例︰{type: 'number', value: 3}
ai.calendar.period
傳回
Adaptive Planning
引數中傳遞的期間的行事歷
getPreviousPeriod( period [, options ] )
  • 期間︰字串,要取得其上一個時段的期間值
  • 選項︰「物件」物件,包含類型屬性「數字」和 int 形式的值屬性。範例︰{type: 'number', value: 3}
ai.calendar.period
傳回
Adaptive Planning
引數中傳遞的期間的行事歷
getAvailablePeriodTypes( periodType )
  • periodType︰String 級別代碼,其中一個可用級別。
Array<String>
傳回階層中比傳入之級別更上層的行事歷所支援的級別 (期間類型) 代碼陣列 (例如 ['QuarterYear', 'HalfYear', 'Year'] )
getPeriodStartDateTime( period )
  • 期間︰ai.calendar.period 您要取得其開始日期時間的期間
String
以 ISO8601 日期字串格式傳回期間的開始日期時間 (例如 '2015-06-15T12:00:00+10:00')
getPeriodEndDateTime( period )
  • 期間︰ai.calendar.period 您要取得其結束日期時間的期間
String
以 ISO8601 日期字串格式傳回期間的結束日期時間 (例如 '2015-06-15T12:00:00+10:00')
convertToAdaptivePeriodStart ( start, end )
  • 開始︰字串要轉換的期間的 ISO8601 格式開始日期
  • end: 字串,要轉換的期間的 ISO8601 格式結束日期
String
傳回對應的
Adaptive Planning
採用 ISO8601 日期字串格式的期間開始日期 (例如 '2015-06-15T12:00:00+10:00')
isWithinAdaptivePeriodRange (start, end, periodFrom, periodEnd)
  • 開始︰字串要轉換的期間的 ISO8601 格式開始日期
  • end: 字串,要轉換的期間的 ISO8601 格式結束日期
  • periodFrom: ai.calendar.period 您要比較的起始期間
  • periodEnd: ai.calendar.period 您要比較的期間
Boolean
如果指定的開始日期和結束日期都落在開始期間和結束期間內,則傳回 True。否則傳回 False。 (例如 True/False)

範例

getNextPeriod( period [, options ] ) 和 getPeviousPeriod( period [, options ] ) 的範例
function PreviewData(context) { var calendar = context.getCalendar(); var dataSource = context.getDataSource(); var periods = dataSource.getSetting("Periods").getValue(); // getNextPeriod var nextMonth = calendar.getNextPeriod(periods.getFromPeriod()); //getPreviousPeriod var prevMonth = calendar.getPreviousPeriod(periods.getFromPeriod()); }
convertToAdaptivePeriodStart ( start, end ) 的範例
function PreviewData(context) { var calendar = context.getCalendar(); var newDate = calendar.convertToAdaptivePeriodStart(ai.date.create('2016-02-01', 'America/Los_Angeles'), ai.date.create('2016-05-01', 'America/Los_Angeles')); // write the corresponding Adaptive Planning period start date to log. ai.log.logInfo(newDate); //Assuming server is in PST timezone, the corresponding output is '2016-04-01T00:00:00.0000000-07:00' }
getAvailablePeriodTypes( periodType ) 的範例
function PreviewData(context) { var dataSource = context.getDataSource(); var calendar = context.getCalendar(); var availableTypeMonth = calendar.getAvailablePeriodTypes('month'); var availableTypeQuarter = calendar.getAvailablePeriodTypes('qtr'); var availableTypeYear = calendar.getAvailablePeriodTypes('year'); ai.log.logInfo("Stratum code of one of the available Strata for month: "+availableTypeMonth); ai.log.logInfo("Stratum code of one of the available Strata for quarter: "+availableTypeQuarter); ai.log.logInfo("Stratum code of one of the available Strata for year: "+availableTypeYear); } //Stratum code of one of the available Strata for month: month,qtr,year //Stratum code of one of the available Strata for quarter: qtr,year //Stratum code of one of the available Strata for year: year

ai.calendar.period

可包含原始資料或匯總資料的時段。
函數
方法
參數
退貨
說明
getValue()
字串
傳回可用於做為引數傳遞至「行事歷」函數的子欄「期間」的字串值。
範例
function PreviewData(context) { var dataSource = context.getDataSource(); var calendar = context.getCalendar(); var periods = dataSource.getSetting("Periods").getValue(); var period = calendar.nextPeriod(periods.getFromPeriod()); var nextPeriod = calendar.nextPeriod(period.getValue()); }