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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Asignación de fórmula de costes

Buenos días

La tabla siguiente muestra un proyecto # y en ciertos casos varias ubicaciones por proyecto. El costo de cada proyecto se carga en la ubicación "central", como se muestra en el ejemplo siguiente. Me gustaría crear una fórmula que asigne uniformemente el costo cobrado en la ubicación central a los estados dentro de cada proyecto. Por ejemplo, en el proyecto C 150k se asignará uniformemente a MA & KY. ¿Alguien puede ayudar?

proyecto # ubicacióncostar
Acentral 200,000.00
ANuevo0
Bcentral 300,000.00
BLA0
Ccentral 300,000.00
Cpero0
CKy0
Dcentral 150,000.00
Ecentral 10,000.00
EWy0
Eel0
Ecomo0
2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

@dw700d

¿Es esto lo que quieres?

Column = if('Table'[Location]="Central",'Table'[Cost],maxx(FILTER('Table','Table'[Project#            ]=EARLIER('Table'[Project#            ])&&'Table'[Location]="Central"),'Table'[Cost]/CALCULATE(COUNTROWS('Table'),'Table'[Location]<>"Central",ALLEXCEPT('Table','Table'[Project#            ]))))

1.PNG

View solution in original post

No @dw700d,

Lo que @ryan_mayu creó es una columna personalizada con lenguaje M en el Editor de consultas de energía.

Si desea crear una columna o una medida con DAX, intente lo siguiente:

Column =
VAR Cost_ =
    CALCULATE ( SUM ( 'Table'[Cost] ), ALLEXCEPT ( 'Table', 'Table'[Project#] ) )
VAR LocationCount =
    CALCULATE (
        COUNT ( 'Table'[Location] ),
        FILTER (
            ALLEXCEPT ( 'Table', 'Table'[Project#] ),
            'Table'[Location] <> "Central"
        )
    )
RETURN
    IF ( 'Table'[Location] = "Central", [Cost], DIVIDE ( Cost_, LocationCount ) )

Column.PNG

Measure =
VAR Cost_ =
    CALCULATE ( SUM ( 'Table'[Cost] ), ALLEXCEPT ( 'Table', 'Table'[Project#] ) )
VAR LocationCount =
    CALCULATE (
        COUNT ( 'Table'[Location] ),
        FILTER (
            ALLEXCEPT ( 'Table', 'Table'[Project#] ),
            'Table'[Location] <> "Central"
        )
    )
RETURN
    IF ( MAX( 'Table'[Location] ) = "Central", Cost_, DIVIDE ( Cost_, LocationCount ) )

Measure.PNG

Saludos

Helado

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hola, @dw700d

Por favor, pruebe la siguiente medida DAX.

Costo asignado uniformemente =
IF (
CALCULAR (
COUNT ( 'Tabla'[Proyecto#] ),
ALLEXCEPT ( 'Tabla', 'Tabla'[Proyecto#] )
) > 1,
IF (
SELECTEDVALUE ( 'Tabla'[Ubicación] ) = "Central",
EN BLANCO (),
DIVIDE (
CALCULATE ( SUM ( 'Table'[Cost] ), ALLEXCEPT ( 'Table', 'Table'[Project#] ),
CALCULAR (
COUNT ( 'Tabla'[Proyecto#] ),
ALLEXCEPT ( 'Tabla', 'Tabla'[Proyecto#] )
) - 1
)
),
CALCULATE ( SUM ( 'Table'[Cost] ), ALLEXCEPT ( 'Table', 'Table'[Project#] ) )
)

Hola, mi nombre es Jihwan Kim.

Si este post ayuda, entonces considere aceptarlo como la solución para ayudar a otros miembros a encontrarlo más rápido, y dar un gran pulgar hacia arriba.

@Jihwan_Kim

Gracias por la repsonse. Los números no se asignan correctamente. ¿Alguna otra sugerencia?

dw700d_0-1617637107205.png

hola

Si está bien con usted, ¿puedo ver su archivo pbix de ejemplo que utilizó la medida para lo anterior?

Syndicate_Admin
Administrator
Administrator

@dw700d

¿Es esto lo que quieres?

Column = if('Table'[Location]="Central",'Table'[Cost],maxx(FILTER('Table','Table'[Project#            ]=EARLIER('Table'[Project#            ])&&'Table'[Location]="Central"),'Table'[Cost]/CALCULATE(COUNTROWS('Table'),'Table'[Location]<>"Central",ALLEXCEPT('Table','Table'[Project#            ]))))

1.PNG

@ryan_mayu

Gracias Ryan no puedo superar la declaración if. No reconoce mi tabla o columnas. ¿Podría faltar algo en la medida?

dw700d_1-1617637677874.png

No @dw700d,

Lo que @ryan_mayu creó es una columna personalizada con lenguaje M en el Editor de consultas de energía.

Si desea crear una columna o una medida con DAX, intente lo siguiente:

Column =
VAR Cost_ =
    CALCULATE ( SUM ( 'Table'[Cost] ), ALLEXCEPT ( 'Table', 'Table'[Project#] ) )
VAR LocationCount =
    CALCULATE (
        COUNT ( 'Table'[Location] ),
        FILTER (
            ALLEXCEPT ( 'Table', 'Table'[Project#] ),
            'Table'[Location] <> "Central"
        )
    )
RETURN
    IF ( 'Table'[Location] = "Central", [Cost], DIVIDE ( Cost_, LocationCount ) )

Column.PNG

Measure =
VAR Cost_ =
    CALCULATE ( SUM ( 'Table'[Cost] ), ALLEXCEPT ( 'Table', 'Table'[Project#] ) )
VAR LocationCount =
    CALCULATE (
        COUNT ( 'Table'[Location] ),
        FILTER (
            ALLEXCEPT ( 'Table', 'Table'[Project#] ),
            'Table'[Location] <> "Central"
        )
    )
RETURN
    IF ( MAX( 'Table'[Location] ) = "Central", Cost_, DIVIDE ( Cost_, LocationCount ) )

Measure.PNG

Saludos

Helado

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

@dw700d

¿Está creando una medida o una columna? mi solución es para una nueva columna, no una medida. ¿Quieres una solución para una medida?

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors