Drill-through ricorsivo in un mapping di generazioni

Questo caso d'uso prevede il mapping di un nome generazione a un nome colonna e l'esecuzione del report su una generazione superiore qualsiasi.

L'utente eseguirà il report drill-through sul membro Year e il mapping alla generazione Month. La query generata non contiene una condizione WHERE per Month.

Il risultato include tutti i dati per la colonna Year nella colonna dell'origine dati (tutti i mesi).

Quando non esiste un mapping a una generazione particolare, individuare le generazioni sottostanti la generazione selezionata. Verificare se esiste un mapping di colonne a una qualsiasi di queste generazioni nella stessa dimensione. Se il mapping esiste, recuperare gli elementi figlio dalla generazione interessata e generare una query in cui tutti questi membri vengano aggiunti alla condizione WHERE.

Immagine della schermata per il mapping di un nome generazione a un nome colonna per il drill-through ricorsivo.

La colonna dell'origine dati è mappata alla generazione Month nella dimensione Year.

  • Generazioni per la dimensione Year: History, Quarter, Month

  • Mapping colonne per Year (dsColumn) == Month (gen)

"columnMapping" : {
 "Product" : "Product SKU",
 Region" : "Region",
 "\"Year\"" : "Month",
 "Scenario" : "Scenario"   
},

Livello superiore

Quando il report viene eseguito con Year nell'intersezione, il nome generazione effettivo è History e la generazione non è mappata. La generazione successiva è Quarter, che non è mappata. La generazione seguente è Month, che è mappata.

Nella dimensione Year recuperare tutti i membri dalla generazione Month:

(Qtr1) Jan, Feb,Mar : (Qtr2) Apr, May, Jun : (Qtr3) Jul, Aug, Sep : (Qtr4) Oct, Nov, Dec

Di seguito viene riportato un esempio di query di livello superiore:

Select Product, Region, Market, “Year” from Excel_DS where Product = ‘100-20’ and 
Region = ‘East’ and “Year” IN (Jan, Feb, Mar, Apr, May, Jun,  Jul, Aug, Sep, Oct, Nov, Dec)

Livello intermediol

Quando il report viene eseguito con Quarter nell'intersezione, il nome generazione effettivo è Quarter e la generazione non è mappata. La generazione successiva è Month, che è mappata.

Nella dimensione Year per il trimestre selezionato Qtr1, recuperare tutti gli elementi figlio per la generazione Month:

(Qtr1) Jan, Feb, Mar

Di seguito viene riportato un esempio di query di livello intermedio:

Select Product, Region, Market, “Year” from Excel_DS where Product = ‘100-20’ and 
Region = ‘East’ and “Year” IN (Jan, Feb, Mar)

Livello mappato

Quando il report viene eseguito con Month nell'intersezione, il nome generazione effettivo è Month e la generazione è mappata alla dimensione Year per il mese selezionato Jan.

Di seguito viene riportato un esempio di query di livello mappato:

Select Product, Region, Market, “Year” from Excel_DS where Product = ‘100-20’ and
 Region = ‘East’ and “Year” IN (Jan)
OR
Select Product, Region, Market, “Year” from Excel_DS where Product = ‘100-20’ and
 Region = ‘East’ and “Year” = ‘Jan’