cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Helper I
Helper I

Contar días consecutivos en función de la fecha seleccionada por ubicación

Hola, por favor ayuda!!

El lado izquierdo de la imagen de abajo es el conjunto de datos. Necesito contar el número de ocurrencias consecutivas del dígito 1.

El recuento tiene que ocurrir en función de la fecha seleccionada en el informe. Al igual que si selecciona 01-Mayo-2020, entonces conseg cuenta 3

poweringnaag_0-1599409097487.png

1 ACCEPTED SOLUTION
Community Support
Community Support

Hola, @poweringnaag

Basándome en su descripción, creé datos para reproducir su scenraio. El archivo pbix se adjunta al final.

Mesa:

a1.png

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

Result = 
var tab = 
ADDCOLUMNS(
    ALL('Table'),
    "L1",
    CALCULATE(
        MAX('Table'[Gen. Date]),
        FILTER(
            ALL('Table'),
            'Table'[Loc. No.]=EARLIER('Table'[Loc. No.])&&
            'Table'[Gen. Date]<EARLIER('Table'[Gen. Date])&&
            'Table'[S+U=24]=1
        )
    ),
    "L",
    CALCULATE(
        MAX('Table'[Gen. Date]),
        FILTER(
            ALL('Table'),
            'Table'[Loc. No.]=EARLIER('Table'[Loc. No.])&&
            'Table'[Gen. Date]<EARLIER('Table'[Gen. Date])
        )
    )
)
var newtab = 
ADDCOLUMNS(
    tab,
    "flag",
    IF(
       [L1]=[L]&&NOT(ISBLANK([L])),
     1,0
    )
)
var t = 
ADDCOLUMNS(
    newtab,
    "Re",
    var _loc = [Loc. No.]
    var _date = [Gen. Date]
    return
    IF(
        [S+U=24]=1,
        IF(
            ISBLANK([L1])||[flag]=0,
            1,
            1+
            COUNTROWS(
                FILTER(
                    newtab,
                    [Loc. No.]=_loc&&
                    [Gen. Date]<=_date&&
                    [flag]=1&&
                    NOT(ISBLANK([L]))
                )
            )
        )
    )
)
var _result = 
SUMX(
    SUMMARIZE(
        'Table',
        'Table'[Loc. No.],
        "x",
        SUMX(
            FILTER(
                t,
                [Gen. Date]=SELECTEDVALUE('Table'[Gen. Date])&&
                [Loc. No.]=EARLIER('Table'[Loc. No.])
            ),
            [Re]
        )
    ),
    [x]
)
return
IF(
    ISBLANK(_result),
    0,
    _result
)

Resultado:

a2.png

a3.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.

View solution in original post

7 REPLIES 7
Community Support
Community Support

Hola, @poweringnaag

Basándome en su descripción, creé datos para reproducir su scenraio. El archivo pbix se adjunta al final.

Mesa:

a1.png

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

Result = 
var tab = 
ADDCOLUMNS(
    ALL('Table'),
    "L1",
    CALCULATE(
        MAX('Table'[Gen. Date]),
        FILTER(
            ALL('Table'),
            'Table'[Loc. No.]=EARLIER('Table'[Loc. No.])&&
            'Table'[Gen. Date]<EARLIER('Table'[Gen. Date])&&
            'Table'[S+U=24]=1
        )
    ),
    "L",
    CALCULATE(
        MAX('Table'[Gen. Date]),
        FILTER(
            ALL('Table'),
            'Table'[Loc. No.]=EARLIER('Table'[Loc. No.])&&
            'Table'[Gen. Date]<EARLIER('Table'[Gen. Date])
        )
    )
)
var newtab = 
ADDCOLUMNS(
    tab,
    "flag",
    IF(
       [L1]=[L]&&NOT(ISBLANK([L])),
     1,0
    )
)
var t = 
ADDCOLUMNS(
    newtab,
    "Re",
    var _loc = [Loc. No.]
    var _date = [Gen. Date]
    return
    IF(
        [S+U=24]=1,
        IF(
            ISBLANK([L1])||[flag]=0,
            1,
            1+
            COUNTROWS(
                FILTER(
                    newtab,
                    [Loc. No.]=_loc&&
                    [Gen. Date]<=_date&&
                    [flag]=1&&
                    NOT(ISBLANK([L]))
                )
            )
        )
    )
)
var _result = 
SUMX(
    SUMMARIZE(
        'Table',
        'Table'[Loc. No.],
        "x",
        SUMX(
            FILTER(
                t,
                [Gen. Date]=SELECTEDVALUE('Table'[Gen. Date])&&
                [Loc. No.]=EARLIER('Table'[Loc. No.])
            ),
            [Re]
        )
    ),
    [x]
)
return
IF(
    ISBLANK(_result),
    0,
    _result
)

Resultado:

a2.png

a3.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.

View solution in original post

Super User IV
Super User IV

@poweringnaag - OK, si esto tiene que ser dinámico entonces tiene que ser una medida, no una columna. Por lo tanto, tal vez algo como esto:

Measure =
  VAR __Table =
    ADDCOLUMNS(
      ADDCOLUMNS(
        'Table',
        "Next",MINX(FILTER(ALL('Table'),[Gen Date]>EARLIER([Gen Date])),[Gen Date])
      ),
      "Diff",([Next] - [Gen Date])*1.
    )
RETURN
  COUNTROWS(FILTER(__Table,[Diff]=1))

No pude probar. Si proporciona datos en texto en una tabla que puedo copiar, simulará en un PBIX para usted.


---------------------------------------

@ me in replies or I'll lose your thread!!!

I have a NEW book! 
DAX Cookbook from Packt
Over 120 DAX Recipes!




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




@Greg_Deckler - Gracias por ayudarme en esto. A continuación encontrará los datos de la muestra. un archivo pbix le ayudará.

Fecha generalLoc. No.GfFmSUS+U-24
01-Abr-201230.005.800.000.500
02-Abr-201230.0012.800.001.000
29-Abr-201233.700.0012.0012.001
30-Abr-201234.700.0012.0012.001
01-Mayo-201230.000.0012.0012.001
02-Mayo-201230.000.000.000.000
07-Mayo-201230.000.000.000.000
08-Mayo-201230.000.0011.0013.001
30-Mayo-201230.000.000.000.000
31-Mayo-201230.800.000.000.000
01-Jun-201230.000.000.000.000
02-Jun-201230.000.000.000.000
03-Jun-201230.000.000.000.000
04-Jun-201230.000.000.000.000
08-Jun-201230.000.000.000.000
12-Jun-201230.000.000.000.000
30-Jun-201233.600.008.0016.001
01-Abr-202124.400.000.000.000
02-Abr-202121.400.000.000.000
29-Abr-202120.200.000.000.000
30-Abr-202120.000.000.000.000
01-Mayo-202121.501.000.000.600
02-Mayo-202120.000.000.000.000
07-Mayo-202121.000.000.000.000
08-Mayo-202120.200.100.000.000
30-Mayo-2021212.0012.000.000.000
31-Mayo-2021212.0012.000.000.400
01-Jun-202128.0016.000.000.000
02-Jun-202125.0019.000.000.000
03-Jun-202120.000.000.000.000
04-Jun-202120.000.000.000.000
05-Jun-2021212.0012.000.000.000
08-Jun-2021212.0012.000.000.000
12-Jun-202120.000.000.000.000
30-Jun-2021211.0013.0010.0014.001

Apliqué ambas sugerencias de Amit y Greg y a continuación es el resultado.

Capture.JPG

Super User IV
Super User IV

@poweringnaag , Crear una nueva columna como esta y agregar que

if(not(isblank(maxx(filter(Table,[Gen Date] á earlier([Gen Date])-1),[Gen Date])),1,0)



Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

Gracias @amitchandak . Creé una columna con su definción sugerida e incluida en el siguiente post. Solicitarle que revise y hágamelo saber. ¿Debo cambiar para obtener el resultado correcto?

@poweringnaag - He incluido un archivo PBIX a continuación sig. Quieres Tabla (36). No estoy seguro si es lo que quieres. ¿Está intentando emular la columna S+U-24 es la salida deseada? Por favor, confirme o niegue. Si no, entonces ¿cuál es la salida deseada?

Column = 
  VAR __NextDate = MINX(FILTER(ALL('Table (36)'),[Gen. Date]>EARLIER([Gen. Date]) && [Loc. No.]=EARLIER([Loc. No.]) && [S+U=24]=1),[Gen. Date])
  VAR __Next = MAXX(FILTER('Table (36)',[Gen. Date]=__NextDate),[S+U=24])
RETURN
  IF([S+U=24]=1 && __Next=1,1,0)


---------------------------------------

@ me in replies or I'll lose your thread!!!

I have a NEW book! 
DAX Cookbook from Packt
Over 120 DAX Recipes!




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




@Greg_Deckler - A continuación se muestra la salida que estoy tratando de obtener.. Para una fecha seleccionada quiero ver el recuento consecutivo que representa la interrupción. Es como si Programado (S) + No programado (U) a 24 horas en un día, entonces significa que hay una interrupción en la máquina / ubicación.

output.JPG

Helpful resources

Announcements
secondImage

Happy New Year from Power BI

This is a must watch for a message from Power BI!

December Update

Check it Out!

Click here to read more about the December 2020 Updates!

Community Blog

Check it Out!

Click here to read the latest blog and learn more about contributing to the Power BI blog!

Get Ready for Power BI Dev Camp

Get Ready for Power BI Dev Camp

Mark your calendars and join us for our next Power BI Dev Camp!.

Top Solution Authors