Forum Discussion

ARob198's avatar
ARob198
Icon for Helper IV rankHelper IV
6 years ago

Problema de referencia circular

Hola, estoy realmente repostaje ya que marqué las respuestas como una solución, pero en realidad no están trabajando para mí. Todavía estoy atascado en una referencia circular que no se resuelve por las soluciones que se publicaron. ¿Alguien puede ayudar?

Aquí está el post:

Estoy intentando crear una tabla de cap en Power BI.

Tengo tres personas que tienen intereses en el fondo y son capaces de hacer sumas y restas el primer día del mes (comprar más acciones o vender más acciones en la compañía). En Excel, la mesa es bastante directa y se ve así:

Fondo Azul
1/31/20201/31/20202/1/20202/1/20202/1/20202/1/20202/29/20202/29/20203/1/20203/1/20203/1/20203/1/20203/31/20203/31/2020
ClienteValor% PropiedadAdicionesSustraccionesValor% PropiedadValor% PropiedadAdicionesSustraccionesValor% PropiedadValor% Propiedad
T$ 8.4333%$ 0.50 $ 8.9335%$ 9.2935%$ 0.50 $ 9.7937%$ 9.8437%
U$ 8.4333% $ (0.25)$ 8.1832%$ 8.5132% $ (0.30)$ 8.2131%$ 8.2531%
V$ 8.4333% $ 8.4333%$ 8.7733% $ 8.7733%$ 8.8233%
Totales$ 25.30100%$ 0.50$ (0.25)$ 25.55100%$ 26.57100%$ 0.50$ (0.30)$ 26.77100%$ 26.91100%

Los únicos números que están "codificados" y cargados son los valores en enero 31,2020 y las adiciones o restas al comienzo de cada mes (EN AZUL). Las adiciones/sustracciones se agregarán cuando se actualice el panel. Sin embargo, no sé cómo empezar los cálculos. Lo configuro en dos tablas diferentes, ya que los cálculos al principio del mes y al final del mes son diferentes. De esta manera, todos los cálculos de principio al mes se pueden aplicar a una tabla completa y los cálculos de fin de mes que son diferentes también se pueden aplicar a toda la tabla. Sin embargo, tengo problemas para iniciar los cálculos. Mis tablas en el panel se ven así (pero estoy abierto a sugerencias!) No me preocupa crear este objeto visual, me preocupa que los cálculos sean correctos. Los cálculos de fin de mes dependen de los cálculos de inicio de mes y los cálculos de inicio de mes dependen de los cálculos de fin de mes del mes anterior. El valor de la empresa se extrae de otra parte del modelo. Una vez más, las entradas están en azul a continuación, me gustaría que el resto de la tabla se rellene a medida que se agregan/actualizan nuevos datos.

Las fórmulas son las siguientes: Los valores al final del mes (es decir, 1/31/2020) - el % ownerhsip desde el inicio del mes * valor de la empresa para esa fecha

Los valores a principios de mes (es decir, 2/1/2020) - valor de 1/31/2020 + adiciones para 2/1/2020 + restas para 2/1/2020

Luego hay un nuevo % de propiedad que se calcula que es el valor para 2/1/2020 dividido por el valor de la empresa para 1/31/2020

Tabla de fin de mes
DETALLE DEL NOMBREFechaValor% PROPIEDADEmpresaValor de la empresa
T1/31/20208.4333%Azul25.3
U1/31/20208.4333%Azul25.3
V1/31/20208.4333%Azul25.3
T2/29/2020
U2/29/2020
V2/29/2020
T3/31/2020
U3/31/2020
V3/31/2020
Tabla de comienzos de mes
DETALLE DEL NOMBREFechaAdicionesSustracciones % PROPIEDADEmpresaValor de la empresa
T2/1/20200.50 Azul25.3
U2/1/20200-0.25 Azul25.3
V2/1/20200 Azul25.3
T3/1/20200.50 Azul26.57
U3/1/20200-0.3 Azul26.57
V3/1/20200 Azul26.57
T4/1/2020 Azul26.91
U4/1/2020 Azul26.91
V4/1/2020 Azul26.91

¿Alguien tiene alguna idea para ayudar a recrear esto? ¿Quizás estoy pensando en diseñar este error? Cualquier aporte sería muy apreciado.

Muchas gracias.

5 Replies

  • v-lionel-msft's avatar
    v-lionel-msft
    Icon for Community Support rankCommunity Support

    Hola @ARob198 ,

    Aquí está mi modelo de datos (sin relación de tabla).

    m6.PNG

    1. Cree 3 columnas calculadas en 'Tabla final de mes'.

    Beginning Date = 
    DATE(
        YEAR('Month End Table'[DATE]) , MONTH('Month End Table'[DATE]) + 1, 1
    )
    _Additions = 
    LOOKUPVALUE(
        'Beginning of the Month Table'[Additions],
        'Beginning of the Month Table'[NAME DETAIL], 'Month End Table'[NAME DETAIL],
        'Beginning of the Month Table'[DATE], 'Month End Table'[Beginning Date]
    )
    _Subtrations = 
    LOOKUPVALUE(
        'Beginning of the Month Table'[Subtractions],
        'Beginning of the Month Table'[NAME DETAIL], 'Month End Table'[NAME DETAIL],
        'Beginning of the Month Table'[DATE], 'Month End Table'[Beginning Date]
    )

    2. Crear medidas.

    Values on the begining of the month = 
    VAR x = 
    SELECTEDVALUE('Month End Table'[VALUE]) + SELECTEDVALUE('Month End Table'[_Additions]) + SELECTEDVALUE('Month End Table'[_Subtrations])
    RETURN
    x
    
    % OWNERSHIP = 
    DIVIDE(
        [Values on the begining of the month],
        SELECTEDVALUE('Month End Table'[Company Value])
    )
    Values on month end = 
    [% OWNERSHIP] * SELECTEDVALUE('Month End Table'[Company Value])

    m7.PNG

    Saludos
    Lionel Chen

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

    • ARob198's avatar
      ARob198
      Icon for Helper IV rankHelper IV

      Hola Lionel,

      Creo que esto me da parte del camino, ¿quizás? Pero realmente no resuelve mi problema completamente. Desafortunadamente, todavía estoy atascado en referencias circulares. Estoy recibiendo un error que indica que se ha detectado una dependencia circular. Sé que esto se puede hacer- ¡Me están succionando en un agujero negro!

      Gracias por su ayuda!

      Values on the begining of the month = 
      VAR x = 
      SELECTEDVALUE('Month End Table'[VALUE]) + SELECTEDVALUE('Month End Table'[_Additions]) + SELECTEDVALUE('Month End Table'[_Subtrations])
      RETURN
      x

      'Mes final tabla'[VALOR] es un valor que comienza con los números de entrada para 12/31/2016, pero eso es todo lo que se rellenará para ello. Los números importantes serán el valor BM y el valor ME. El valor ME se calcula en función del porcentaje de propiedad a partir del inicio del mes * el valor del fondo al final del mes.

      Valor BM: valor ME (para el día anterior) + ADDS + SUBS

      Por ejemplo: Valor de 1 feb (valor ME para el 31 de enero) + ADDS (el 1 de febrero) + SUBS (el 1 de febrero)

      Ex.pngEx2.PNG

    • ARob198's avatar
      ARob198
      Icon for Helper IV rankHelper IV

      @v-lionel-msft

      He pasado los últimos días tratando de hacer que esto funcione.... ¿Cómo se calcula la 'Tabla de fin de mes' [VALOR] si no es una entrada estática? Creo que lo estás tomando como una entrada estática. Siempre se extrae desde principios de mes. Supongo que donde estoy realmente atascado es que todos los pasos funcionan hasta el final y luego obtengo la referencia circular de nuevo. Cualquier idea que tengas sería muy apreciada. Esto es realmente frustrante.

      • v-lionel-msft's avatar
        v-lionel-msft
        Icon for Community Support rankCommunity Support

        Hola @ARob198 ,

        No sé dónde está el problema, tal vez usted puede mirar mi archivo .pbix y señalar la diferencia entre nuestros modelos.

        Archivo .pbix

        Saludos
        Lionel Chen

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