public static function adjustToFirstDayOfFiscalQuarter($date) { $proxy = new DateTimeProxy(new DateTime($date)); list($fiscalYear, $fiscalMonth) = DateDimensionConfiguration::getFiscalMonth($proxy->getYear(), $proxy->getMonth()); $fiscalQuarter = DateTimeProxy::getQuarterByMonth($fiscalMonth); $firstMonthOfFiscalQuarter = DateTimeProxy::getFirstMonthOfQuarter($fiscalQuarter); // converting the date to the first day of corresponding quarter $adjustedDateTime = new DateTime(); $adjustedDateTime->setDate($fiscalYear, $firstMonthOfFiscalQuarter, 1); return $adjustedDateTime->format(DateDataTypeHandler::getDateMask()); }
protected function prepareExpression(DataControllerCallContext $callcontext, AbstractRequest $request, $datasetName, $columnName, $columnDataType) { $proxy = new DateTimeProxy(); list($fiscalYear, $fiscalMonth) = FiscalYearConfiguration::getAsFiscal($proxy->getYear(), $proxy->getMonth()); $fiscalQuarter = DateTimeProxy::getQuarterByMonth($fiscalMonth); $firstMonthOfFiscalQuarter = DateTimeProxy::getFirstMonthOfQuarter($fiscalQuarter); $dt = new DateTime(); $dt->setDate($fiscalYear, $firstMonthOfFiscalQuarter, 1); return $this->prepareExpressionImpl($callcontext, $request, $datasetName, $columnName, $columnDataType, $this->formatDate($dt)); }