Gdps
¡Hola a todos!
Estoy tratando de obtener la suma total de una tabla, que tiene valores en diferentes monedas.
Comencé a aprender DAX hace dos semanas, pero logré obtener la suma correcta por mes, pero los subtotales no funcionan.
Básicamente…
Tengo una tabla con el valor de cada moneda en dólares:
Para obtener solo los valores en la moneda ARS, usé:
Total_Orçado_ARS = SUMX(FILTER(Arg_Orcado;Arg_Orcado[Currency]="ARS");Arg_Orcado[ValorOrçado])
Para convertir ARS a USD:
Convert_ARS_USD = SUMX(FILTER(db_Currency;db_Currency[LocalCurrency]="ARS");db_Currency[Factor])
Y finalmente, para corregir el monto total:
Total_ARS_USD = DIVIDE([Total_Orçado_ARS];[Convert_ARS_USD];0)
El resultado por fila parece correcto, pero el subtotal no.
1) ¿Cómo puedo obtener el subtotal correcto (8.215.067,05 ARS)?
2) ¿Alguna sugerencia sobre cómo puedo optimizar esta conversión de moneda?
Atentamente
v-xicai
Hola @Gdps
Para su pregunta 1, esto parece un problema de totales de medida. Básicamente, cree un «Calculate_Row » medida que calcula el resultado correcto a nivel de fila.
Calculate_Row = DIVIDIR ([Total_Orçado_ARS],[Convert_ARS_USD], 0)
Luego, cree un «Total_USD « medida que realiza un RESUMEN de sus datos, exactamente como se muestra en su tabla, y use el «Total_USD « medir dentro de esa función SUMMARIZE para proporcionar los valores para las filas resumidas individualmente. Finalmente, realice una función SUMX en esa tabla resumida para emplear en la línea Total. La función HASONEVALUE comprueba si es realmente necesario utilizar el SUMX.
Total_USD =
VAR _table = SUMMARIZE (‘db_Currency’,[Mes_Nome_Mai],[Total_Orçado_ARS],[Convert_ARS_USD],»_Valor»,[Calculate_Row])
REGRESO
IF (HASONEVALUE (‘db_Currency'[Mes_Nome_Mai]),[Calculate_Row], SUMX (_tabla,[_Value]))
Consulte esta publicación sobre un caso similar: https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/mp/547907.
Para su pregunta 2, puede crear un «Convert_ARS_USD « medir para obtener el tipo de cambio.
Convert_ARS_USD = LOOKUPVALUE (db_Currency[Factor], Arg_Orcado[Currency], «ARS», Arg_Orcado[Mes_Nome_Mai], MAX (Arg_Orcado[Mes_Nome_Mai]))
Si tiene algún otro problema, no dude en preguntar.
Atentamente,
Amy
v-xicai
Hola @Gdps
Para su pregunta 1, esto parece un problema de totales de medida. Básicamente, cree un «Calculate_Row » medida que calcula el resultado correcto a nivel de fila.
Calculate_Row = DIVIDIR ([Total_Orçado_ARS],[Convert_ARS_USD], 0)
Luego, cree un «Total_USD « medida que realiza un RESUMEN de sus datos, exactamente como se muestra en su tabla, y use el «Total_USD « medir dentro de esa función SUMMARIZE para proporcionar los valores para las filas resumidas individualmente. Finalmente, realice una función SUMX en esa tabla resumida para emplear en la línea Total. La función HASONEVALUE comprueba si es realmente necesario utilizar el SUMX.
Total_USD =
VAR _table = SUMMARIZE (‘db_Currency’,[Mes_Nome_Mai],[Total_Orçado_ARS],[Convert_ARS_USD],»_Valor»,[Calculate_Row])
REGRESO
IF (HASONEVALUE (‘db_Currency'[Mes_Nome_Mai]),[Calculate_Row], SUMX (_tabla,[_Value]))
Consulte esta publicación sobre un caso similar: https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/mp/547907.
Para su pregunta 2, puede crear un «Convert_ARS_USD « medir para obtener el tipo de cambio.
Convert_ARS_USD = LOOKUPVALUE (db_Currency[Factor], Arg_Orcado[Currency], «ARS», Arg_Orcado[Mes_Nome_Mai], MAX (Arg_Orcado[Mes_Nome_Mai]))
Si tiene algún otro problema, no dude en preguntar.
Atentamente,
Amy
Gdps
En respuesta a v-xicai
Hola @ v-xicai
Indagando un poco más descubrí el LOOKUPVALUE. Entonces creé la columna calculada con esta fórmula, por lo que cada línea de valor ahora tiene el factor de conversión (según la moneda local y el mes).
Trabajado como un encanto.
Pero miraré la fórmula SUMMARIZE y HASONEVALUE más adelante.
Gracias por la ayuda