Forum Discussion
Subtotal visual de Matrix incorrecto
@RicoZhou Perdón por la confusión entre datatable y data, es la misma tabla, ese fue mi error tipográfico. También la columna del mes actual es "Archivo de datos mes y año".
Probé la solución, pero el valor devuelto es 0 en toda la tabla.
Hay @ck1995 ,
Creo una muestra como la tuya, me encuentro con otro problema es que creo que estás creando una matriz, ¿qué columna está en el campo de fila de matriz? He probado [Número de serie] o [Fecha del archivo]. Parece que [Material Overrun] siempre devolverá 0 en todas las filas.
Material Overrun =
VAR _defaultmonth =
VALUE (
YEAR ( MAX ( 'Datatable'[File date] ) )
& FORMAT ( EOMONTH ( TODAY (), -1 ), "mm" )
)
VAR _max =
CALCULATE (
MAX ( ( 'Datatable'[Data file month&year] ) ),
ALLSELECTED ( 'Datatable'[Data file month&year] )
)
VAR _EPdefault =
SUMX (
FILTER ( 'Datatable', 'Datatable'[Data file month&year] = _defaultmonth ),
SUM ( 'Datatable'[Diff in EP & AP (MAT)] )
)
VAR _EPmax =
SUMX (
FILTER ( 'Datatable', 'Datatable'[Data file month&year] IN { _max } ),
SUM ( 'Datatable'[Diff in EP & AP (MAT)] )
)
VAR EPAP =
SUMX (
'Datatable',
IF ( ISFILTERED ( 'Datatable'[Data file month&year] ), _EPmax, _EPdefault )
)
VAR defmonth =
VALUE (
YEAR ( MAX ( 'Datatable'[File date] ) )
& FORMAT ( EOMONTH ( TODAY (), -2 ), "mm" )
)
VAR _minmnth =
IF (
ISFILTERED ( 'Datatable'[Data file month&year] ),
CALCULATE (
MIN ( ( 'Datatable'[Data file month&year] ) ),
ALLSELECTED ( 'Datatable'[Data file month&year] )
),
defmonth
)
VAR __BASELINE_VALUE =
SUMX (
FILTER ( 'Datatable', 'Datatable'[Data file month&year] IN { _minmnth } ),
SUM ( 'Datatable'[Actual cost(AP)] )
)
VAR _maxmnth =
IF ( ISFILTERED ( 'Datatable'[Data file month&year] ), _max, _defaultmonth )
VAR __MEASURE_VALUE =
SUMX (
FILTER ( 'Datatable', 'Datatable'[Data file month&year] IN { _maxmnth } ),
SUM ( 'Datatable'[Actual cost(AP)] )
)
VAR changeinmat = __MEASURE_VALUE - __BASELINE_VALUE
RETURN
IF (
VALUE ( EPAP ) > 0,
0,
IF (
VALUE ( changeinmat ) < 0,
0,
IF (
VALUE ( 0 - changeinmat )
> ( VALUE ( EPAP ) ),
VALUE ( 0 - changeinmat ),
VALUE ( EPAP )
)
)
)
El resultado es el siguiente. Si todas las filas devuelven 0, el subtotal también mostrará 0.
Asegúrese de que [Exceso de material] devuelva los resultados correctos en otras filas. Me muestras más detalles sobre qué resultado quieres.
Saludos
Rico Zhou
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
- Syndicate_Admin4 years agoAdministrator
Hola @RicoZhou número de serie está en las filas. ¿Hay alguna forma de que nos conectemos para poder elaborar ya que el conjunto de datos es un archivo grande y esta es una réplica del conjunto de datos en el que estoy trabajando y no se puede compartir?