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

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

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
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

Top Solution Authors