John_dozen34999
Hola a todos,
Esta es la tabla dada.
¿Es posible el siguiente resultado en DAX?
Gracias por adelantado.
v-yalanwu-msft
Hola, @John_Dozen34999,
De acuerdo con su descripción, puede crear una tabla para generar 12 meses y usar GENERAR() para conectar 2 mesas,
luego cree una columna de valores calculados y finalmente colóquela en matriz y ordene por índice. la siguiente fórmula para crear:
Paso 1: ingrese datos para crear una tabla y agregue una columna de índice:
Paso 2: Nueva tabla
Gnew_table = GENERATE(SUMMARIZE('Table','Table'[Items]),'Table 2')
Paso 3: crea una columna
value =
VAR a =
RELATED ( 'Table'[Amount] )
* (
MONTH ( CONVERT ( LEFT ( 'Gnew_table'[date], 3 ) & " 1", DATETIME ) )
- MONTH (
CONVERT ( LEFT ( RELATED ( 'Table'[Start of Saving] ), 3 ) & " 1", DATETIME )
) + 1
)
RETURN
IF ( a > 0, a, BLANK () )
Paso 4: Ordenar por columna de índice
Por último, cree una matriz. El resultado final se muestra a continuación:
Atentamente,
Equipo de apoyo comunitario_ Yalan Wu
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.
v-yalanwu-msft
Hola, @John_Dozen34999,
De acuerdo con su descripción, puede crear una tabla para generar 12 meses y usar GENERAR() para conectar 2 mesas,
luego cree una columna de valores calculados y finalmente colóquela en matriz y ordene por índice. la siguiente fórmula para crear:
Paso 1: ingrese datos para crear una tabla y agregue una columna de índice:
Paso 2: Nueva tabla
Gnew_table = GENERATE(SUMMARIZE('Table','Table'[Items]),'Table 2')
Paso 3: crea una columna
value =
VAR a =
RELATED ( 'Table'[Amount] )
* (
MONTH ( CONVERT ( LEFT ( 'Gnew_table'[date], 3 ) & " 1", DATETIME ) )
- MONTH (
CONVERT ( LEFT ( RELATED ( 'Table'[Start of Saving] ), 3 ) & " 1", DATETIME )
) + 1
)
RETURN
IF ( a > 0, a, BLANK () )
Paso 4: Ordenar por columna de índice
Por último, cree una matriz. El resultado final se muestra a continuación:
Atentamente,
Equipo de apoyo comunitario_ Yalan Wu
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.
John_dozen34999
En respuesta a v-yalanwu-msft
¡Hola!
¿Es posible aplicar la frecuencia de forma trimestral o semestral?
John_dozen34999
En respuesta a v-yalanwu-msft
¡Gracias! esto resolvió mi problema. eres un salvavidas 🙂
MikeJohnsonZA
Hola @John_Dozen34999
hay algunas cosas que suceden en este cálculo, la primera es tratar con estos elementos uno por uno, incluso para el total, para esto, he usado la función SUMX, luego necesitamos calcular la diferencia de fecha entre el [Start of savings date] y la corriente [year month](o período). Combinando estos dos obtenemos el siguiente calc.
Medida1 =
SUMX (
CALCULABLE (
VALORES ( ‘elementos'[Item] ),
TODO ( fechas )
),
VAR _EndOFDateRange =
MÁX. ( ‘Fechas'[Date] )
VAR _Fecha de inicio =
CALCULAR (
MÍN. ( ‘elementos'[Start of Savings] ),
TODO ( ‘Fechas’ )
)
VAR _Número de meses =
FECHADIFF (
_Fecha de inicio,
_EndOFDateRange,
MES
) + 1
VAR _Monto =
CALCULAR (
SUMA ( ‘elementos'[Amount] ),
TODO ( fechas )
)
REGRESO
SI (
_Número de meses > 0,
_Número de meses * _Monto,
BLANCO ()
)
)
La imagen a continuación muestra que esto se alinea con lo que tiene, sin embargo, existen algunas limitaciones: solo podrá tener una sola cantidad y fecha para un artículo determinado.
amichandak
@ John_Dozen34999, pruebe una medida como
medida =
var _min = minx(todas las seleccionadas(‘Fecha’),’Fecha'[Date])
var _val = minx(todoslosseleccionados(‘Tabla’),’Tabla'[value])
regreso
_val1 * fechadoiff(_min, max(‘Fecha'[Date], mes))
John_dozen34999
En respuesta a amichandak
Gracias por la respuesta rápida.
Actualicé mi problema.