Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
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
Solved! Go to Solution.
Hola, @poweringnaag
Basándome en su descripción, creé datos para reproducir su scenraio. El archivo pbix se adjunta al final.
Mesa:
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:
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.
Hola, @poweringnaag
Basándome en su descripción, creé datos para reproducir su scenraio. El archivo pbix se adjunta al final.
Mesa:
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:
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.
@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.
@Greg_Deckler - Gracias por ayudarme en esto. A continuación encontrará los datos de la muestra. un archivo pbix le ayudará.
Fecha general | Loc. No. | Gf | Fm | S | U | S+U-24 |
01-Abr-20 | 123 | 0.00 | 5.80 | 0.00 | 0.50 | 0 |
02-Abr-20 | 123 | 0.00 | 12.80 | 0.00 | 1.00 | 0 |
29-Abr-20 | 123 | 3.70 | 0.00 | 12.00 | 12.00 | 1 |
30-Abr-20 | 123 | 4.70 | 0.00 | 12.00 | 12.00 | 1 |
01-Mayo-20 | 123 | 0.00 | 0.00 | 12.00 | 12.00 | 1 |
02-Mayo-20 | 123 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
07-Mayo-20 | 123 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
08-Mayo-20 | 123 | 0.00 | 0.00 | 11.00 | 13.00 | 1 |
30-Mayo-20 | 123 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
31-Mayo-20 | 123 | 0.80 | 0.00 | 0.00 | 0.00 | 0 |
01-Jun-20 | 123 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
02-Jun-20 | 123 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
03-Jun-20 | 123 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
04-Jun-20 | 123 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
08-Jun-20 | 123 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
12-Jun-20 | 123 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
30-Jun-20 | 123 | 3.60 | 0.00 | 8.00 | 16.00 | 1 |
01-Abr-20 | 212 | 4.40 | 0.00 | 0.00 | 0.00 | 0 |
02-Abr-20 | 212 | 1.40 | 0.00 | 0.00 | 0.00 | 0 |
29-Abr-20 | 212 | 0.20 | 0.00 | 0.00 | 0.00 | 0 |
30-Abr-20 | 212 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
01-Mayo-20 | 212 | 1.50 | 1.00 | 0.00 | 0.60 | 0 |
02-Mayo-20 | 212 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
07-Mayo-20 | 212 | 1.00 | 0.00 | 0.00 | 0.00 | 0 |
08-Mayo-20 | 212 | 0.20 | 0.10 | 0.00 | 0.00 | 0 |
30-Mayo-20 | 212 | 12.00 | 12.00 | 0.00 | 0.00 | 0 |
31-Mayo-20 | 212 | 12.00 | 12.00 | 0.00 | 0.40 | 0 |
01-Jun-20 | 212 | 8.00 | 16.00 | 0.00 | 0.00 | 0 |
02-Jun-20 | 212 | 5.00 | 19.00 | 0.00 | 0.00 | 0 |
03-Jun-20 | 212 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
04-Jun-20 | 212 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
05-Jun-20 | 212 | 12.00 | 12.00 | 0.00 | 0.00 | 0 |
08-Jun-20 | 212 | 12.00 | 12.00 | 0.00 | 0.00 | 0 |
12-Jun-20 | 212 | 0.00 | 0.00 | 0.00 | 0.00 | 0 |
30-Jun-20 | 212 | 11.00 | 13.00 | 10.00 | 14.00 | 1 |
Apliqué ambas sugerencias de Amit y Greg y a continuación es el resultado.
@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)
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)
@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.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |