Come visualizzare il totale di un livello come valore dell'ultimo figlio in MDX

StackOverflow https://stackoverflow.com/questions/120616

  •  02-07-2019
  •  | 
  •  

Domanda

Ho una query MDX che elenca una misura per tutti i livelli "Settimana" e "Giorno" nel database OLAP. Ad esempio

SELECT 
{
    HIERARCHIZE( {[Business Time].[Week].members, [Business Time].[Date].members} )
} 
ON ROWS,
{
    [Measures].[Quantity]
} 
ON COLUMNS 
FROM [Sales]

Laddove la misura viene visualizzata per una settimana, invece di mostrare il totale di tutti i valori del giorno, vorrei mostrare il valore dell'ultimo giorno della settimana. Ad esempio

Settimana 1: 12
15 settembre: 10
16 settembre: 20
17 settembre: 12
18 settembre: 15
19 settembre: 8
20 settembre: 9
21 settembre: 12
Settimana 2: 15
22 settembre: 12
23 settembre: 15

Come posso raggiungere questo obiettivo in MDX?

È stato utile?

Soluzione

Aggiungi una nuova misura calcolata all'inizio del tuo MDX che mostra il valore dell'ultimo giorno solo se viene mostrato a livello di settimana, altrimenti lascialo inalterato:

WITH MEMBER [Measures].[Blah] AS 
'IIF(
   [Business Time].currentMember.level.name = "Week",
   ([Business Time].currentMember.lastChild, [Measures].[Quantity]),
   ([Business Time].currentMember, [Measures].[Quantity])
)'

Mi aspetto che un cliente abbia richiesto questa strana richiesta e prevedo che tra un mese nello stesso ufficio riceverai una chiamata da qualcuno nello stesso ufficio, dicendo che il "totale" settimanale è sbagliato in questo rapporto!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top