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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Necesita ayuda para calcular la SUMA de casos para origen y destino

Hola a todos,

Estoy tratando de calcular la suma de los casos en función de la fuente y el destino para cada período.

los datos se ven como abajo

añoPeríodoPlataformaNombre del escenarioFuenteDestinoCaso
2020p6PretzelPretzel ADallasHouston6
2020p6TcTcDallasHouston8
2020P6chifladochifladoDallasHouston9
2020P6FritoFritoAustinMiami11
2020P5PcPcDallasHouston7
2020P5SumergeSumergeDallasHouston10
2020p5PretzelPretzel ADallasHouston11
2020p6PretzelPretzel AAberdeenBrooklyn7


Cuando elijo Pretzel A en la columna Nombre del escenario,

la salida esperada se ve como abajo

añoPeríodoPlataformaNombre del escenarioFuenteDestinoCaso
2020P6PretzelPretzel ADallasHouston6 + (8 + 9)
2020P6TcTcDallasHouston8 + (6+9)

Capture.PNG

Aquí...

Necesito obtener la suma de todos los casos agrupados por fuente - destino & Año-período combinación donde

para un nombre de escenario (en este caso, Pretzel A) que tienen Origen y destino similares a otros nombres de escenario (como Dallas y Houston)

Estoy teniendo dificultades para ponerlo en palabras, así que se puede imaginar, que, cómo puedo hacer que funcione en powerbi usando DAX.

Necesito algunas sugerencias si es posible usando DAX, si lo es, ¿puede alguien por favor guiar.

Gracias

Mohan V.

11 REPLIES 11
v-alq-msft
Community Support
Community Support

Hola, @MohanV

Si usted toma la respuesta de alguien, por favor márquela como la solución para ayudar a los otros miembros que tienen los mismos problemas a encontrarla más rápidamente. Si no, avísame y trataré de ayudarte más. Gracias.

Saludos

Allan

v-alq-msft
Community Support
Community Support

Hola, @MohanV

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

a1.png

Puede crear una columna calculada o una medida como se indica a continuación.

Calculated column:
Grouped Sum Column = 
var _yearperiod = [Year-Period]
var _source = [Source]
var _destination = [Destination]
return
CALCULATE(
    SUM('Table'[Case]),
    FILTER(
        ALL('Table'),
        'Table'[Year-Period]=_yearperiod&&
        'Table'[Source]=_source&&
        'Table'[Destination]=_destination&&
        NOT(CONTAINSSTRINGEXACT('Table'[Scenario Name],"- THIN REG"))
    )
)

Measure:
Grouped Sum measure = 
var _yearperiod = SELECTEDVALUE('Table'[Year-Period])
var _source = SELECTEDVALUE('Table'[Source])
var _destination = SELECTEDVALUE('Table'[Destination])
return
CALCULATE(
    SUM('Table'[Case]),
    FILTER(
        ALL('Table'),
        'Table'[Year-Period]=_yearperiod&&
        'Table'[Source]=_source&&
        'Table'[Destination]=_destination&&
        NOT(CONTAINSSTRINGEXACT('Table'[Scenario Name],"- THIN REG"))
    )
)

Resultado:

a2.png

Saludos

Allan

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

@v-alq-msft Gracias por tu ayuda.

Muy apreciado.

Hice algunas modificaciones basadas en su código, ya que dio una cadena contenida codificada de forma rígida.

Lo que hice es, agregué la columna Index en la tabla, y en base a eso calculé el recuento de plataformas usando debajo de DAX

PlatformCount = 
CALCULATE (
    COUNT ( MasterTable[Platform] ),
    FILTER (
        ALLEXCEPT('MasterTable',MasterTable[Year-Period],MasterTable[Source-Dest]),
        [Index] <= EARLIER ( 'MasterTable'[Index] )
            && [Platform] = EARLIER ( 'MasterTable'[Platform])
    )
)

Ahora en lugar de la función CONTAINSTRING cambié el código a abajo dax.

Grouped Sum Column = 
var _yearperiod = [Year-Period]
var _source = [Source]
var _destination = [Destination]
Var _Platform = [Platform]
VAR _Scenario = MasterTable[Scenario Name]
return
CALCULATE(
    SUM('MasterTable'[_Cases]),
    FILTER(
        ALL('MasterTable'),
        'MasterTable'[Year-Period]=_yearperiod&&

        'MasterTable'[Source]=_source&&
        'MasterTable'[Destination]=_destination&&
        MasterTable[PlatformCount]=1
        //NOT(CONTAINSSTRINGEXACT('MasterTable'[Scenario Name],"- THIN REG"))
    )
)

Porque lo que sea que la solución que le dio funciona para los datos de ejemplo que he proporcionado, pero la cosa aquí es, la cadena puede ser cualquier cosa en el futuro.

Así que calculé PlatformCount y mencioné la condición ya que debería ser 1.

Para que pueda descuidar todas las otras mismas filas de plataforma duplicadas.

Capture1.PNG

El problema aquí es, estoy recibiendo el mismo valor de suma para cada escenario aquí.

Por ejemplo, para PC, el valor de suma es 10 que es corrent, pero cuando elijo el Pretzel- THIN REG el valor de suma debe ser 12+3 a 15

Porque, para elegir escenario que es Pretzel - THIN REG, tenemos que considerar ese valor de fila que es 12 y tenemos que excluir las otras dos filas que son la misma plataforma, es decir, Pretzel pero el mismo origen y destino

y para PC, basado en el recuento de plataformas tiene que considerar el valor MIN, por lo que es 3,

pero no PC-Thin Reg.

Cualquier sugerencia sobre esto, por favor.

Gracias

Mohan V.

Para Abredeen Source y Broklyn Destination, PC

Anonymous
Not applicable

@v-alq-msft @amitchandak @Jef por favor, ayuda.

Gracias

Mohan V.

Hola, @MohanV

La medida reflejará la selección de segmentación de datos, mientras que la columna solo cambiará cuando los datos se actualicen y carguen, y no podrá interactuar con otros objetos visuales.

Puede intentar crear las dos medidas siguientes.

PlatformCount =
CALCULATE (
    COUNT ( MasterTable[Platform] ),
    FILTER (
        ALLEXCEPT ( 'MasterTable', MasterTable[Year-Period], MasterTable[Source-Dest] ),
        [Index] <= SELECTEDVALUE ( 'MasterTable'[Index] )
            && [Platform] = SELECTEDVALUE ( 'MasterTable'[Platform] )
    )
)

Grouped Sum Column =
VAR _yearperiod =
    SELECTEDVALUE ( 'MasterTable'[Year-Period] )
VAR _source =
    SELECTEDVALUE ( 'MasterTable'[Source] )
VAR _destination =
    SELECTEDVALUE ( 'MasterTable'[Destination] )
VAR _Platform =
    SELECTEDVALUE ( 'MasterTable'[Platform] )
VAR _Scenario =
    SELECTEDVALUE ( MasterTable[Scenario Name] )
RETURN
    CALCULATE (
        SUM ( 'MasterTable'[_Cases] ),
        FILTER (
            ALL ( 'MasterTable' ),
            'MasterTable'[Year-Period] = _yearperiod
                && 'MasterTable'[Source] = _source
                && 'MasterTable'[Destination] = _destination
                && MasterTable[PlatformCount] = 1
        )
    )

Saludos

Allan

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

Anonymous
Not applicable

No sé si entiendo completamente su pregunta, pero creo que esta medida hace el truco:

(M) Grouped Sum = CALCULATE(SUM('table'[Case]), ALLEXCEPT('table', 'table'[Year], 'table'[Period], 'table'[Source], 'table'[Destination]))

¡Quizás puedas probarlo, avísame!

amitchandak
Super User
Super User

@MohanV, la lógica todavía no está clara para mí. Puede explicar cómo se fusionó cada línea

Anonymous
Not applicable

@amitchandak, gracias por la respuesta.

La salida que estoy esperando, no estoy fusionando las líneas.

Sólo estoy tratando de mostrar que, cómo se deben sumar los valores de las filas.

añoPeríodoPlataformaNombre del escenarioFuenteDestinoCaso
2020P6PretzelPretzel ADallasHouston6 + (8 + 9) á 23
2020P6TcTcDallasHouston8 + (6+9) 23

Aquí en la primera fila, 6 es de

2020p6PretzelPretzel ADallasHouston6

y 8 es de

2020p6TcTcDallasHouston8

y 9 es de

2020P6chifladochifladoDallasHouston9

debe mostrar la suma total de casos para Pretzel Un escenario es 23.

aquí, fuente, destino, período del año son los mismos, pero para el 1er escenario es decir, Pretzel A, junto con eso, necesito considerar los otros escenarios que no son Pretzel A pero la misma fuente, destino y período del año.

como sabio,

2020P6TcTcDallasHouston8 +(6+9) á 23

8o

2020p6TcTcDallasHouston8

6o

2020p6PretzelPretzel ADallasHouston6

9o

2020P6chifladochifladoDallasHouston9

2020p5PcPcDallasHouston7 +(10+11) á 28

7o

2020P5PcPcDallasHouston

7

10o

2020P5SumergeSumergeDallasHouston10

11o

2020p5PretzelPretzel ADallasHouston11

Espero que hayas entendido lo que estoy tratando de hacer aquí.

Gracias

Mohan V.

Anonymous
Not applicable

@MohanV

Todavía no 100% seguro de cómo le gustaría agrupar . Usando la medida que mencioné en mi respuesta anterior obtengo estos resultados:

¿Puede mencionar qué línea está mal y por qué?

Jef_0-1595492891491.png

Anonymous
Not applicable

@Jef , @amitchandak Lo sentimos, olvidé agregar otra fila en los datos donde la lógica se vuelve diferente de la actual.

Por favor, siga la siguiente imagen,

Capture.PNG

Aquí es donde i estaba enfrentando el problema.

Gracias

Mohan V.

Anonymous
Not applicable

@Jef @amitchandak¿Puede ayudarle, por favor.

Gracias

Mohan V.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors