Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
sv12
Helper III
Helper III

Secuencia de comandos de Python para DAX

Hola, estoy tratando de convertir el siguiente script python a la columna DAX Calculated:

import numpy as np
dataset["OBV"] = np.where(dataset['close'] > dataset['close'].shift(1), dataset['volume']  ,
np.where(dataset['close'] < dataset['close'].shift(1), -dataset['volume'], 0)).cumsum()

Razón:

No puedo agregar python a mi puerta de enlace local para habilitar las actualizaciones programadas.

Datos de muestra:

AsofDateCercaVolumen
2/1/199032850000
2/2/199033045000
2/3/199034265000
2/4/199035245000
2/5/199032020000
2/6/199036535000
2/7/199065245600

¡Apreto cualquier ayuda con DAX! Gracias

4 REPLIES 4
amitchandak
Super User
Super User

@sv12, lo que se espera de la salida y la lógica.

Hola @amitchandak
Gracias por su respuesta.

Datos de muestra: Datos de muestra

Columnas de entrada: A partir de fecha, cierre, volumen

Columna de salida: OBV


Lógica de negocios:

Si el cierre de hoy es mayor que el cierre de ayer, entonces:
OBV - El OBV de ayer + Volumen de hoy

Si el cierre de hoy es menor que el cierre de ayer, entonces:
OBV - OBV de ayer – Volumen de hoy

Si el cierre de hoy es igual al cierre de ayer, entonces:
OBV - OBV de ayer

Ejecución con Python:

import numpy as np
dataset["OBV"] = np.where(dataset['close'] > dataset['close'].shift(1), dataset['volume']  ,
np.where(dataset['close'] < dataset['close'].shift(1), -dataset['volume'], 0)).cumsum()

Estoy tratando de ejecutar el mismo usando DAX.

¡Avísame si tienes preguntas!

Gracias

Sv

hola @sv12

para su requisito, debe crear dos columnas para obtener sus requisitos:

judgecolumn = var _yesterdaydate=CALCULATE(MAX('Table'[As of Date]),FILTER('Table','Table'[As of Date]<EARLIER('Table'[As of Date])))
var _yesterdayclose=CALCULATE(SUM('Table'[Close]),FILTER('Table','Table'[As of Date] = _yesterdaydate))
return

DIVIDE('Table'[Close]-_yesterdayclose,ABS('Table'[Close]-_yesterdayclose)) *'Table'[Volume]
OBV = 

SUMX(FILTER('Table','Table'[As of Date]<=EARLIER('Table'[As of Date])),[judgecolumn])

Resultado:

Para la primera fecha de sus datos de muestra, no hay obV ayer, por lo que he dar un valor fijo

OBV = 

SUMX(FILTER('Table','Table'[As of Date]<=EARLIER('Table'[As of Date])),[judgecolumn])+287025018164

10.JPG

aquí está el archivo pbix de muestra, por favor pruébelo.

saludos

Lin

Community Support Team _ Lin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

vinay2214_0-1641560376121.png

Hola necesito convertir este script python en dax ¿alguna idea?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.