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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Syndicate_Admin
Administrator
Administrator

Error en el valor de los subtotales de las sumas de filas y columnas de una matriz

Hola

Tengo un problema. Para averiguar las distancias entre dos lugares, he creado una matriz para obtener la información. Las filas y columnas se toman de dos listas de SharePoint diferentes, ya que las columnas representan los lugares de salida y los lugares de llegada. En ambas listas, tengo las ciudades de las ubicaciones, así como la latitud y longitud.


Calculo la distancia como una medida entre todas las ubicaciones usando esta fórmula:

Kilómetros = Fueron Latitud 1 = MIN('Dirección 1'[Latitud])
Fueron Lng1 = MIN('Dirección 1'[Longitud])

Fueron Lat2 = MIN('Dirección 2'[Latitud])
Fueron Lng2 = MIN('Dirección 2'[Longitud])
---- algoritmo aquí -----
Fueron P = DIVIDIR( PI(), 180 )
Fueron A = 0.5 - CON LOS((Lat2-Lat1) * p)/2 +
CON LOS(lat1*p)* CON LOS(lat2 * P) * (1-CON LOS((Lng2- Lng1) * p)) /2
Fueron final = 12742 * SALADO((SQRT(A)))
devolución final

Lo que encontré en otro foro de Power bi investigando un poco, lo que me da un resultado consistente en la mayoría de los valores que miré (del orden de un kilómetro de diferencia, así que eso es bueno, el objetivo es tener solo una aproximación), pero cuando muestro los subtotales de las filas y columnas, no tengo los valores correctos, y no he encontrado la solución en otro foro (es posible que haya buscado incorrectamente).

SansNom_0-1718956093906.png


Gracias de antemano por su respuesta.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Para aquellos que harán la pregunta, hice una combinación cruzada para crear una nueva tabla con todas las posibilidades :

AllCombinations =

SELECTCOLUMNS(
UNIÓN CRUZADA(
'Dirección 1',
'Dirección 2'
),
"1ID", 'Dirección 1'[ID],
"1", 'Dirección 1'[Ubicación],
"1Latitud", 'Dirección 1'[Latitud],
"1Longitud", 'Dirección 1'[Longitud],
"2", 'Dirección 2'[ID],
"2Latitud", 'Dirección 2'[Latitud],
"2Longitud", 'Dirección 2'[Longitud]
)

y luego creé una medida que me permite obtener las distancias totales:

Distancia =
FUERON Años1 = [1Latitud]
FUERON Lng1 = [1Longitud]
FUERON Años2 = [2Latitud]
FUERON Lng2 = [2Longitud]
FUERON P = PI() / 180
FUERON A = 0.5 - CON LOS((Años2 - Años1) * P) / 2 +
CON LOS(Años1 * P) * CON LOS(Años2 * P) * (1 - CON LOS((Lng2 - Lng1) * P)) / 2
FUERON Final = 12742 * SALADO(SQRT(A))
DEVOLUCIÓN Final
Finalmente puse los primeros ID en línea y los segundos en columnas de mi matriz y puse la distancia como valores, lo que me dio los subtotales correctos directamente
Mi tabla AllCombination es muy grande, pero es la única solución que encontré para resolver el problema

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Para aquellos que harán la pregunta, hice una combinación cruzada para crear una nueva tabla con todas las posibilidades :

AllCombinations =

SELECTCOLUMNS(
UNIÓN CRUZADA(
'Dirección 1',
'Dirección 2'
),
"1ID", 'Dirección 1'[ID],
"1", 'Dirección 1'[Ubicación],
"1Latitud", 'Dirección 1'[Latitud],
"1Longitud", 'Dirección 1'[Longitud],
"2", 'Dirección 2'[ID],
"2Latitud", 'Dirección 2'[Latitud],
"2Longitud", 'Dirección 2'[Longitud]
)

y luego creé una medida que me permite obtener las distancias totales:

Distancia =
FUERON Años1 = [1Latitud]
FUERON Lng1 = [1Longitud]
FUERON Años2 = [2Latitud]
FUERON Lng2 = [2Longitud]
FUERON P = PI() / 180
FUERON A = 0.5 - CON LOS((Años2 - Años1) * P) / 2 +
CON LOS(Años1 * P) * CON LOS(Años2 * P) * (1 - CON LOS((Lng2 - Lng1) * P)) / 2
FUERON Final = 12742 * SALADO(SQRT(A))
DEVOLUCIÓN Final
Finalmente puse los primeros ID en línea y los segundos en columnas de mi matriz y puse la distancia como valores, lo que me dio los subtotales correctos directamente
Mi tabla AllCombination es muy grande, pero es la única solución que encontré para resolver el problema

Helpful resources

Announcements
Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Top Solution Authors