Ordine di soluzione nelle formule membro

SolveOrder è una proprietà metadati che può essere impostata per una dimensione o per un membro e che definisce l'ordine di valutazione dei membri. L'ordine di soluzione viene applicato durante l'esecuzione della query.

La proprietà SolveOrder può condizionare le prestazioni della query. Il valore della proprietà SolveOrder determina la priorità di calcolo della formula membro. La formula nei membri con ordine di soluzione specificato viene calcolata dal valore di ordine di soluzione più basso al più alto. Quando una formula membro dipende dal valore di un altro membro di calcolo dinamico, il membro con la formula deve avere un ordine di soluzione più alto rispetto al membro di calcolo dinamico da cui dipende.

Tabella 12-15 Impostazioni dell'ordine di soluzione predefinite

Tipo di dimensione Valore SolveOrder predefinito
Membro memorizzato 0
Dimensione sparsa 10
Dimensione densa - Conto 30
Dimensione densa - Tempo 40
Dimensione densa - Conto a due passaggi 60
Dimensione densa - Tempo a due passaggi 70
A due passaggi 100
Dimensione attributo 90

Se una formula membro sparso fa riferimento a un membro denso con memorizzazione dati 'DynamicCalc', il riferimento verrà ignorato perché, per impostazione predefinita, le dimensioni sparse vengono calcolate per prime (impostazione SolveOrder predefinita sparsa: 10, impostazione SolveOrder predefinita conto denso: 30). Questo funzionamento può essere modificato assegnando alla dimensione sparsa un ordine di soluzione customizzato più alto di quello della dimensione densa.

Esempio:

membri con proprietà SolveOrder diverse e valutazione corrispondente.

Dimensione 1:

  • Conti

  • A1

  • A2

  • Rapporto – Formula membro [A1 / A2]

Dimensione 2:

  • DataSource

  • DataInput

  • CustomInput

  • Varianza – Formula membro [DataInput - CustomInput]

Esaminare il set di dati seguente per le intersezioni relative al periodo del mese di Gennaio:


Esempio di ordine di soluzione per Gennaio

Calcoli con valori SolveOrder diversi per rapporto e varianza

Caso 1: rapporto con valore SolveOrder più alto rispetto alla varianza

In questo caso, la varianza verrà calcolata per prima e il rapporto corrispondente successivamente.


Esempio di rapporto per ordine di soluzione

Il rapporto della varianza verrà calcolato con la formula (varianza->A1)/(varianza->A2).


Esempio di rapporto e varianza

Caso 2: rapporto con valore SolveOrder più basso rispetto alla varianza

In questo caso, il rapporto verrà calcolato per primo e la varianza corrispondente successivamente.


Esempio di rapporto più basso rispetto alla varianza

La varianza del rapporto verrà calcolata con la formula (rapporto->DataInput) – (rapporto->CustomInput).


Esempio di rapporto più basso rispetto alla varianza