Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Tengo una tabla con 2 fechas presentadas fecha financiera y fecha transaccional y 3 importes de costo , valor de costo, ajuste de valor de costo, valor de costo phy. La fecha de transacción está en relación con la columna de fecha de la tabla de dimensiones de fecha.
Hay un campo de fecha de filtro de la dimensión de fecha. Necesito el siguiente DAX para debajo de sql.
caso cuando (A.[Fecha financiera] <> '1900-01-01' y A.[Fecha financiera] <- '27/1/2020)
entonces (A.[Importe de coste] + A.[Ajuste del importe del coste]) más (A.[Coste importe físico]).
El 27/1/2020 debe ser dinámico cuando pasemos el 24/1/2020.
Pero necesito el valor de selectedvalue de la cortadora
Debe ser el valor de la fecha financiera correspondiente, no el valor de la tabla de fechas.
Por ejemplo, la fecha financiera es 27/2/2020 , la fecha de transacción correspondiente es 24/3/2020. Cuando nosotros 24/3/2020, debe tomar 27/2/2020 en el Dax.
Tengo alrededor de 7 millones de filas, así que acabo de pegar un dato de muestra.
Por favor, ayúdenme. Gracias de antemano
Solved! Go to Solution.
Inventario1 ?
VAR max_date-CALCULATE(MAX('Date'[Date]),ALL('Date'))
VAR END_DATE-ENDOFMONTH('Fecha'[Fecha])
VAR START_DATE-CALCULATE(min('Date'[Date]),ALL('Date'))
devolución
CALCULATE(SUM('1 Inventory Value'[Cost Amount])+SUM('1 Inventory Value'[Cost Amount Adjustment]),FILTER('1 Inventory Value',('1 Inventory Value'[Financial Date]<-END_DATE && '1 Valor de inventario'[Fecha financiera]>'START_DATE) && '1 Valor de inventario'[Fecha financiera]<>FECHA(1900,01,01)&& '1 Valor de inventario'[Tipo de registro]
"Física", "Financiero"-),ALL('Date'))
+
CALCULATE(SUM('1 Inventory Value'[Cost Amount Physical]),FILTER('1 Inventory Value',('1 Inventory Value'[Financial Date]<max_date && '1 Inventory Value'[Financial Date]>?START_DATE) &&(('1 Inventory Value'[Financial Date]>END_DATE || '1 Valor de inventario'[Fecha financiera]-FECHA(1900,01,01))&& '1 Valor de inventario'[Tipo de contabilización]
"Física", "Financiero" )
Inventario2 ?
CALCULAR (
[Inventario1],
ALL ( 'Fecha'[Fecha]),
datesween( 'Date'[Date], blank(), lastdate('Date'[Date]))
)
Y usé Inventory2 y funcionó perfectamente. Gracias a todos por dar algunas pistas.
Hola señor,
Tengo el tipo similar de pregunta.
Acabo de empezar a usar mi Power BI.
Tengo 2 hojas de exel diferentes cargadas en Power BI.
La hoja 1 contiene todos los detalles con algunos números de código.
la hoja 2 contiene los datos que deben corregirse con pocos códigos.
para ex: hoja 1 tiene todos los códigos 1,2,3,4.......300
hoja 2 tiene códigos: 2 (de la hoja 1) necesita ser reemplazado por 1 y 15 (de la hoja 1) necesita reemplazar con 2 y así sucesivamente.
Ahora 1 desea agregar una nueva columna en power BI (hoja 1)
como: si la hoja 1 tiene códigos con 1,2, y >52 entonces necesita replced con códigos de la hoja 2.
¿Puedes por favor ayudarme en esto
¿Puede alguien ayudar en esto por favor
Inventario1 ?
VAR max_date-CALCULATE(MAX('Date'[Date]),ALL('Date'))
VAR END_DATE-ENDOFMONTH('Fecha'[Fecha])
VAR START_DATE-CALCULATE(min('Date'[Date]),ALL('Date'))
devolución
CALCULATE(SUM('1 Inventory Value'[Cost Amount])+SUM('1 Inventory Value'[Cost Amount Adjustment]),FILTER('1 Inventory Value',('1 Inventory Value'[Financial Date]<-END_DATE && '1 Valor de inventario'[Fecha financiera]>'START_DATE) && '1 Valor de inventario'[Fecha financiera]<>FECHA(1900,01,01)&& '1 Valor de inventario'[Tipo de registro]
"Física", "Financiero"-),ALL('Date'))
+
CALCULATE(SUM('1 Inventory Value'[Cost Amount Physical]),FILTER('1 Inventory Value',('1 Inventory Value'[Financial Date]<max_date && '1 Inventory Value'[Financial Date]>?START_DATE) &&(('1 Inventory Value'[Financial Date]>END_DATE || '1 Valor de inventario'[Fecha financiera]-FECHA(1900,01,01))&& '1 Valor de inventario'[Tipo de contabilización]
"Física", "Financiero" )
Inventario2 ?
CALCULAR (
[Inventario1],
ALL ( 'Fecha'[Fecha]),
datesween( 'Date'[Date], blank(), lastdate('Date'[Date]))
)
Y usé Inventory2 y funcionó perfectamente. Gracias a todos por dar algunas pistas.
@Rajashekhar , Prefiere tener una tabla de fechas independiente en este caso e intentar medir
medida :
var _max á maxx(Filter(allselected(A), [Datos de transacción] - selectedValue(Date[Date])), A[Financial Date])
devolución
calculate(sumx(A,A[Cost Amount] + A[Cost Amount Adjustment]), filter(A, A[Financial Date] <-_max)) +calculate(sum(A[Cost Amount Physica]), filter(A, A[Financial Date] >_max))
Si la fecha está conectada
medida :
var _max á maxx(Filter(allselected(A), [Datos de transacción] - selectedValue(Date[Date])), A[Financial Date])
devolución
calculate(sumx(A,A[Cost Amount] + A[Cost Amount Adjustment]), filter(A, A[Financial Date] <-_max),all(Date)) +calculate(A[Cost Amount Physica]), filter(A, A[Financial Date] >_max),all(date))
En primer lugar, muchas gracias Amit por la rápida respuesta.
Pero la fecha financiera no siempre es mayor que la fecha de transacción, a veces es menor que la fecha de transacción. Así que habrá discordancia en las variables para elegir Max!
@Rajashekhar, estoy tratando de tomar el máximo en la fecha seleccionada. [Datos de transacción] - selectedValue(Date[Date]), Hemos elegido entre en min o max [Fecha financiera] en la fecha de transacción seleccionada
En realidad, hay un filtro en la fecha de transacción. Supongo que tenemos que añadirlo. Por favor, encuentre a continuación la consulta. He agregado filtro de publicación en su consulta, pero no sé cómo agregar el filtro de fecha de transacción.
selectB. [Código de almacén],d.[Número de artículo],(A.Cantidad) como Invonhand, caso cuando (A.[Fecha financiera] <> '1900-01-01 00:00:00.000' y A.[Fecha financiera] <''2020-08-31 00:00:00') entonces (A.[Cost Amount] + A.[Cost Amount Adjustment]) else (A.[Cost Amount Physical])end as invvalue ,A.*from [dbo]. [FactInventoryValue] Una unión interna [dbo]. [DimInventoryDimension] Bon A.[Clave de dimensión de inventario] - B.[Clave de dimensión de inventario]unión interna [dbo]. [DimCompany] con A.[Clave de la empresa] á c.[Clave de la empresa] y c.[Nombre de la empresa] á 'BRIGHTSTAR URUGUAY S.A.' unión interna [dbo]. [DimProduct] don A.[Clave de producto] á d.[Clave de producto]donde A.[Tipo de publicación] en ('Físico','Financiero')y A.[Fecha de transacción] <' '2020-08-31 00:00:00'y A.[Fecha de transacción] <> '1900-01-01 00:00:00.000' ) tmpgroup por [Código de almacén], [Número de artículo].
Aquí está la consulta que u dio.
AmitQuery ?
var _max á MAXX(Filter(allselected('1 Inventory Value'), [TRANSACTIONAL_MONTH_YEAR] á selectedValue('Date'[Month])), '1 Inventory Value'[FINANCIAL_MONTH_YEAR])
devolución
calculate(sumx('1 Inventory Value','1 Inventory Value'[Cost Amount] + '1 Inventory Value'[Cost Amount Adjustment]), filter('1 Inventory Value', '1 Valor de inventario'[FINANCIAL_MONTH_YEAR] <-_max &&'1 Valor de inventario'[Tipo de contabilización] en "Físico", "Financiero" &&'1 Valor de inventario'[Valor de inventario financiero"[Valor de inventario financiero"Fecha]<>DATE(1900,1,1) ),ALL('Date'[Month])) + calculate(sum('1 Inventory Value'[Cost Amount Physical]), filter('1 Inventory Value' , '1 Valor de inventario'[FINANCIAL_MONTH_YEAR] >_max && '1 Valor de inventario'[Tipo de contabilización] en "Físico", "Financiero" && '1 Valor de inventario'[Fecha financiera]- fecha(1900,1,1)),ALL('Fecha'[Mes]))
Filtro es el formato del año mes que he cambiado en consecuencia.
Aquí deberíamos el valor 1,499,767,50 pero estamos recibiendo 1,453,419.00.
El filtro dado es febrero 2020.
Otro ejemplo a continuación.
Aquí necesitamos obtener 605,142.92 pero como los datos se filtran para feb 2020, estamos recibiendo 0!!! Y hay otros 2 filtros uno es año y otro es el nombre de la empresa.
En realidad, hay un filtro en la fecha de transacción. Supongo que tenemos que añadirlo. Por favor, encuentre a continuación la consulta. He agregado filtro de publicación en su consulta, pero no sé cómo agregar el filtro de fecha de transacción.
selectB. [Código de almacén],d.[Número de artículo],(A.Cantidad) como Invonhand, caso cuando (A.[Fecha financiera] <> '1900-01-01 00:00:00.000' y A.[Fecha financiera] <''2020-08-31 00:00:00') entonces (A.[Cost Amount] + A.[Cost Amount Adjustment]) else (A.[Cost Amount Physical])end as invvalue ,A.*from [dbo]. [FactInventoryValue] Una unión interna [dbo]. [DimInventoryDimension] Bon A.[Clave de dimensión de inventario] - B.[Clave de dimensión de inventario]unión interna [dbo]. [DimCompany] con A.[Clave de la empresa] á c.[Clave de la empresa] y c.[Nombre de la empresa] á 'BRIGHTSTAR URUGUAY S.A.' unión interna [dbo]. [DimProduct] don A.[Clave de producto] á d.[Clave de producto]donde A.[Tipo de publicación] en ('Físico','Financiero')y A.[Fecha de transacción] <' '2020-08-31 00:00:00'y A.[Fecha de transacción] <> '1900-01-01 00:00:00.000' ) tmpgroup por [Código de almacén], [Número de artículo].
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |