cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
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

Accepted Solutions
Highlighted
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
Highlighted
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!

Highlighted
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!




Highlighted

@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

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?

Highlighted

@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!




Highlighted

@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

Highlighted
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

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Community Conference

Microsoft Power Platform Communities

Check out the Winners!

secondImage

Create an end-to-end data and analytics solution

Learn how Power BI works with the latest Azure data and analytics innovations at the digital event with Microsoft CEO Satya Nadella.

Top Solution Authors
Top Kudoed Authors