No se puede crear un depósito de antigüedad adecuado de Tableau a Power BI

Un usuario Pregunto ✅

MR007

hemos creado Spend Bucket usando las siguientes fórmulas de Tableau:

Pago por cuenta = { FIJO [Vendor Name]:suma(ABS([Grss Amnt Usd]))}

al usar esto, ha creado Spend Bucket como se muestra a continuación:

Cubo de gastos =

SI[Payment Per Account]<=1000000 luego "0-1M"
ELSEIF [Payment Per Account]>1000000 y [Payment Per Account]<=5000000 ENTONCES "1-5M"
ELSEIF [Payment Per Account]>5000000 y [Payment Per Account]<=10000000 ENTONCES "5-10M"
ELSEIF [Payment Per Account]>10000000 y [Payment Per Account]<=100000000 ENTONCES "10-100M"
ELSEIF [Payment Per Account]> 100000000 luego «>100M»

FIN

He migrado estas fórmulas en Power BI de la siguiente manera:

han creado por debajo de la medida,

Payment_per_account=CALCULAR(ABS(SUMA(tm_ce_bussiness_scorecard_fact[grss_amnt_usd])),ALLEXCEPT(tm_ce_bussiness_scorecard_fact,tm_ce_bussiness_scorecard_fact[Vendor Name]))

y columna para Spend Bucket como,
Cubo de gastos = INTERRUPTOR (VERDADERO (),
[Payment per account_test] <= 1000000, "1) 0-1M",
[Payment per account_test] >1000000 && [Payment per account_test] <= 5000000 , "2) 1-5M",
[Payment per account_test] >5000000 && [Payment per account_test]<= 10000000, "3) 5-10M",
[Payment per account_test] >10000000 && [Payment per account_test] <= 100000000, "4) 10-100M",
[Payment per account_test] >100000000 , «5) >100M»)
Esto me está dando números exactos, pero los números no coinciden tan pronto como estoy filtrando por mes o año.
Por favor, sugiera/ayúdeme a resolver este problema.
Gracias de antemano.

lbendlin

Puede simplificar la fórmula del depósito de gastos

Spend Bucket = SWITCH(TRUE(),
[Payment per account] <= 1000000, "1) 0-1M",
[Payment per account] <= 5000000 , "2) 1-5M",
[Payment per account] <= 10000000 , "3) 5-10M",
[Payment per account] <= 100000000 , "4) 10-100M",
"5) >100M")

Si no desea que su filtro de mes o año afecte el depósito, debe agregar esa exclusión a su medida (algo así como TODOS (año), etc.)

Hola @MR007,

¿Quería crear un campo calculado que pueda reconocer estos registros para establecer la categoría de rango de ellos? Si ese es el csae, algun regular en estas condiciones para armar categorias?
AFAIK, estos tipos de fórmulas se definen por el rango de ‘inicio/fin’, rangos exceptuados, rangos con compensaciones regulares. Si su escenario cumple con esto, puede consultar la siguiente fórmula para usar una condición dinámica para reemplazar múltiples condiciones de rango regular.

Spend Bucket =
VAR currPay = [Payment per account_test] / 1000000
VAR offset = 5
VAR _rate =
    INT ( currPay / offset )
RETURN
    SWITCH (
        TRUE (),
        //start
        currPay <= 1, "0-1M",
        //first
        currPay > 1
            && currPay <= offset, "1-5M",
        //regular ranges
        currPay > _rate * offset
            && currPay <= ( _rate + 1 ) * offset,
            _rate * offset & "-" & _rate * offset & "M",
        //last
        currPay > 96
            && currPay <= 100, "96-100M",
        //end
        currPay > 100, ">100M"
    )

Saludos,
Xiaoxin-sheng

lbendlin

Puede simplificar la fórmula del depósito de gastos

Spend Bucket = SWITCH(TRUE(),
[Payment per account] <= 1000000, "1) 0-1M",
[Payment per account] <= 5000000 , "2) 1-5M",
[Payment per account] <= 10000000 , "3) 5-10M",
[Payment per account] <= 100000000 , "4) 10-100M",
"5) >100M")

Si no desea que su filtro de mes o año afecte el depósito, debe agregar esa exclusión a su medida (algo así como TODOS (año), etc.)

Mhnsan1113

En respuesta a lbendlin

aún enfrenta el problema, no se realiza el agrupamiento adecuado. creó 2 fórmulas

1) medida:

1.importe-bruto-TODOexcepto = CALCULAR([gross amt ABS],TODO SELECCIONADO(tbvw_bussiness_scorecard_pot_vw[vendor name]), ALLEXCEPT(tbvw_bussiness_scorecard_pot_vw,tbvw_bussiness_scorecard_pot_vw[vendor name]))
columna
1aa.spend bucket_ALL Excepto =
SI([1.gross-amt-ALLexcept]<=1000000, " 0-1M",
SI([1.gross-amt-ALLexcept]>1000000 && [1.gross-amt-ALLexcept] <=5000000, " 1-5M",
SI([1.gross-amt-ALLexcept]>5000000 && [1.gross-amt-ALLexcept] <=10000000, "5-10M",
SI([1.gross-amt-ALLexcept]>10000000 && [1.gross-amt-ALLexcept]<=100000000, "10-100M",
» >100M»
))))
el filtro del tablero externo no se aplica, por ejemplo, a continuación
Mhnsan1113_0-1630052880878.pngMhnsan1113_1-1630052957873.png

Selecciono el nombre de un proveedor y los campos calculados arriba están resaltados en amarillo. Tan pronto como filtro, obtengo el gasto bycke> 100m y 1.gross-amt-ALLexcept es 131,923,680 sin problemas. Tan pronto como filtre para decir Jan’20

Mhnsan1113_4-1630053376690.pngMhnsan1113_5-1630053407233.png

todavía me da 131923680 y >100 millones, en realidad, la cantidad debería haber mostrado 18548491 y el cubo debería haber sido 10-100 millones

¿Puedes por favor cómo arreglar esto?

gracias de antemano

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *