Forum Discussion

nicole1995's avatar
nicole1995
Frequent Visitor
6 years ago
Solved

Calucate Row con Matrix

Hola

Tengo que crear una tabla/matriz que tenga columnas por mes y un valor que cuente el número de ID. Cada fila tiene su propia lógica que he intentado mostrar en el ejemplo de tabla siguiente.

Pero no estoy seguro de cómo hacer esto. Estaba buscando el uso de medidas, pero a mis muy pocos medidas de conocimiento de BI sólo devuelven un valor, no una lista ? Así que estoy un poco fuera de una pérdida.

Espero que he dado suficiente detalle a mi problema y cualquier ayuda será muy apreciado.

Lógica de filaNombre de la filaEneroresto de meses ...
Recuento de suscripciones con fecha de inicio en el mes en el que
Estado de la suscripción: actual y
Empresa B Y
Fecha de unión en el mes
B inceptions - número de empresas
Recuento de miembros con fecha de inicio en el mes en el que
Estado de la suscripción: actual y
Empresa B Y
Fecha de unión en el mes
B inceptions - número de miembros
Suma (B Premium) + Suma (Una Suscripción) DONDE Fecha de Inicio en MesPrima incorporada - total (premium B y suscripción A
Suma (suscripción B)prima con cetro - Prima B
Suma (una suscripción)Premium incepted - Una suscripción
  • v-lid-msft's avatar
    v-lid-msft
    6 years ago

    Hola @nicole1995 ,

    Podemos utilizar los siguientes pasos para cumplir con sus requisitos:

    1. Cree cinco medidas que cumplan con la lógica de fila.
    A subscription = CALCULATE(SUM(SubHeader[Subscription]),FILTER(SubHeader,SubHeader[Company]="A"))

    B inceptions - number of corporate = CALCULATE(COUNT(SubHeader[Subscription]),FILTER(SubHeader,SubHeader[SubStatus]="Current"&&SubHeader[Company]="B"))

    B inceptions - number of members = CALCULATE(COUNT(SubHeader[Members]),FILTER(SubHeader,SubHeader[SubStatus]="Current"&&SubHeader[Company]="B"))

    B premium = CALCULATE(SUM(SubHeader[Premium]),FILTER(SubHeader,SubHeader[Company]="B"))

    Incepted premium - total  (B premium and A subscription) =
    
    [B premium] + [A subscription]

    35.png

    1. A continuación, podemos usar Introducir fecha para crear una nueva tabla que tenga una columna basada en el nombre de las medidas.

    1. Cree una medida en una tabla nueva,
    Row Measure =
    
    SUMX(
    
        VALUES('Table'[Row]),
    
        SWITCH(
    
            'Table'[Row],
    
            "A subscription",[A subscription],
    
            "B premium",'SubHeader'[B premium],
    
            "Incepted premium - total  (B premium and A subscription)",'SubHeader'[Incepted premium - total  (B premium and A subscription)],
    
            "B inceptions - number of corporate",'SubHeader'[B inceptions - number of corporate],
    
            "B inceptions - number of members",[B inceptions - number of members]))
    
    
    

    37.png

    1. Por fin podemos poner la tabla[fila] en la fila y la tabla [Medida de fila] en el valor.

    Podemos obtener el resultado de esta manera,

    38.png

    Si no cumple con su requisito, ¿podría mostrar el resultado exacto esperado basado en la tabla que hemos compartido?


    Saludos

3 Replies

  • ¿Se puede hacer esto usando la medida en la fila?

    Hay una propiedad Mostrar en filas. Eso puede hacer

    • nicole1995's avatar
      nicole1995
      Frequent Visitor

      He intentado crear una medida básica que una de mis filas usaría y obtengo esto -

      Untitled.png

      después de mirar en Google sugirió utilizar la fórmula, pero para crear una tabla por lo que hice eso, pero una vez que agrego más de una tabla a la matriz pierde la estructura que necesito

      • v-lid-msft's avatar
        v-lid-msft
        Community Support

        Hola @nicole1995 ,

        Podemos utilizar los siguientes pasos para cumplir con sus requisitos:

        1. Cree cinco medidas que cumplan con la lógica de fila.
        A subscription = CALCULATE(SUM(SubHeader[Subscription]),FILTER(SubHeader,SubHeader[Company]="A"))

        B inceptions - number of corporate = CALCULATE(COUNT(SubHeader[Subscription]),FILTER(SubHeader,SubHeader[SubStatus]="Current"&&SubHeader[Company]="B"))

        B inceptions - number of members = CALCULATE(COUNT(SubHeader[Members]),FILTER(SubHeader,SubHeader[SubStatus]="Current"&&SubHeader[Company]="B"))

        B premium = CALCULATE(SUM(SubHeader[Premium]),FILTER(SubHeader,SubHeader[Company]="B"))

        Incepted premium - total  (B premium and A subscription) =
        
        [B premium] + [A subscription]

        35.png

        1. A continuación, podemos usar Introducir fecha para crear una nueva tabla que tenga una columna basada en el nombre de las medidas.

        1. Cree una medida en una tabla nueva,
        Row Measure =
        
        SUMX(
        
            VALUES('Table'[Row]),
        
            SWITCH(
        
                'Table'[Row],
        
                "A subscription",[A subscription],
        
                "B premium",'SubHeader'[B premium],
        
                "Incepted premium - total  (B premium and A subscription)",'SubHeader'[Incepted premium - total  (B premium and A subscription)],
        
                "B inceptions - number of corporate",'SubHeader'[B inceptions - number of corporate],
        
                "B inceptions - number of members",[B inceptions - number of members]))
        
        
        

        37.png

        1. Por fin podemos poner la tabla[fila] en la fila y la tabla [Medida de fila] en el valor.

        Podemos obtener el resultado de esta manera,

        38.png

        Si no cumple con su requisito, ¿podría mostrar el resultado exacto esperado basado en la tabla que hemos compartido?


        Saludos