The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hola Expertos,
Estoy tratando de crear una medida desde debajo de TSQl que tiene auto unión en la misma tabla.
¿podría por favor ayudarme en conseguir su código DAX equivalente.
SELECT
COUNT(t1.[Cargo Id]) as SHIIPED_COUNT FROM
EDW.Inv_Fact_Inventory t1
JOIN
EDW.Inv_Fact_Inventory t2
ON
t1.[Cargo Id]=t2.[Cargo Id]
WHERE
t1.[Status Code]='SHIP' and t1.dashboard='Shipped Inventory'
AND t1.[Ship Date] = t1.[Tender Date]
AND t1.[Ship Date] = CAST('2020-07-30' as date)
AND t2.[Status Code]='Tender'
AND t1.RAIL_HEAD_NUMBER = t2.RAIL_HEAD_NUMBER
Soy nuevo en DAX, por favor aconseje.
No es realmente suficiente información para seguir adelante, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882
Además, consulte este post sobre cómo obtener respuesta a su pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490
Las partes más importantes son:
1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.
Podría probar NATURALLEFTOUTERJOIN
Aquí está mi mesa:
Id. de carga | Código de estado | Fecha de licitación | Fecha de envío | Ubicación |
3FAAAAAA12 | Tierno | 2020-07-09 | Null | 120 |
3N1CPAAA23 | Tierno | 2020-07-04 | Null | 086 |
JN1BJ1CCCC | navío | 2020-06-19 | 2020-06-22 | 005 |
3GKALPEEEE | Tierno | 2020-07-30 | Null | 01 |
3GKALPEEEE | navío | 2020-07-30 | 2020-07-30 | 01 |
YS2R6XXXX | Tierno | 2020-07-30 | Null | 403 |
YS2R6XXXX | navío | 2020-07-30 | 2020-07-30 | 403 |
3GNCJLLLLL | Tierno | 2020-07-30 | Null | 02 |
3GNCJLLLLL | navío | 2020-07-30 | 2020-07-30 | 02 |
Aquí está la salida que necesitaba:
Recuento de unidades de carga que fueron enviadas y licitadas (Estado como 'Envío' y 'Tender') en la misma fecha (Fecha de envío es igual a Fecha de licitación) desde la misma ubicación.
Así que de la tabla de muestra anterior las últimas tres unidades de carga coinciden con el requisito, por lo que debe devolver el recuento de : 3
Utilizo el siguiente TSQL para lograr la salida, pero necesito ayuda para implementar lo mismo en DAX
SELECT
Count(t1.[cargo id])
FROM
EDW.Inv_Fact_Inventory t1
JOIN
EDW.Inv_Fact_Inventory t2
ON
t1.[Cargo Id]=t2.[Cargo Id]
WHERE
t1.[Status Code]='SHIP'
AND t1.[Ship Date] = t1.[Tender Date]
AND t1.[Ship Date] = CAST('2020-07-30' as date)
AND t2.[Status Code]='Tender'
AND t1.Location = t2.Location
Hola @sarthaks ,
Por favor, intente esto:
Measure =
COUNTROWS (
FILTER (
'Inv_Fact_Inventory',
'Inv_Fact_Inventory'[Ship Date] = 'Inv_Fact_Inventory'[Tender Date]
&& 'Inv_Fact_Inventory'[Status Code] IN { "SHIP", "TENDER" }
)
)
Pero, ¿cómo me aseguro de que la ubicación para los partidos enviados y licitados.
Hola @sarthaks ,
Dado que las columnas son de una tabla, para la misma fila, son de la misma ubicación. No necesitamos añadir otras condiciones. Por ejemplo, para Id 3GKALPEEEE, los datos que cumplen la condición de igual fecha (2020/7/30) se encuentran en la misma ubicación(1).
El negocio soporta las siguientes condiciones:
La unidad de carga se puede licitar desde un lugar específico, digamos 01, pero se puede enviar desde diferentes ubicaciones, digamos 403 con una fecha de envío diferente.
Así que en ese caso necesito un filtro adicional sólo para asegurarse de que la ubicación de Enviado y Licitado son los mismos, aparte de la fecha de envío y la fecha de licitación. A partir de datos de muestra para CargoId: 3GNCJLLLLL debe asegurarse de que la ubicación licitada y la ubicación enviada también coinciden
Hola @sarthaks ,
La segunda fila no cumple la condición de que la fecha de envío sea igual a Fecha de licitación. No se contará aunque su ubicación es la misma.
Si esa fórmula no puede funcionar en su informe real, podría probar esta. Agredo una condición de ubicación.
Measure =
COUNTROWS (
FILTER (
'Inv_Fact_Inventory',
'Inv_Fact_Inventory'[Ship Date] = 'Inv_Fact_Inventory'[Tender Date]
&& 'Inv_Fact_Inventory'[Status Code] IN { "SHIP", "TENDER" }
&& Inv_Fact_Inventory[Location] = MAX(Inv_Fact_Inventory[Location])
)
)
Al aplicar este filtro, no devuelve ningún resultado
Inv_Fact_Inventory[Location] = MAX(Inv_Fact_Inventory[Location])
Hola @sarthaks,
La siguiente fórmula identificará las coincidencias, luego puede crear una medida para resumir la columna, Una cosa que modifiqué en sus datos fue reemplazar fechas de envío nulas con '1900-01-01'
Match Count =
var shipDate = [Ship Date]
var statusCode = [Status Code]
var location = [Location]
return
CALCULATE(COUNTROWS('Table'), FILTER(ALL('Table'), 'Table'[Tender Date] = shipDate && 'Table'[Status Code] = "Tender" && 'Table'[Location] = location))
Espero que esto ayude
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
¿Mis respuestas ayudaron a llegar a una solución? Dale un kudos haciendo clic en Thumbs Up!
Proud to be a Super User!
Sólo una consulta:
Cómo estas variables están obteniendo valores, no soy capaz de entender desde la siguiente declaración
var shipDate = [Ship Date]
var statusCode = [Status Code]
var location = [Location]
Por favor, calrify
Las variables establecen el valor que se utilizará en la parte del filtro del cálculo en el contexto de la fila que se va a evaluar
Por lo tanto, esencialmente, lo que está haciendo la columna calc es decir, cuente el número de filas en toda la tabla, donde la ubicación es la ubicación en la fila actual y el estado: el estado de la fila actual y la fecha de licitación, la fecha de envío en la fila actual.
¿Tiene sentido?
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
¿Mis respuestas ayudaron a llegar a una solución? Dale un kudos haciendo clic en Thumbs Up!
Proud to be a Super User!
sería útil ver el modelo en el que está tratando de crear esta medida
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the June 2024 Power BI update to learn about new features.