Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago
Solved

Calcular campo en el encabezado de fila

Hola a todos. Necesito hacer una "tabla dinámica" en Power BI, pero la información necesita 3 "campos de medida", estos son: % SVM % Activado. Margen % EBT Pero, cuando hago esta medida, y...
  • Syndicate_Admin's avatar
    Syndicate_Admin
    4 years ago

    Ok, en primer lugar, asegúrese de recortar y limpiar el campo de estructura de P&L en la tabla (Power Query).

    A continuación, cree una nueva tabla en Power Query o con Dax para la fila. Lo he creado usando:

    P&L Rows = 
    {("Sales", 1),
    ("SVC", 2),
    ("DSC", 3),
    ("SVM", 4),
    ("% SVM", 5),
    ("OVC", 6),
    ("CC", 7),
    ("Other Expenses", 8),
    ("Op. Margin", 9),
    ("% Op. Margin", 10),
    ("NOR", 11),
    ("EBT", 12),
    ("% EBT", 13),
    ("Income Taxes", 14),
    ("Net Income", 15)}

    Unir esta tabla con la tabla Principal en una relación inactiva. También he creado tablas de dimensiones para El período y el tipo de cantidad. El modelo se ve así:

    Ahora las medidas... En primer lugar, la medida principal:

    Sum Amount =
    CALCULATE (
        SUM ( FTable[ Amount ] ),
        USERELATIONSHIP ( 'P&L Rows'[Structure], FTable[ PL_Structure ] )
    )
    

    A continuación, las medidas para el %:

    % SVM =
    VAR _Sales =
        CALCULATE (
            [Sum Amount],
            FILTER ( ALL ( 'P&L Rows' ), 'P&L Rows'[Structure] = "Sales" )
        )
    VAR _SVM =
        CALCULATE (
            [Sum Amount],
            FILTER ( ALL ( 'P&L Rows' ), 'P&L Rows'[Structure] = "SVM" )
        )
    RETURN
        DIVIDE ( _SVM, _Sales )
    
    % Op. Margin =
    VAR _Sales =
        CALCULATE (
            [Sum Amount],
            FILTER ( ALL ( 'P&L Rows' ), 'P&L Rows'[Structure] = "Sales" )
        )
    VAR _OM =
        CALCULATE (
            [Sum Amount],
            FILTER ( ALL ( 'P&L Rows' ), 'P&L Rows'[Structure] = "Op. Margin" )
        )
    RETURN
        DIVIDE ( _OM, _Sales )
    
    % EBT =
    VAR _Sales =
        CALCULATE (
            [Sum Amount],
            FILTER ( ALL ( 'P&L Rows' ), 'P&L Rows'[Structure] = "Sales" )
        )
    VAR _EBT =
        CALCULATE (
            [Sum Amount],
            FILTER ( ALL ( 'P&L Rows' ), 'P&L Rows'[Structure] = "EBT" )
        )
    RETURN
        DIVIDE ( _EBT, _Sales )
    

    Ahora la medida final para la matriz visual:

    Table value =
    SWITCH (
        SELECTEDVALUE ( 'P&L Rows'[Order] ),
        5, FORMAT ( [% SVM], "Percent" ),
        10, FORMAT ( [% Op. Margin], "Percent" ),
        13, FORMAT ( [% EBT], "Percent" ),
        [Sum Amount]
    )
    

    Ahora puede crear el visual de matriz utilizando el campo P&L [Estructura] como filas, el Typ_amount de la tabla de dimensiones como las columnas y el [Valor de la tabla] como el valor a obtener:

    Si desea colorear los encabezados de fila como ejemplo, debe usar un visual de tabla y dividir la medida [Valor de tabla] en Real y Plan siguiendo este patrón:

    _Actual =
    CALCULATE ( [Table value], 'Type'[Type_Amount] = "Actual" )
    

    He adjuntado el archivo PBIX de ejemplo