dax para calcular el stock de apertura y cierre que muestra un resultado nulo para fechas inactivas

Un usuario Pregunto ✅

Ramzan

Hy todo

Saludos y gracias de antemano.

Tengo una tabla de datos grande en el modelo de datos en Excel 2016. Esta tabla está en SQL Server y está conectada al modelo de datos en Excel con Power Query. Tiene millones de filas. He creado un informe de tabla dinámica sobre él.

Necesito calcular el stock de apertura y cierre para el período seleccionado (fecha, mes o año). La muestra de datos es la que se proporciona a continuación. Estoy mostrando solo algunas columnas y registros en la muestra.

Untitled.jpg

He agregado 3 medidas en los campos de la tabla dinámica.

1- Cambiar = calcular (suma (‘Tabla'[Qty]), ‘Tabla'[In/Out]= «En»)
-calculate (sum (‘Tabla'[Qty]), ‘Tabla'[In/Out]= «Fuera»)

2- Stock inicial = CALCULAR ( [change],
FILTRO (
ALLEXCEPT (‘Tabla’, ‘Tabla'[Item Name]),
‘Tabla'[Date] 3- Stock de Cierre = CALCULAR ( [change],
FILTRO (
ALLEXCEPT (‘Tabla’, ‘Tabla'[Item Name]),
‘Tabla'[Date] <= MAX ('Tabla'[Date])))
Problema: En el filtro Si selecciono una fecha para la que hay datos nulos en el «Cambio», el stock de apertura y el stock de cierre también se muestra como Nulo, incluso si el stock de apertura y el stock de cierre para esa fecha no son nulos.

La tabla dinámica que creé es la que se muestra a continuación.
La tabla dinámica 1 muestra datos completos para la fecha «30-04-2018».

Untitled2.jpg

Pero la tabla dinámica 2 no muestra ningún dato en ningún campo y muestra una fila en blanco.

Debería mostrar 2 líneas. (1) «Pan» con valor 30 en «Stock inicial» y «Stock final» y (2) «Bizcocho» con valor 26 en «Stock inicial» y «Stock final».

Untitled3.jpg

Sugierame algún cambio en la fórmula dax o alguna nueva fórmula para la solución o un escenario completamente nuevo para ello.

Estaré muy agradecido por la ayuda.

Ramzan

En respuesta a Ramzan

Tengo la solución al hacerlo con un escenario completamente diferente que he compartido en otra publicación.

Los detalles se pueden ver en esa publicación.

Aquí está el enlace de esa publicación.

Problema en DAX para calcular el stock de apertura y cierre para el informe de inventario

Hola @Ramzan

Has probado

Change =calculate(sum('Table'[Qty]), 'Table'[In/Out]="In")
-calculate(sum('Table'[Qty]), 'Table'[In/Out]="Out") + 0

Ramzan

En respuesta a Phil_Seamark

Si. Lo intenté hace un momento.

Pero no está funcionando.Untitled11.jpg

En respuesta a Ramzan

Hola @Ramzan

¿Puede señalar cuál es el valor incorrecto de acuerdo con los datos de su muestra?

p.ej. que el valor en la columna «Cambiar» se muestra (12.00) para la fila 15-08-2017 y debería ser …….

Ramzan

En respuesta a Phil_Seamark


@Phil_Seamark escribió:

Hola @Ramzan

¿Puede señalar cuál es el valor incorrecto de acuerdo con los datos de su muestra?

p.ej. que el valor en la columna «Cambiar» se muestra (12.00) para la fila 15-08-2017 y debería ser …….


He editado la publicación original.
Así que ahora la respuesta a su comentario es como se indica a continuación.

Problema: En el filtro Si selecciono una fecha para la que hay datos nulos en el «Cambio», el stock de apertura y el stock de cierre también se muestra como Nulo, incluso si el stock de apertura y el stock de cierre para esa fecha no son nulos.

La tabla dinámica que creé es la que se muestra a continuación.
La tabla dinámica 1 muestra datos completos para la fecha «30-04-2018».

Untitled2.jpg

Pero la tabla dinámica 2 no muestra ningún dato en ningún campo y muestra una fila en blanco.

Debería mostrar 2 líneas. (1) «Pan» con valor 30 en «Stock de apertura» y «Stock de cierre» y (2) «Bizcocho» con vaklue 26 en «Stock de apertura» y «Stock de cierre».

Untitled3.jpg

Ramzan

En respuesta a Ramzan

Tengo la solución al hacerlo con un escenario completamente diferente que he compartido en otra publicación.

Los detalles se pueden ver en esa publicación.

Aquí está el enlace de esa publicación.

Problema en DAX para calcular el stock de apertura y cierre para el informe de inventario

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *