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
vytas
Helper I
Helper I

Edad de la deuda en días

Hola

Tengo tabla de deudas como esta

DoctypeDocumentNoKeycodeDocumentDatePaymentDateCantidadDateKey
Factura25833000903812005-12-222006-02-20614.0620051222
Factura25823000903812005-12-222006-02-201686.5120051222
Factura25733000903812005-12-222006-02-20807.720051222
Factura26103000903812005-12-292006-02-271059.5220051229
Factura26543000903812006-01-052006-03-0689.4720060105
Factura26533000903812006-01-052006-03-0678.620060105
Factura26443000903812006-01-052006-03-06286.0320060105
Factura26433000903812006-01-052006-03-06777.620060105
Pago20763000903812006-01-092006-01-09-1140.920060109
Pago20723000903812006-01-092006-01-09-640.9620060109
Pago20713000903812006-01-092006-01-09-344.9620060109
Factura27523000903812006-01-132006-03-14394.9420060113
Factura27513000903812006-01-132006-03-141146.9320060113
Factura27503000903812006-01-132006-03-14429.3720060113
Pago21943000903812006-01-162006-01-17-15.2120060116
Pago21363000903812006-01-162006-01-14-505.2320060116
Pago21213000903812006-01-162006-01-14-1015.820060116
Pago21203000903812006-01-162006-01-14-402.3920060116
Pago20743000903812006-01-162006-01-09-363.2820060116

Y creé una medida que me da DebtOnDate

DebtOnDate = IF(
    MIN('Calendar'[DateKey])<= CALCULATE(MAX(Debt[DateKey]);ALL(Debt));
            CALCULATE(
                SUM(Debt[Amount]);
                FILTER(
                    ALL('Calendar'[Date]);'Calendar'[Date]<=MAX('Calendar'[Date]))))

Mi objetivo es escribir una medida que muestre la última factura no pagada en días.

El resultado deseado es

FechaDebtOnDateLatestUnpaidInvoice
2018-01-30160.285 euros35
2018-01-31160.065 euros36
2018-02-01129.968 euros45
2018-02-02130.293 euros32
2018-02-03130.293 euros33
2018-02-04130.293 euros34

Https://1drv.ms/u/s!Ag3StL_v1twMomwBSLgNWZThfKzm?e=3PMdgf de archivo de datos de ejemplo

Gracias

4 REPLIES 4
mahoneypat
Employee
Employee

¿Puede explicar la lógica deseada que está buscando en "fecha de factura más reciente"? ¿La más reciente? ¿La mayoría de los retrasos? ¿Qué columna fecha? ¿Utilizando la columna DocumentNo?

Gracias

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


La lógica es que cualquier deuda consiste en facturas no pagadas. Por ejemplo,
En el día 2020-01-01 el total de la deuda es 2000 y son facturas no pagadas:
Una suma emitida 2019-12-01 200

B Emitido 2019-12-15 suma 1800. Es 2020-01-01 menos 2019-12-01 lo que es 30 días.

En el día 2020-01-16 total de la deuda - 1400 y son facturas no pagadas:

X Emitido 2019-12-20 suma 1000

Y Emitido 2020-01-12 suma 400. Es 2020-01-16 menos 2019-12-20 lo que es 27 días.

Espero que ahora esté más claro

Eso ayuda. Un par de preguntas más. Lo siento. ¿Cómo se indica si una factura no se paga para que la fecha para ella se pueda utilizar en el cálculo más reciente? ¿Coinciden los valores DocumentNo para el pago y la factura? Los datos tienen 19 valores diferentes allí, así que no se puede decir. Además, las fechas que está utilizando en sus publicaciones no coinciden con las de los datos de ejemplo, por lo que es difícil saber qué columna de fecha usar en el cálculo. ¿Fecha de pago o fecha del documento?





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Puedo decir que la factura se paga por tabla de agrupación por

Deuda[DocumentNo]; --- Factura y Pago de Factura tiene el mismo número
Deuda[KeyCode]; --- Si hay más clientes para separar deudas (por ejemplo, solo un cliente)
Deuda[PaymentDate] -- (Factura y pago de factura tiene el mismo número)
Si Suma de agrupación da 0 significa que se paga Factura.
Hay una medida para eso, pero solo funciona sin contexto de calendario.

Unpaid Invoice Days = 
VAR _tbl =
    FILTER (
        ADDCOLUMNS (
            SUMMARIZE (
                Debt;
                Debt[DocumentNo];
                Debt[KeyCode];
                Debt[PaymentDate]
            );
            "Saldo"; CALCULATE ( SUM ( Debt[Amount] ) );
            "InvoiceDate"; CALCULATE ( MAX ( Debt[DocumentDate] ) ) //For knowing which Date Invoice is unpaid 
        );
        [Saldo] > 0 // to filter Unpaid Invoices
    )
VAR _min = MINX ( _tbl; [InvoiceDate] )
VAR _max = MAXX ( _tbl; [InvoiceDate] )
RETURN
            DATEDIFF ( _min; _max; DAY )

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