cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ilky
Helper III
Helper III

Necesita ayuda para calcular el promedio ponderado

Hola

Tengo una tabla de referencia que contiene el estado sabio promedio de la duración de las estancias (ALOS) en el hospital para diferentes procedimientos. También tengo una tabla de hechos que contiene episodios de admisión y LOS para cada paciente. Me gustaría calcular el promedio ponderado LOS usando el estado ALOS.

ilky_1-1596897357960.png

En la imagen se muestra un ejemplo de datos. La fórmula para El ESTADO Ponderado ALOS es:

(H8/H10)*$H$3+(H9/H10)*$H$4 para enero

(I8/I10)*$H$3+(I9/I10)*$H$4 para febrero y así sucesivamente ..

No puedo crear la medida DAX que calcula el ESTADO ponderado ALOS.

¿Puede ayudar por favor ?

1 ACCEPTED SOLUTION
Arklur
Resolver II
Resolver II

Puse manualmente sus datos de muestra en un modelo, aquí está el código PQ para eso:

// StateAverage
let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8s5LTVXSUTJVitWJVvLILACyDQ2UYmMB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Procedure = _t, StateAverageLos = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Procedure", type text}, {"StateAverageLos", Int64.Type}})
in
    #"Changed Type"

// Data
let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8krMU9JR8s5LTQVSZkqxOtFKbqlJCCFjsJBvYhFCyAIs5FiAJGQJVVWJEDICC3mVIhlvCBEC2+iRWQA3HWIhRMQMyT6IiDmSdRARUyTbICJGxki2QYRMlGJjAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Date = _t, Procedure = _t, Procedures = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type text}, {"Procedure", type text}, {"Procedures", Int64.Type}})
in
    #"Changed Type"

Después de eso, cree la relación necesaria entre las 2 tablas:

image.png

A continuación, agregue esta medida al modelo:

WeightedStateAverageLos = 
VAR vWeightedSum = 
    SUMX ( 
        Data,
        Data[Procedures] * RELATED ( StateAverage[StateAverageLos] )
    )
VAR vCountProcedures = 
    SUM ( Data[Procedures] )
VAR vRetval = 
    DIVIDE ( vWeightedSum, vCountProcedures )
RETURN
    vRetval

Esto debería darle el resultado esperado:

image.png

Obviamente, para ver los meses en el orden correcto, se necesita más transformación, pero ese no es el alcance de su pregunta.

View solution in original post

4 REPLIES 4
amitchandak
Super User
Super User

@ilky, esta no es la forma en que los datos deben estar allí.

¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla?

recomienda

https://www.sqlbi.com/blog/marco/2017/10/02/why-data-modeling-is-important-in-powerbi/

https://radacad.com/power-bi-basics-of-modeling-star-schema-and-how-to-build-it



Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

Arklur
Resolver II
Resolver II

Puse manualmente sus datos de muestra en un modelo, aquí está el código PQ para eso:

// StateAverage
let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8s5LTVXSUTJVitWJVvLILACyDQ2UYmMB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Procedure = _t, StateAverageLos = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Procedure", type text}, {"StateAverageLos", Int64.Type}})
in
    #"Changed Type"

// Data
let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8krMU9JR8s5LTQVSZkqxOtFKbqlJCCFjsJBvYhFCyAIs5FiAJGQJVVWJEDICC3mVIhlvCBEC2+iRWQA3HWIhRMQMyT6IiDmSdRARUyTbICJGxki2QYRMlGJjAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Date = _t, Procedure = _t, Procedures = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type text}, {"Procedure", type text}, {"Procedures", Int64.Type}})
in
    #"Changed Type"

Después de eso, cree la relación necesaria entre las 2 tablas:

image.png

A continuación, agregue esta medida al modelo:

WeightedStateAverageLos = 
VAR vWeightedSum = 
    SUMX ( 
        Data,
        Data[Procedures] * RELATED ( StateAverage[StateAverageLos] )
    )
VAR vCountProcedures = 
    SUM ( Data[Procedures] )
VAR vRetval = 
    DIVIDE ( vWeightedSum, vCountProcedures )
RETURN
    vRetval

Esto debería darle el resultado esperado:

image.png

Obviamente, para ver los meses en el orden correcto, se necesita más transformación, pero ese no es el alcance de su pregunta.

View solution in original post

Hola @Arklur

Muchas gracias, esto es exactamente lo que necesitaba. Sigo siendo nuevo en Power BI, su explicación era clara y fácil de entender.

Gracias de nuevo.

saludos

Ilky

Greg_Deckler
Super User
Super User

@ilky - No hay suficiente información para continuar, 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.


@ me in replies or I'll lose your thread!!!
Check out my External Tool for Power BI Desktop!
Microsoft Hates Greg's Quick Measures
Check out my latest book!

Helpful resources

Announcements
PBI_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Power BI October Update 2021.jpg

Power BI Release

Click here to read more about the October 2021 Release!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

Teds Dev Camp Oct. 2021 768x460.jpg

Power BI Dev Camp - October 28th, 2021

Mark your calendars and join us for our next Power BI Dev Camp!

Top Solution Authors