The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hola amigos,
Necesidad de convertir una consulta sql compleja a PowerBI DAX.
Primero, necesita un filtro de fecha, para filtrar la tabla A, luego agregue la columna 'Pago' en la tabla A agrupando por 'Factura', la columna 'Cuenta', en tercer lugar, únase a la tabla B en la columna 'Factura' y 'Cuenta'.
La fecha es de la segmentación de datos. La dificultad es que la fecha es dinámica, filtrando primero y luego agrupando por, ¿cómo hacerlo?
Por cierto, agrupar en 'fecha' no va a funcionar en este caso.
Cualquier sugerencia es muy apreciada.
Lo he intentado, funcionó pero estoy verificando datos, parece que el filtro de fecha no está en efecto, que está en la tabla A.
@River -La fecha es de la segmentación de datos de fecha: pensé que está utilizando una tabla de calendario para eso. ¿Es amablemente posible para usted producir una pequeña muestra de pbix y compartirla aquí?
@smpa01 confirmado, no está filtrando la fecha en la tabla A, sino que está obteniendo todos los datos de todas las fechas.
Sí, estoy usando la tabla de calendario, está vinculada al campo de fecha en la tabla A, la segmentación de datos de fecha está vinculada a la tabla de calendario. Desafortunadamente, no puedo cargar un pbix con datos reales.
@River es posible para usted crear un pbix de muestra con datos falsos con solo columnas relvant y nada más en una escala muy pequeña?
@smpa01 https://1drv.ms/u/s!Aq08cehlu9wukAipaxYcpMde6UzP?e=hfr9eD
Aquí está el enlace al pbix. Hágame saber si puede acceder a él.
@River gracias por esto.
Lo investigué a fondo.
La medida que te di genera esto
Pero si diseccionamos las cosas, para el rango de fechas dado,
Devuelve a continuación
Por otro lado, si diseccionamos la tabla de facturas con exactamente los mismos valores, devuelve a continuación
Así que tendrías como una medida, que genera sólo SUMA de
«Factura pagada»[SETTLEAMOUNTMST]
solo para 'Factura'[AccountNum]=3
Por favor, cambie su medida a esta
Amount Paid =
CALCULATE (
- SUM ( 'Invoice Paid'[SETTLEAMOUNTMST] ), --this gets sliced as per Date tbl, there is no need to explicitly
// ALLEXCEPT ( -- put a Date Filter
// 'Invoice Paid',
// 'Invoice Paid'[AccountNum],
// 'Invoice Paid'[LastSettleVoucher], --ALLEXCEPT is not required here cause
// 'Invoice Paid'[DataAreaId], -- 'Invoice Paid'[AccountNum],'Invoice Paid'[LastSettleVoucher]
// 'Invoice Paid'[Partition] -- 'Invoice Paid'[DataAreaId],'Invoice Paid'[Partition]
// ), -- is explictly mentioned in TREATAS which generates the sum
TREATAS ( -- as per that grouping
SUMMARIZE (
'Invoice',
'Invoice'[AccountNum],
'Invoice'[Voucher],
'Invoice'[DataAreaId],
'Invoice'[Partition]
),
'Invoice Paid'[AccountNum],
'Invoice Paid'[LastSettleVoucher],
'Invoice Paid'[DataAreaId],
'Invoice Paid'[Partition]
)
)
@River tal vez sea más fácil si solo establece una relación entre la Tabla A y la Tabla B, creando una clave sustituta que es la concatenación de cuenta + factura, una vez que se establece esta relación, entonces solo necesita una medida de suma simple para visualizar y dividir / cortar los datos.
✨ Síguenos en LinkedIn (en inglés)
Más información sobre el formato condicional en Microsoft Reactor
Mi última entrada de blog El poder de usar grupos de cálculo con relaciones inactivas (Parte 1) (perytus.com) Yo lo haría ❤ Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!
⚡ Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.⚡
Hola
Comparta algunos datos, explique la pregunta y muestre el resultado esperado.
@River probar esto?
Measure =
CALCULATE (
SUM ( tblA[Payment] ),
ALLEXCEPT ( tblA, tblA[Invoice], tblA[Account] ),
TREATAS (
SUMMARIZE ( tblB, tblB[Invoice], tblB[Account] ),
tblA[Invoice],
tblA[Account]
)
)
Soy un gran fan de TREATAS para mover filtros. Nunca has visto tu uso de resumir dentro de él, ¡me encanta que será prestado! Gracias.
Hi Smpa01
Muchas gracias por la respuesta rápida, mis questios son, ¿dónde viene a jugar el filtro de fecha? y estamos hablando de muchos registros de combinación de 'factura' y 'cuenta'.
@River dijiste que tienes una cortadora para Date.. por lo que no necesitamos contabilizar Date por separado en la expresión DAX. La cortadora está ahí y la expresión lo tiene en cuenta.
Ok, ya veo, lo intentaré.