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.
Según el título, tengo varios problemas con los que estoy luchando.
Tengo una tabla: Suscripciones que tiene las siguientes columnas (relevantes para lo que estoy tratando de hacer):
SubscriptionFamily
PurchaseDate
TerminatedDate
Rama
También tengo una tabla Calendar que está unida a la columna PurchaseDate y a la columna TerminatedDate.
Estoy tratando de crear una serie de medidas:
Número total de suscripciones activas en el mes anterior a partir de ahora
Número total de nuevas suscripciones en el mes anterior a partir de ahora
Número total de suscripciones canceladas en el mes anterior a partir de ahora
Luego lo mismo de nuevo, pero para el mes anterior y el siguiente. Por ejemplo, si hoy es agosto quiero calcular lo anterior para julio, junio y mayo y hacer esto dinámicamente.
He intentado crear esto usando lo siguiente (para una de las medidas):
Cancelled Subscriptions=
CALCULATE(
COUNTROWS(Subscriptions),
FILTER(Subscriptions,
PARALLELPERIOD(Subscriptions[TerminatedDate], -1, MONTH) &&
(Subscriptions[Subscriptionfamily] = "Tier1")
))
También he intentado ejecutar el parallelperiod en mi tabla Calendar[date] que falla debido a que hay varias fechas en esa columna.
Me las arreglé para obtener una medida exitosa usando la función anteriorme - sin embargo, me gustaría usar el mismo método para derivar la fecha - para simplificar el código DAX para el usuario final, por lo tanto, por qué estoy intentando usar la función Parallelperiod.
Una vez que tenga las medidas correctas, me gustaría tomarlas y generar algunas medidas derivadas adicionales - a saber, cambios de números y % de cambios - algo así como la siguiente:
Delta =
calculate(
(Measures Table)[new subscriptions] - (Measures Table)[Cancelled Subscriptions]
)
Finalmente, una vez creadas las Medidas, me gustaría ponerlas en una tabla, que tenga este aspecto:
Cambio de número Cambio porcentual
Mes actual: 12345 +45 +0.3%
El mes pasado: 12300 +50 +0.3%
Hace 2 meses: 12250
Y luego, cuando el equipo de administración hace clic en él, se descompone para mostrar por rama:
Rama
Rama 1 Rama 2 Rama 3
Mes actual 4.115 4.115 4.115
El mes pasado 4.100 4.100 4.100
Disculpas por la pregunta de larga duración, estoy familiarizado con SQL, pero estoy teniendo que empezar a aprender DAX desde cero y a menudo perder medio día tratando de hacer algo, sólo para encontrar que si hiciera la pregunta con la terminología correcta, habría encontrado una función que hizo todo lo que necesitaba.
@PowerBIPilgrim , Puede utilizar la inteligencia de tiempo con una tabla de fechas marcada como fecha (Opción al hacer clic con el botón derecho)
Ejemplos
MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD('Date'[Date]))
last MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
last month Sales = CALCULATE(SUM(Sales[Sales Amount]),previousmonth('Date'[Date]))
last MTD (complete) Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-1,MONTH))))
last year MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-12,MONTH)))
last year MTD (complete) Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-12,MONTH))))
Month behind Sales = CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Month))
Year behind Sales = CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Year))
Next month value = CALCULATE(sum('table'[total hours value]),nextmonth('Date'[Date]))
previous month value = CALCULATE(sum('table'[total hours value]),previousmonth('Date'[Date]))
previous to previous month value = CALCULATE(sum('table'[total hours value]),previousmonth(dateadd('Date'[Date],-1,MONTH)))
Power BI — MTD
https://medium.com/@amitchandak.1978/power-bi-mtd-questions-time-intelligence-3-5-64b0b4a4090e
Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únase a ella con la columna de fecha de su/s hecho/s. Consulte:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/
Vea si mi seminario web sobre Time Intelligence puede ayudar: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...
Apreciamos tus Felicitaciones.
Hola
¿Podría compartir algunos datos y mostrar el resultado esperado de esos datos.
Hola Ashish,
Aquí hay un excepto de mis datos:
ID único | Rama | SubscriptionFamily | PurchaseDate | TerminatedDate |
WM-SP-813293 | Rama 1 | Nivel 1 | 2/02/2015 | 3/05/2016 |
WM-SP-813295 | Rama 3 | Nivel 1 | 2/02/2015 | 4/07/2020 |
WM-SP-813296 | Rama 2 | Nivel 1 | 3/02/2015 | 4/05/2017 |
WM-SP-813297 | Rama 1 | Nivel 1 | 3/02/2015 | Null |
WM-SP-813298 | Rama 2 | Nivel 1 | 3/02/2015 | Null |
WM-SP-813299 | Rama 3 | Nivel 1 | 3/02/2015 | Null |
WM-SP-813300 | Rama 1 | Nivel 1 | 3/02/2015 | Null |
Así que para este mes, mostraría 4 suscripciones activas, el mes pasado mostraría 5 y el cambio sería una disminución del -20% de julio a agosto.
Hola
Utilice la técnica discutida aquí para crear una fila para cada mes y podrá utilizar las funciones de Data and Time Intelligence para calcular el crecimiento/varianza.
Espero que esto ayude.
Lamentablemente, ninguna de esas soluciones ha funcionado.
Cuando uso mi columna Calendar[date] - obtengo un error.
La columna Mi calendario tiene el siguiente código:
Calendar = CALENDARAUTO()
Si esto estuviera en SQL- usaría el siguiente código:
set @Last_Month_Start_DateTime = DATEADD(month, DATEDIFF(month, 0, @Last_Month_datetime), 0)
set @Last_Month_End_DateTime = dateadd(day, 1, (EOMONTH(@Last_Month_datetime)))
O
set @last_month = (SELECT convert(datetime, DATEADD(month, -1 ,getdate()), 126))
Con la opción 1 estableciendo una fecha de inicio y finalización para un mes, por ejemplo: 01/07/2020 y 31/07/2020 (aunque en el anterior la fecha final es en realidad 01/08/2020 12:00 am) y la opción 2 sólo estableciendo julio 2020
a continuación, en la configuración consulta:
WHERE (DATEPART(yy, i.datepaid ) = year(@last_month)
AND DATEPART(mm, i.datepaid ) = month(@last_month))
Esto debería ser relativamente fácil - Puedo usar el mes anterior para obtener el último mes y que algo funciona, pero para obtener el mes más antiguo siguiente, o el anterior - debe ser un simple trozo de código de una línea
Hola
Puede descargar mi archivo PBI desde aquí.
Espero que esto ayude.
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 |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |