Polaris と Classic エンジンでは一部の計算関数の動作に若干の違いがあります。また、Polaris では一部の関数を使用できません。

計算関数動作の違い
ALL 集計関数

Polaris では、マッピングされていないセルの計算結果が TRUE になります。

Classic エンジンではデフォルト値が FALSE です。

ADDMONTHS

Polaris では、Number 引数に NaN (非数) の値を使用した場合、ADDMONTHS 関数で空白値が返されます。

Classic エンジンでは、ADDMONTHS で使用される NaN の値は 0 と同等です。

ADDYEARS

Polaris では、Number 引数に値 NaN (非数) の値を使用した場合、ADDYEARS 関数で空白値が返されます。

Classic エンジンでは、ADDYEARS で使用される NaN の値は 0 と同等です。

AVERAGE 集計関数

Polaris では、式集計方法を指定した状態で、ライン アイテムの式でかっこ付きの集計関数 AVERAGE を使用することはできません。

Classic エンジンでは使用できます。

CODE

Polaris では、Item 引数に時間軸値を使用すると CODE 関数で空白のテキストが結果として返されます。

Classic エンジン では、Item 引数に時間軸値を使用すると CODE 関数で時間軸値がテキストとして返されます。

CUMPRINC
CUMULATE

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で CUMULATE を使用することはできません。

Classic エンジンでは使用できます。

Polaris では、式が適用されるライン アイテムのディメンションに List 引数を一致させる必要があります。

Classic エンジンでは、ライン アイテム ディメンションのサブセットを List として使用することもできます。

DECUMULATE

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で DECUMULATE を使用することはできません。

Classic エンジンでは使用できます。

FIND

Polaris では、FIND 関数ですべての Unicode 文字の長さが 1 文字と見なされます。そのため、FIND 関数では正しい開始文字が返されます。

Classic エンジンでは FIND 関数で以下のように長さが考慮されます。

  • 基本多言語面 (BMP) 内の Unicode 文字は 1 文字分
  • BMP 外の Unicode 文字は 2 文字分
  • 複合文字 (例: アクセントや発音区別符がある文字) の長さはコンポーネント数と等しい
FINDITEM

Polaris では、Time 引数を一つ指定した状態で FINDITEM 関数を使用することはできません。

Classic エンジンでは、Time 引数を一つ又は二つ指定した状態で FINDITEM を使用できます。

HALFYEARTODATE

Polaris では、タイム スケールが半年のライン アイテムで HALFYEARTODATE 関数を使用できます。

Classic エンジンでは使用できません。

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で HALFYEARTODATE を使用することはできません。

Classic エンジンでは使用できます。

HALFYEARVALUE

Polaris で HALFYEARVALUE 関数を使用するには、[Model Calendar] で [Half-year Totals] を有効化する必要があります。Classic エンジンでは、[Model Calendar] で [Half-year Totals] が有効化されているかどうかに関係なく HALFYEARVALUE 関数を使用できます。

Polaris では、HALFYEARVALUE 関数より大きいタイム スケールで結果ライン アイテムに HALFYEARVALUE 関数を使用することはできません。Classic エンジンではこの場合に値 0 が返されます。

ISANCESTOR

Polaris では、トップ レベル アイテムがオーファン エンティティと結合されている場合、ISANCESTOR 関数で値として false が返されます。

Classic エンジンでは、同じ場合に値として true が返されます。

ISBLANK

Polaris では、キャリッジ リターン文字だけで構成されたテキスト値が ISBLANK 関数で空白値と見なされます。

Classic エンジンでは、ISBLANK 関数でキャリッジ リターンが非空白値と見なされます。

ISFIRSTOCCURRENCE

注記: ディメンション性が高い場合、Polaris では ISFIRSTOCCURRENCE のパフォーマンスが下がることがわかっています。Polaris では ISFIRSTOCCURRENCE を使用しないことが強く推奨されています。

Polaris では、Time リストで ISFIRSTOCCURRENCE 関数を使用できます。Classic エンジンでは使用できません。

さらに、Classic エンジンとは異なり、Polaris では ISFIRSTOCCURRENCE 関数に 5,000 万セルの制限がありません。


ISNOTBLANK

Polaris では、キャリッジ リターン文字だけで構成されたテキスト値が ISNOTBLANK 関数で空白値と見なされます。

Classic エンジンでは、ISNOTBLANK 関数でキャリッジ リターンが非空白値と見なされます。

ITEM

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で ITEM を使用することはできません。Classic エンジンでは使用できます。

Polaris では、Time 引数を一つ指定した状態で ITEM 関数を使用することはできません。Classic エンジンでは使用できます。

LAG

Polaris では、Offset amount 引数が最も近い整数に丸められます。

Classic エンジンでは、Offset amount 引数が 0 の方向に丸められます。

Classic エンジンでは、時間ディメンションでのみ LAG 関数を使用できます。Polaris では、バージョンを除くすべてのディメンションで LAG を使用できます。

LEAD

Polaris では、Offset amount 引数が最も近い整数に丸められます。

Classic エンジンでは、Offset amount 引数が 0 の方向に丸められます。

Classic エンジンでは、時間ディメンションでのみ LEAD 関数を使用できます。Polaris では、バージョンを除くすべてのディメンションで LEAD を使用できます。

LEFT

Polaris では、複合文字を含むものや、基本多言語面 (BMP) 以外の文字を含むものなど、すべてのテキスト値で LEFT 関数が想定通りに動作します。

Classic エンジンでは LEFT 関数で以下のように長さが考慮されます。

  • BMP 内の Unicode 文字は 1 文字分
  • BMP 外の Unicode 文字は 2 文字分
  • 複合文字 (例: アクセントや発音区別符がある文字) の長さはコンポーネント数と等しい
LENGTH

Polaris では、複合文字を含むものや、基本多言語面 (BMP) 以外の文字を含むものなど、すべてのテキスト値で LENGTH 関数が想定通りに動作します。

Classic エンジンでは LENGTH 関数で以下のように長さが考慮されます。

  • BMP 内の Unicode 文字は 1 文字分
  • BMP 外の Unicode 文字は 2 文字分
  • 複合文字 (例: アクセントや発音区別符がある文字) の長さはコンポーネント数と等しい
LOG

Polaris では、Base 引数で正の無限大を使用した場合、LOG 関数で NaN (非数) の値が返されます。

Classic エンジンでは、Base 引数で正の無限大を使用した場合、LOG 関数で 0 が返されます。

LOOKUP

Polaris では、検索する値より大きいタイム スケールで結果ライン アイテムに LOOKUP 関数を使用することはできません。Classic エンジンではこの場合に値 0 が返されます。 

Polaris では、式が設定されているライン アイテムによってマッピングがディメンション化されており、検索する値がそのサブセットでディメンション化されていないと無効な LOOKUP が拒否されます

LOWER

Polaris では、LOWER 関数に Locale 引数を使用できません。

Classic エンジンでは Locale 引数を使用できます。

MAX 集計関数

Polaris では、式集計方法を指定した状態で、ライン アイテムの式でかっこ付きの集計関数 MAX を使用することはできません。

Classic エンジンでは使用できます。

MID

Polaris では、複合文字を含むものや、基本多言語面 (BMP) 以外の文字を含むものなど、すべてのテキスト値で MID 関数が想定通りに動作します。

Classic エンジンでは MID 関数で以下のように長さが考慮されます。

  • BMP 内の Unicode 文字は 1 文字分
  • BMP 外の Unicode 文字は 2 文字分
  • 複合文字 (例: アクセントや発音区別符がある文字) の長さはコンポーネント数と等しい
MIN

Polaris では、空白の日付値と空白以外の日付値を比較すると MIN 関数で非空白値が返されます。

Classic エンジンでは、空白の日付値と空白以外の日付値を比較すると MIN 関数で空白値が返されます。

MIN 集計関数

Polaris では、空白の日付値と空白以外の日付値を比較すると MIN 関数で非空白値が返されます。

Classic エンジンでは、空白の日付値と空白以外の日付値を比較すると MIN 関数で空白値が返されます。

日付に関しては、Polaris では空白のセルが空白、Classic エンジンでは 2399-12-31 として計算されます。数字に関しては、Polaris では空白のセルが 0、Classic エンジンでは正の無限大として計算されます。

Polaris では、式集計方法を指定した状態で、ライン アイテムの式でかっこ付きの集計関数 MIN を使用することはできません。Classic エンジンでは使用できます。

MONTHTODATE

Polaris では、タイム スケールがのライン アイテムで MONTHTODATE 関数を使用できます。

Classic エンジンでは使用できません。

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で MONTHTODATE を使用することはできません。Classic エンジンでは使用できます。

MONTHVALUE

Polaris では、MONTHVALUE 関数より大きいタイム スケールで結果ライン アイテムに MONTHVALUE 関数を使用することはできません。

Classic エンジンではこの場合に値 0 が返されます。

MOVINGSUMPolaris では、式集計方法を指定した状態で、ライン アイテムの式で MOVINGSUM を使用することはできません。Classic エンジンでは使用できます。
MROUNDPolaris では、Number of decimal placesNaN (非数) か 0 に解決される場合、MROUND 関数が 0 を返します。Classic エンジンでは NaN が返されます。
NEXT

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で NEXT を使用することはできません。Classic エンジンでは使用できます。

時間範囲階層外の時間の場合、Polaris ではゼロか空白の値が返されます。Classic エンジンでは、時間範囲階層外の時間に NEXT を適用できます。

Classic エンジンでは、時間ディメンションでのみ NEXT 関数を使用できます。Polaris では、バージョンを除くすべてのディメンションで NEXT を使用できます。バージョンでは NEXTVERSION を使用します。

OFFSET

Polaris では、Offset amount 引数の値が NaN (非数) の場合に Substitute value 引数が返されます。

Classic エンジンでは、NaN の値は 0 と同等です。

Classic エンジンでは、時間ディメンションでのみ OFFSET 関数を使用できます。Polaris では、バージョンを除くすべてのディメンションで OFFSET を使用できます。

演算子と定数

Polaris では >、<、= などの演算子を空白の日付または時間軸の値で使用した場合、値 FALSE が返されます。

Classic エンジンでは、空白以外の日付または時間軸の値は、空白の日付または時間軸の値よりも大きくなります。

Polaris では、>、<、= などの演算子では 1E-14 までわずかな相違が許容されます。Classic エンジンでは、演算子で相違が許容されません。

算術演算子 + と - では、いずれかの日付オペランドが空白だと Polaris では空白の日付が返されます。Classic エンジンでは、空白の日付は使用可能な最小値とみなされます。

算術演算子 * では、いずれかのオペランドが NaN (非数) の場合 Polaris では 0 が返されます。Classic エンジンでは NaN が返されます。

PARENT

Polaris では、時間リスト内のの親はすべての期間です。

Classic エンジンではすべての期間のタイム スケールがになっているため、の親になります。

Polaris では、式の結果が別のタイム スケールに強制的に変更されることはありません。たとえば、タイム スケールがのライン アイテムで、タイムスケールがの結果が式で返される場合、その式は無効です。

Classic エンジンでは、式の結果が別のタイム スケールに強制的に変更されます。たとえば、タイム スケールがのライン アイテムで、タイムスケールがの結果が式で返される場合、の値が自動的に変換されてのライン アイテムに表示されます。

PERIODPolaris では、タイプ時間軸のライン アイテムでのみ PERIOD を使用できます。結果ではタイムスケールがライン アイテム タイプと同じになります。
POST

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で POST を使用することはできません。

Classic エンジンでは使用できます。

POWER

Polaris の場合、POWER(0,0) は 0 を返します。

Classic エンジンの場合、POWER(0,0) は 1 を返します。

PREVIOUS

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で PREVIOUS を使用することはできません。Classic エンジンでは使用できます。

Classic エンジンでは、時間ディメンションでのみ PREVIOUS 関数を使用できます。Polaris では、すべてのディメンションで PREVIOUS を使用できます。

PROFILE

Polaris では、式が適用されるライン アイテムのディメンションにルックアップ ディメンションを関連付けることはできません。

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で PROFILE を使用することはできません。Classic エンジンでは使用できます。

QUARTERTODATE

Polaris では、タイム スケールが四半期のライン アイテムで QUARTERTODATE 関数を使用できます。

Classic エンジンでは使用できません。

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で QUARTERTODATE を使用することはできません。Classic エンジンでは使用できます。

QUARTERVALUE

Polaris で QUARTERVALUE 関数を使用するには、[Model Calendar] で [Quarter Totals] を有効化する必要があります。Classic エンジンでは、[Model Calendar] で [Quarter Totals] が有効化されているかどうかに関係なく QUARTERVALUE 関数を使用できます。

Polaris では、QUARTERVALUE 関数より大きいタイム スケールで結果ライン アイテムに QUARTERVALUE 関数を使用することはできません。Classic エンジンではこの場合に値 0 が返されます。

RANK

以下の場合には Polaris で RANK を使用できません。

  • ターゲットがライン アイテム サブセットでディメンション化されている
  • ライン アイテム サブセットでディメンション化されたライン アイテムをいずれかの引数が参照している

Classic では、Include value 引数の値が FALSE の場合、ランキングから値が除外され、結果として NaN (非数) が返されます。Polaris では値として 0 (ゼロ) が返されます。

Classic では、Ranking groups 引数にテキスト データ型を使用できます。Polaris では使用できません。

Polaris にはセルの上限がありません。Classic ではセルの上限が 5,000 万個までとなっています。

Classic では、無限大と NaN は自動的に RANK 関数から除外され、結果として NaN が返されます。Polaris では、NaN 値は自動的に RANK 関数から除外され、結果として 0 が返されます。無限大も削除されます。

RANKCUMULATE

Polaris では、ターゲットがライン アイテム サブセットでディメンション化されている場合、又は関数でライン アイテム サブセットを参照している場合は RANKCUMULATE を使用できません。

Polaris にはセルの上限がありません。Classic ではセルの上限が 5,000 万個までとなっています。

Polaris では無限大がサポートされていませんが、Classic ではサポートされています。Classic では、累積ソースに無限大が含まれる場合、それ以降の結果は累積が終了するまでその無限大になります。ただし、逆の無限大がその後に来る場合、結果は NaN (非数) になります。Polaris では無限大の代わりに NaN が返されます。

Polaris では空白が整列されないため、ランク付けできません。RANKCUMULATE では、ランキング値が空白の場合にゼロが返されます。

Polaris では、ランキング値を BLANK リテラルにすることができます。たとえば、RANKCUMULATE(1, BLANK) は有効になります (ただし、この場合、関数では常にゼロが返されます)。

RIGHT

Polaris では、複合文字を含むものや、基本多言語面 (BMP) 以外の文字を含むものなど、すべてのテキスト値で RIGHT 関数が想定通りに動作します。

Classic エンジンでは RIGHT 関数で以下のように長さが考慮されます。

  • BMP 内の Unicode 文字は 1 文字分
  • BMP 外の Unicode 文字は 2 文字分
  • 複合文字 (例: アクセントや発音区別符がある文字) の長さはコンポーネント数と等しい
ROUND

Polaris では、ROUND 関数で丸め方法として常に EXACT が使用されます。そのため、Rounding method 引数を指定することができません。Classic エンジンでは、Rounding method 引数で EXACT を指定している場合を除き、ROUND 関数で丸め方法として NORMAL が使用されます。

Polaris では、Number to round が 0 で、Number of decimal placesNaN (非数) の場合、ROUND 関数が 0 を返します。Classic エンジンでは NaN が返されます。

Polaris では、Number to round が 0 ではなく、Number of decimal placesNaN (非数) の場合、ROUND 関数が NaN を返します。 Classic エンジンでは NaN が返されます。

Polaris では、Number of decimal places が整数ではない場合、Number of decimal places が最も近い整数に丸められます。Classic エンジンでは、このケースでは Rounding method として NORMAL がサポートされていません。Rounding method が EXACT の場合には 0 の方向に丸めまられます。

Polaris では、Number of decimal places が負の無限大か -308.5 未満の場合、想定通りに 0、負の無限大、又は無限大が返されます。Number of decimal places が無限大か 308.5 より大きい場合、ROUND 関数は Number to round を返します。Classic エンジンでは、いずれの場合も NaN (非数) が返されます。

Polaris では、Rounding direction が UP、DOWN、AWAYFROMZERO、又は TOWARDSZERO で、表現できないほど結果が小さい場合は、可能ななかで最も小さい数字が返されます。同様のケースで、Classic エンジンでは、Rounding method が EXACT の場合に 0 が返されます。

Polaris では、Number to round が負、Rounding direction が NEAREST、Number of decimal places が負の場合に 0 とは逆の方向に丸められます。同様のケースで、Classic エンジンでは 0 の方向に丸められます。

SELECT

Polaris では、SELECT の参照は式ではなくリテラルにする必要があります。

Classic エンジンの場合、SELECT では Time.'Current Period' とリテラル オフセットの時間軸でのみ式を使用できます。

SPREAD

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で SPREAD を使用することはできません。

Classic エンジンでは使用できます。

SUBSTITUTE

Polaris では、SUBSTITUTE 関数で複合文字の基本文字が照合されません。たとえば、SUBSTITUTE 関数では、「â」に「a」が含まれているとは見なされません。また「が」に「か」が含まれているとは見なされません。

Classic エンジンでは、SUBSTITUTE 関数で複合文字の基本文字が照合されます。たとえば、SUBSTITUTE 関数では、「â」に「a」が含まれているとは見なされます。また「が」に「か」が含まれていると見なされます。

SUM 集計関数Polaris では、式集計方法を指定した状態で、ライン アイテムの式でかっこ付きの集計関数 SUM を使用することはできません。Classic エンジンでは使用できます。
TEXT

Polaris では、NaN の数値で TEXT 関数を使用した場合に NaN (非数) のテキスト値が返されます。

Classic エンジンでは、NaN の数値で TEXT 関数を使用した場合に空白値が返されます。

TIMESUM

Polaris では、Line item to aggregate 引数にはタイプとして数値かブール値しか使用できません。Classic では、タイプが数値、ブール値、日付、リスト、テキストのライン アイテムを使用できます。

Polaris では、Start period 引数に値を指定して End period 引数に値を指定しなかった場合、TIMESUM 関数では Start period 引数で指定した開始期間から該当する時間範囲の終了までのすべての値が集計されます。Classic では、Start period の値が返されます。

Polaris では、Start period 引数と End period 引数に日付値を使用した場合は想定通りに動作します。Classic では、Start period は集計が終了する期間内の日付になり、End period は集計が始まる期間内の日付になります。

Polaris では、Start periodEnd period が時間ディメンションの範囲外の場合、TIMESUM は 0 を返します。

TRIM

現在 Polaris では TRIM 関数を使用できません。

Classic エンジンでは、TRIM 関数は先頭と末尾のすべてのスペース、及びテキスト文字列の単語間の余分なスペースを削除します。

UPPER

Polaris では、UPPER 関数に Locale 引数を使用できません。

Classic エンジンでは Locale 引数を使用できます。

VALUE

Polaris では、数値の非 10 進数表現 (例: "0x11.11p0") で VALUE 関数が NaN (非数) を返します。

Classic エンジンでは、数値の非 10 進数表現が必ずしも NaN を返すとは限りません。

WEEKDAY

Polaris では Day offset 引数に小数値を使用できます。小数値は最も近い整数に丸められます。1 ~ 7 の範囲外の値を使用すると値として 0 が返されます。

Classic エンジンでは、Day offset 引数で整数を使用する必要があります。

WEEKTODATE

Polaris では、タイム スケールがのライン アイテムで WEEKTODATE 関数を使用できます。

Classic エンジンでは使用できません。

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で WEEKTODATE を使用することはできません。Classic エンジンでは使用できます。

WEEKVALUE

Polaris では、WEEKVALUE 関数より大きいタイム スケールで結果ライン アイテムに WEEKVALUE 関数を使用することはできません。

Classic エンジンではこの場合に値 0 が返されます。

YEARTODATE

Polaris では、タイム スケールがのライン アイテムで YEARTODATE 関数を使用できます。

Classic エンジンでは使用できません。

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で YEARTODATE を使用することはできません。Classic エンジンでは使用できます。

YEARVALUE

Polaris では、YEARVALUE 関数より大きいタイム スケールで結果ライン アイテムに YEARVALUE 関数を使用することはできません。

Classic エンジンではこの場合に値 0 が返されます。

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で YEARVALUE を使用することはできません。Classic エンジンでは使用できます。

Polaris エンジンでは、整数引数の解決された値が直近の整数に丸められます。値が小数 0.5 の場合は 0 とは逆の方向に丸められます。たとえば、0.5 は切り上げられ、-0.5 は切り下げられます。Classic エンジンでは、丸めルールが関数によって異なります。

Polaris では、コール センター プランニング関数と財務関数の大半など、一部の関数が使用できません。以下はその例です。