Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
¡Hola! Necesito ayuda con un POWER BI Dashboard.
Tengo datos de: Fecha de inicio servicios / Número de meses de nuestros servicios / Importe ponderado por mes.
Me gustaría hacer una matriz visual que muestre:
Por año y mes, desde la fecha de inicio de servicios, el importe ponderado de cada mes, para todos los meses que duran nuestros servicios:
ej: fecha de inicio: 01/01/2024 / número de meses: 3 / importe ponderado por mes: 2000,00 €
VISUAL:
Enero 2024 - 2000,00
Febrero 2024 - 2000,00
Marte 2024 - 2000,00
Abril 2024 - 0,00
Mayo 2024 -0,00€
¿Es posible mostrarlo con una fórmula DAX? si es así, ¿cómo puedo hacerlo?
¡¡¡Muchas gracias por vuestra ayuda!!!
Algo asi:
Solved! Go to Solution.
Hola. comprueba si el nombre de la columna que puse en el código es correcto.
Start of our services Jerarquía és correcto?
Proud to be a Super User!
Hola @Syndicate_Admin ,
¿Puedo preguntar si _AAndrade solución en la publicación original te ayudó?
Si tiene más preguntas, no dude en ponerse en contacto conmigo.
Saludos
Yang
Equipo de apoyo a la comunidad
Si hay alguna publicación que ayude, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Si no entiendo sus necesidades o aún tiene problemas al respecto, no dude en hacérnoslo saber. ¡Muchas gracias!
Para mí la mejor manera sería dividir cada una de estas líneas por cada mes para el que tenemos datos y luego usar una simple fórmula DAX para obtener los valores.
Esta es mi solución:
Empecé usando este código M:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCskvyExW0lEKLkksKlHIT1MITi0qy0xOLQaKuZQWJZZk5ucpZOYp+ObnlWSABMNTM9MzSlJTICJKsTrRSv5paalFCoZASQNDfQMjfSMDIxMgxwiIjQ0MkJQYQZUYIisxRFFiDFVijKzECKQkFgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t, Column4 = _t]),
#"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
#"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"Topic", type text}, {"Start of Services", type date}, {"Duration in Months", Int64.Type}, {"Weighted Month", Int64.Type}}),
DateList = Table.AddColumn( #"Changed Type1","Month", each List.Dates([Start of Services], [Duration in Months], #duration(31,0,0,0))),
#"Expanded Meses" = Table.ExpandListColumn(DateList, "Month"),
#"Calculated Start of Month" = Table.TransformColumns(#"Expanded Meses",{{"Month", Date.StartOfMonth, type date}})
in
#"Calculated Start of Month"
Y luego usé esta fórmula DAX:
Total Month = SUM(T_Officer[Weighted Month])
Luego vinculé mi tabla de calendario a la columna Meses.
El resultado fue este:
Proud to be a Super User!
Gracias! este es el resultado que quiero, pero no se como ni donde meter ese código
que tendria que poner aqui, nunca he hecho paramétros...
El código M que coloqué se coloca en Power Query, pero tendrás que hacer ajustes para que este código lea tu tabla y los nombres de tus columnas. ¿Sabes cómo utilizar Power Query?
Proud to be a Super User!
mi nivel es muy básico.
Tengo mi consulta opportunitty (2) y alli l un montón de columnas, las que necesito para esta visualización son:
Topic (nombre de la oferta)
Start of our services
Weighted amount por mes
Duration in months
Con todo esto entiendo que tengo que crear una consulta nueva, es así? (Crear una nueva tabla) y allí introducir el código... voy bien? pero no se traducir tu código con mis columnas...
Pon aquí tu código M que tienes actualmente y una imagen del nombre de las columnas y modificaré el código para que solo tengas que reemplazarlo
Proud to be a Super User!
Gracias!
No se donde ver el codigo M, es esto?
let
Origen = CommonDataService.Database("cotopmanagement.crm4.dynamics.com"),
dbo_opportunity = Origen{[Schema="dbo",Item="opportunity"]}[Data]
in
dbo_opportunity
los datos los saco de
y las columnas:
Es esto lo que me pides?
Muchisimas gracias por tu ayuda!!
Vaya a Power Query y seleccione una nueva consulta en blanco:
A continuación, pegue este nuevo código y vea si funciona para sus datos.
let
Origen = CommonDataService.Database("cotopmanagement.crm4.dynamics.com"),
dbo_opportunity = Origen{[Schema="dbo",Item="opportunity"]}[Data],
DateList = Table.AddColumn( dbo_opportunity,"Month", each List.Dates([Start of our services Jerarquía], [Duration in months], #duration(31,0,0,0))),
ExpandedMonth = Table.ExpandListColumn(DateList, "Month"),
CalculatedStartMonth = Table.TransformColumns(ExpandedMonth,{{"Month", Date.StartOfMonth, type date}})
in
CalculatedStartMonth
Proud to be a Super User!
Hola! Gracias por tu ayuda, pero me da el siguiente error
😞
Hola. comprueba si el nombre de la columna que puse en el código es correcto.
Start of our services Jerarquía és correcto?
Proud to be a Super User!
Sí, es correcto
He probado también con Start of our services (sin jerarquia) y me sale el mismo error
@ElenaCarciLopez,
Para ayudarte, necesito que me muestres cómo es tu modelo de datos y tu estructura de tablas.
¿De dónde sacamos estos valores?
fecha de inicio: 01/01/2024 / número de meses: 3 / importación ponderada por mes: 2000,00 €.
Proud to be a Super User!
Tengo Una consulta que los datos provienen de D365 Sales llamada Opportunities.
Esta consulta tiene las columnas con toda la información. Hay varias columnas: TOPIC (nombre de la oferta), START OF SERVICES (fecha de inicio de nuestros servicios), DURATION IN MONTHS (numero de meses que va a durar el servicio), WEIGHTED AMOUNT POR MES (lo que cobraríamos cada mes, esto es una fórmula que he hecho de dividir el Weighted amount (columna que viene de Sales) por el duration in months.
De allí sale la información.
Sabes como podría hacer la tabla para que me saliera a partir del mes de start of services y cada mes durante el nº de meses de duration un months, el weighted amount por mes.
Quiero tener una tabla así:
Aquí la OFFER 1 tendriamos que se inicia en febrero y dura dos meses y su precio por mes es 300
Aquí la OFFER 2 tendriamos que se inicia en enero y dura dos meses y su precio por mes es 100
Aquí la OFFER 3 tendriamos que se inicia en marzo y dura dos meses y su precio por mes es 200
2024 | ||||
January | February | Mars | April | |
OFFER | ||||
Offer 1 xxx BCN | 300 | 300 | ||
Offer 2 xxx TAR | 100 | 100 | ||
Offer 3 xxx MAD | 200 | 200 |