Forum Discussion
bucle usando DAX
Hola a todos,
Soy muy nuevo con power BI y, por favor, necesito ayuda de un experto.
Necesito la traducción DAX de este For Loop:
a 0;
b a 0;
para (int i-1; i<-n; i++)
{
a x - b;
b x;
}
En este bucle, x y n son valores predefinidos que obtendré de una tabla.
por favor, ayúdenme.
@Ulmat este es un cálculo simple de inteligencia de tiempo, y como práctica recomendada, se recomienda agregar una dimensión de fecha a su modelo para trabajar con fechas, y aquí está una de mis publicaciones que hablan sobre cómo agregar una dimensión de fecha.
Una vez hecho esto, sólo tiene que añadir las siguientes medidas, esto se puede hacer en una sola medida también, pero me gusta desglosar estos para una mejor comprensión y también para reutilizar estas medidas (si es necesario)
Sum Current = SUM ( Table[Current] ) Sum Prev Day = CALCULATE ( [Sum Current], DATEADD ( 'Calendar'[Date], -1, DAY ) ) Increase = [Sum Current] - [Sum Prev Day]Consulta mi última entrada de blog Año-2020, Pandemia, Power BI y más allá para obtener un resumen de mis versiones favoritas de las características de Power BI en 2020
Me gustaría ❤ elogios si mi solución ayudara. 👉 Si puedes dedicar tiempo a publicar la pregunta, también puedes hacer esfuerzos para dar Felicitaciones a quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!
⚡Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consulta relacionadas con Power BI.⚡
13 Replies
- mahoneypat
Microsoft Employee
Realmente no se pueden hacer cálculos recursivos en DAX. Sin embargo, puede hacerlo con List.Accumulate en el editor de consultas.
List.Accumulate Hidden Gem of Power Query List Functions in Power BI - RADACAD
saludos
palmadita
- parry2k
Super User
@Ulmat Me pregunto si este es realmente el enfoque correcto. Al mirar su requisito, parece que tal vez el bucle no es necesario. Usted comenzó la publicación con el requisito de bucle, pero creo que si comparte los datos de muestra y la salida esperada, es probablemente una solución mucho más simple.
- AnonymousNot applicable
Lo sentimos, comencé mi post con looping porque pensé que era la mejor manera de resolver el problema. Publiqué una tabla con la muestra de datos que estoy buscando hacer.
Gracias.
- AnonymousNot applicable
Sí, se ordena en función de la fecha.
Fecha
12/1/2020
12/2/2020
12/3/2020
12/4/2020
12/5/2020
y así sucesivamente.
- parry2k
Super User
@Ulmat este es un cálculo simple de inteligencia de tiempo, y como práctica recomendada, se recomienda agregar una dimensión de fecha a su modelo para trabajar con fechas, y aquí está una de mis publicaciones que hablan sobre cómo agregar una dimensión de fecha.
Una vez hecho esto, sólo tiene que añadir las siguientes medidas, esto se puede hacer en una sola medida también, pero me gusta desglosar estos para una mejor comprensión y también para reutilizar estas medidas (si es necesario)
Sum Current = SUM ( Table[Current] ) Sum Prev Day = CALCULATE ( [Sum Current], DATEADD ( 'Calendar'[Date], -1, DAY ) ) Increase = [Sum Current] - [Sum Prev Day]Consulta mi última entrada de blog Año-2020, Pandemia, Power BI y más allá para obtener un resumen de mis versiones favoritas de las características de Power BI en 2020
Me gustaría ❤ elogios si mi solución ayudara. 👉 Si puedes dedicar tiempo a publicar la pregunta, también puedes hacer esfuerzos para dar Felicitaciones a quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!
⚡Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consulta relacionadas con Power BI.⚡
- AnonymousNot applicable
Probaré esto mañana y te haré saber lo que tengo.
Muchas gracias por su ayuda.
- Syndicate_Admin
Administrator
Hola
Agregué la dimensión de fecha como usted dijo, pero todavía tiene un problema con la segunda línea del código,
la función DATEADD(). Cuando escribo ese lene, Power BI no reconoce 'Calendar'[DATE]. Eplaced Calendario con mi nombre de tabla y FECHA con mi columna de fecha, pero todavía no funciona.
- Syndicate_Admin
Administrator
Aquí está mi código:
Día anterior: CALCULATE( SUM(HBLReport[Current]), DATEADD('Date'[Date], -1, DAY) )
y el resultado es el mismo que la columna Actual. no lo hace.
- Syndicate_Admin
Administrator
Estoy tratando de aplicar la función List.Accumulate, pero todavía no funciona. Tal vez no lo estoy usando de la manera correcta. lo que estoy haciendo es ir a la consulta avanzada y escribo en la función, pero algo sigue mal.
- Syndicate_Admin
Administrator
@Ulmat marcó la tabla de fechas como la fecha y también cuando está visualizando los datos, está utilizando la columna de fecha de la tabla de fechas.
- Syndicate_Admin
Administrator
@Ulmat finalmente, me alegro de oírlo. ¡¡Salud!!
Consulta mi última entrada de blog Año-2020, Pandemia, Power BI y más allá para obtener un resumen de mis versiones favoritas de las características de Power BI en 2020
Me gustaría ❤ elogios si mi solución ayudara. 👉 Si puedes dedicar tiempo a publicar la pregunta, también puedes hacer esfuerzos para dar Felicitaciones a quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!
⚡Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consulta relacionadas con Power BI.⚡