Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hola
Tener un poco de pepinillo en este, pero espero que alguien aquí pueda ayudar potencialmente. Simplemente no estoy muy seguro de cómo puedo hacer esto dinámicamente, pero necesito que el poder bi resuma la información basada en dos conjuntos de datos diferentes.
Entonces, tenemos ingresos y los ingresos se dividen por la identificación de dicha persona que genera ingresos, el número de mes, el año y la cantidad de ingresos.
En un conjunto de datos diferente, tenemos esas mismas identificaciones donde se mostrará un mes de inicio, un año de inicio y un mes de finalización y un año de finalización.
Lo que estoy tratando de hacer es decirle a Dax que solo resuma la información que se encuentra entre ese mes de inicio / año de inicio y el mes de fin / año de finalización.
Por ejemplo:
Bill hizo 1,000,000 en 2019 - 2020
y 1.000.000 en 2021-2022
el Desglose es tal:
IDENTIFICACIÓN | Ejercicio de ingresos | Mes de ingresos | Ingresos |
1234 | 2019 | 3 | 250000 |
1234 | 2019 | 6 | 250000 |
1234 | 2020 | 2 | 250000 |
1234 | 2020 | 7 | 250000 |
1234 | 2021 | 1 | 250000 |
1234 | 2021 | 6 | 250000 |
1234 | 2021 | 9 | 250000 |
1234 | 2022 | 3 | 250000 |
Mi otro conjunto de datos se verá algo como esto:
IDENTIFICACIÓN | Mes de inicio | Año de inicio | Fin de mes | Fin de año | Ejercicio de ingresos |
1234 | 6 | 2020 | 6 | 2021 | Año 1 |
1234 | 6 | 2021 | 6 | 2022 | Año 2 |
¿Cómo puedo decirle a dax que resuma dinámicamente entre ese período de tiempo? Entonces, esencialmente, donde en el siguiente conjunto de datos vemos que el Año 1 está entre el Mes 6 de 2019 y el Mes 6 de 2020, esto sumaría hasta $ 750,000 y luego el Año 2 sería de $ 500,000.
Por favor, sepa que hay más de 4000 identificaciones y años que abarcan desde 2013 hasta 2034, así que si puedo hacer esta dinámica, estaría muy feliz.
¡Gracias de nuevo!
Hola
Muestre el resultado exacto que está esperando.
Lo siento, reedité mi publicación, no me di cuenta de que tenía algunos errores tipográficos. Esencialmente, quiero hacer una suma dinámica si eso mira las filas año y mes. Esencialmente, es un ingreso de suma que es igual al año de inicio y mayor o igual que el mes # en la tabla de ingresos + ingresos que es igual al año final y menor o igual que el mes final #.
Por favor, explique cómo llegó a 750.000 y 500.000 muy claramente.
Hola @mattwoldt ,
¿Qué quiere decir con esta afirmación? No hay datos a continuación y los años en la segunda tabla son todos 2020.
¿Cómo puedo decirle a dax que resuma dinámicamente entre ese período de tiempo? Entonces, esencialmente, donde en el siguiente conjunto de datos vemos que el Año 1 está entre el Mes 6 de 2019 y el Mes 6 de 2020, esto sumaría hasta $ 750,000 y luego el Año 2 sería de $ 500,000.
Lo siento, reedité mi publicación, no me di cuenta de que tenía algunos errores tipográficos. Esencialmente, quiero hacer una suma dinámica si eso mira las filas año y mes. Esencialmente, es un ingreso de suma que es igual al año de inicio y mayor o igual que el mes # en la tabla de ingresos + ingresos que es igual al año final y menor o igual que el mes final #.
Tenga en cuenta que hay una superposición en su segunda tabla: 202106 es tanto el período final del Año 1 como el comienzo del Año 2.
Para simplificar la calcuación, creé varias columnas para ayudar con los cálculos.
Tabla1
Revenue YrMo =
VALUE ( Table1[Revenue Year] & FORMAT ( Table1[Revenue Month], "00" ) )
Cuadro2
Start YrMo =
VALUE ( Table2[Start Year] & FORMAT ( Table2[Start Month], "00" ) )
End YrMo =
VALUE ( Table2[End Year] & FORMAT ( Table2[End Month], "00" ) )
Para los ingresos, puede utilizar una columna calculada o un enfoque de medida.
Columna Calc en la tabla2
Revenue Sum (Calculated Column) =
CALCULATE (
SUM ( Table1[Revenue] ),
FILTER (
Table1,
Table1[Revenue YrMo] >= EARLIER ( Table2[Start YrMo] )
&& Table1[Revenue YrMo] <= EARLIER ( Table2[End YrMo] )
),
Table1[ID] = EARLIER ( Table2[ID] )
)
Medir
Revenue Sum (Measure) =
SUMX (
ADDCOLUMNS (
SUMMARIZE ( Table2, Table2[ID], Table2[Start YrMo], Table2[End YrMo] ),
"x",
CALCULATE (
SUM ( Table1[Revenue] ),
FILTER (
Table1,
Table1[Revenue YrMo] >= [Start YrMo]
&& Table1[Revenue YrMo] <= [End YrMo]
&& Table1[ID] = [ID]
)
)
),
[x]
)
Esas columnas/medidas darían como resultado esto:
Consulte este enlace para ver el pbix de muestra - https://drive.google.com/file/d/1_Iv8UAqk58yxQOEDsLFdS7l3fgjxIUOh/view?usp=sharing
Me alegro de que haya funcionado.
EARLIER devuelve el valor de una fila de una columna. Si no se especifica el segundo argumento, el valor predeterminado es la fila actual.
Bueno, es posible que haya hablado un poco demasiado pronto. Estoy recibiendo cálculos para algunos, pero para otros aparece en blanco, ¿alguna idea de por qué?
Revisé el otro conjunto de datos, las identificaciones definitivamente están allí y las identificaciones tienen ingresos entre esos rangos.
¡Uau!
Estoy absolutamente sorprendido de que sea increíble. Funciona al 100%. ¡Muchas gracias! Entonces, ¿supongo que la función de filtro con un anterior es una forma de hacer una suma dinámica si parece? Simplemente absolutamente increíble.
Muchas gracias.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
3 | |
1 | |
1 | |
1 | |
1 |