Come usare RANKX
Inviato: mar 8 feb 2022, 13:21
Buongiorno a tutti,
vorrei usare la funzione RANKX, ma risulta molto lenta nell'elaborazione, presumo perchè è un iteratore e le righe della fact table sono "molte", però volevo una conferma da chi ha più esperienza ed eventualmente consigli sull'utilizzo "corretto", se sto prendendo qualche cantonata. Il modello dati è questo:
Dimensioni:
Articoli (65k righe)
Fornitori (2.7k righe)
Fatti:
IngressiMateriali (700k righe), composto da: articolo, fornitore, data, qta, valore
Voglio fare il ranking in base al fatturato, come somma di "valore"
e uso questa formula DAX per il ranking degli articoli:
al momento inserisco il ranking in una matrice con in riga Fornitore e articolo. Evidenzio che, in particolare nella dimensione Articoli, ci sono codici articolo che non sono presenti nella tabella fatti (sono codici di produzione interna, ma non ho sistemi "sicuri" per escluderli, anche perchè in alcuni casi possono passare da interni ad acquisto, in periodi diversi).
Il ranking lo volevo usare per creare poi un abc degli articoli... ma se già al primo step la (non) velocità è questa... mi tocca fermarmi.
Grazie per un eventuale aiuto
vorrei usare la funzione RANKX, ma risulta molto lenta nell'elaborazione, presumo perchè è un iteratore e le righe della fact table sono "molte", però volevo una conferma da chi ha più esperienza ed eventualmente consigli sull'utilizzo "corretto", se sto prendendo qualche cantonata. Il modello dati è questo:
Dimensioni:
Articoli (65k righe)
Fornitori (2.7k righe)
Fatti:
IngressiMateriali (700k righe), composto da: articolo, fornitore, data, qta, valore
Voglio fare il ranking in base al fatturato, come somma di "valore"
Codice: Seleziona tutto
Fatturato = sum(IngressiMateriali[valore])
Codice: Seleziona tutto
Ranking Articoli su Fatturato =
VAR vRank = RANKX(ALL(dimArticoli[Articolo] ),[Fatturato])
VAR vResult = IF('Misure DAX'[Fatturato]<> BLANK(),vRank)
RETURN
vResult
Il ranking lo volevo usare per creare poi un abc degli articoli... ma se già al primo step la (non) velocità è questa... mi tocca fermarmi.
Grazie per un eventuale aiuto