Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
Syndicate_Admin
Administrator
Administrator

La vista de tabla no muestra el valor medido correcto

Estimados todos,

He encontrado una vista de tabla diferente que contiene cálculos medidos. Esto se encuentra para un conjunto de datos largo, pero hice el conjunto de datos más pequeño, lo que espero que sea más manejable.


Hay tres tablas, donde la tercera tabla es la conocida tabla de fechas

CornelisV_0-1760717039416.png

Table Amount tiene las cantidades de productos, llamadas ID.

Los detalles del código de tabla tienen una lista de códigos que los corresponsales con ID.

La fecha de la tabla se crea con el siguiente DAX:

Fecha =
VAR MinYear = AÑO ( MIN ( 'Cantidad'[Fecha]) )
VAR Año máximo = AÑO ( MÁXIMO ( 'Cantidad'[Fecha] ))

DEVOLUCIÓN

AGREGAR COLUMNAS (
CALENDARIO( MIN ( 'Cantidad'[fecha]) , HOY() ),
"Año", AÑO ( [Fecha] ),
"Mes", FORMATO ( [Fecha], "mmmm" )
)
He usado la siguiente relación:
CornelisV_1-1760717253422.png

La fecha de la tabla está marcada como tabla de datos.

Hasta ahora todo funciona, el siguiente paso es construir un DAX donde se corrigen las cantidades:

Cantidad corregida =
VAR Cantidad = SUMX(
'Cantidad',
'Cantidad'[Cantidad]
)

VAR Código = CALCULAR(
VALOR SELECCIONADO('Detalles del código'[Código])
)
VAR Corrección =
INTERRUPTOR(
VERDADERO(),
Código = 1006, 0.99,
Código = 1009, 0.98,
Código = 1025, 0.99,
1
)
VAR Quantity_corrected = Cantidad * Corrección

DEVOLUCIÓN
Quantity_corrected

Finalmente la vista de tabla...

CornelisV_2-1760717485945.png

Como verá, la cantidad corregida calculada a partir de una medida en la Tabla 1 y la Tabla 2 es completamente diferente. La cantidad corregida es correcta en la Tabla 2, pero no la cantidad total. La Tabla 1 tampoco tiene las cantidades cortadas. Parece que algo anda mal en el DAX. ¿Podrías echarle un vistazo a lo que estoy haciendo mal?

Agradezco su aporte,

Saludos

Cornelis

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Hola @CornelisV

Encuentro que SUMX en su variable Cantidad es innecesario ya que simplemente está sumando la cantidad y no realizando ninguna otra lógica antes de sumar. Aparte de eso, intente esto:

SUMX (
    -- Iterate over a table and sum the results of an expression
    ADDCOLUMNS (
        -- Add calculated columns to an existing table
        SUMMARIZECOLUMNS (
            Dates[Date],       -- Group by Date
            Code[Code],        -- Group by Code
            "@quantity",       -- Create a temporary column "@quantity"
            CALCULATE ( SUM ( Amount[quantity] ) )  -- Sum Quantity for each Date+Code
        ),
        "@corrected",         -- Add another temporary column "@corrected"
        SWITCH (
            [Code],             -- Check the value of Code
            1006, 0.99,         -- If Code = 1006, multiply by 0.99
            1009, 0.98,         -- If Code = 1009, multiply by 0.98
            1025, 0.99,         -- If Code = 1025, multiply by 0.99
            1                   -- Otherwise, multiply by 1 (no change)
        ) * [@quantity]        -- Apply the correction factor to the quantity
    ),
    [@corrected]               -- Sum the "@corrected" column across all rows
)

De lo contrario, proporcione datos de muestra viables (no una imagen), su resultado esperado de los mismos datos de muestra y su razonamiento detrás. Puede publicar un enlace a Excel o una copia desinfectada de su PBIX almacenada en la nube.

Hola @danextian ,

Gracias por su apoyo.

Las soluciones funcionan muy bien.

Entiendo que primero está creando una tabla agrupada usando SUMMARIZECOLUMNS y luego agrega la columna "@Corrected". Esto funciona si solo desea crear una tabla. Con SUMX, el DAX se transforma en Measure. ¡Interesante punto de aprendizaje!

Volviendo a su consejo de agregar un archivo Excel o Pbix, nuestra empresa no puede cargar desde servicios en la nube, sin embargo, un by-pass usando una computadora portátil personal puede ayudar. Eso es algo a considerar.

Gracias de nuevo y que tengas un gran día,

Cornelis

Syndicate_Admin
Administrator
Administrator

Está calculando la cantidad corregida en función del valor del código.
Para la tabla de la izquierda, no tiene el valor del código y, por lo tanto, obtiene multiplicar por 1. es decir, SELECTEDVALUE('Code details'[Code]) no es nada para la tabla de la izquierda.

Defina los requisitos y el resultado esperado para que alguien pueda ayudarlo.

Además, pega algunos datos de cada tabla para que podamos probar. (como crear datos de muestra en EXCEL y pegar aquí)

@sevenhills

Gracias y estoy de acuerdo en que compartir archivos es la mejor opción. Existen limitaciones para cargar archivos, pero vamos a ver más de cerca cómo eludir las restricciones.

@danextian ha demostrado ser una buena solución, pero agradezco su consejo.

Saludos

Cornelis

Me alegra saber que se ha encontrado la solución.


PD: Como alternativa a la carga de archivos, puede ingresar datos de muestra directamente en Excel y luego copiarlos y pegarlos en esta publicación del foro.

Nota: si el tamaño de la tabla es grande y planea usar la columna corregida en más lugares, agréguela como columna en PQ (mi preferencia) o en DAX.

gracias

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.