Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Total acumulado basado en la medida RANKX

He heredado un modelo de datos terrible y adjunto está el ejemplo mínimamente reproducible para abordar el problema actual al que me enfrento.

Hay dos tablas que tienen relación M-M y ninguna de ellas tiene ninguna columna de fecha. En el proceso de análisis, hay una medida llamada ' restante ' se crea y estoy haciendo un rango de grupo ' restante ' por ' alt1'. Una vez que se realiza la clasificación, quiero lograr un total acumulado del grupo ' restante ' por 'alt1'.

Estoy recibiendo esto

smpa01_0-1668553953216.png

Estoy deseando esto (sin tener que hacer ningún cambio en el modelo de datos en absoluto)

| alt1 | alt2  | cost        | sales       | remaining   | rank | rnt         |
|------|-------|-------------|-------------|-------------|------|-------------|
| aus1 | amr21 | $10,805.00  | $10,805.00  | $0.00       | 1    | $0.00       |
| aus1 | amr23 | $260.00     | $260.00     | $0.00       | 1    | $0.00       |
| aus1 | amr24 | $10,776.00  | $4,184.24   | $6,591.76   | 3    | $6,591.76   |
| aus1 | amr26 | $52,277.00  | $4,000.00   | $48,277.00  | 6    | $54,868.76  |
| aus2 | amr22 | $22,916.00  | $9,621.95   | $13,294.05  | 4    | $13,294.05  |
| aus2 | amr25 | $2,859.00   | $2,859.00   | $0.00       | 1    | $0.00       |
| aus2 | amr27 | $2,988.00   | $2,988.00   | $0.00       | 1    | $0.00       |
| aus3 | amr29 | $4,019.00   | $3,423.36   | $595.64     | 2    | $595.84     |
| aus3 | amr32 | $512.00     | $511.80     | $0.20       | 1    | $0.20       |

@AlexisOlson Seguí esto , pero no pude llegar a funcionar.

@CNENFRNL

Gracias de antemano.

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Estás iterando sobre la granularidad incorrecta. Debe iterar sobre la granularidad a la que corresponde su clasificación.

Prueba esto:

rnt = 
var _currentRank = [rank]
VAR _grain = CALCULATETABLE ( VALUES ( sales[alt2] ), ALLSELECTED ( sales[alt2] ) )
return
    SUMX (  FILTER ( _grain, [rank] <= _currentRank ), [remaining] ) 

Incluso puede simplificar esto a

rnt = 
var _currentRank = [rank]
return
    SUMX (  FILTER ( ALLSELECTED ( sales[alt2] ), [rank] <= _currentRank ), [remaining] ) 

pero no recomiendo usar ALLSELECTED dentro de iteradores.

@AlexisOlson ¡¡¡Gracias, señor!!!

Syndicate_Admin
Administrator
Administrator

@smpa01 ,

¿En qué se basa la medida rankx creada y puede proporcionar la fórmula relevante para crearla? Esperamos su respuesta.


Saludos
Henrio

@v-henryk-mstf gracias por su respuesta. Por favor, eche un vistazo a la pbix adjunta. Contiene todos los cálculos correspondientes.

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.