Discover this year's submissions to the Dataiku Frontrunner Awards and give kudos to your favorite use cases and success stories!READ MORE

Two Questions: Using 3rd party .dll in dataiku & Interacting with 3rd party applications

Solved!
teng
Level 1
Two Questions: Using 3rd party .dll in dataiku & Interacting with 3rd party applications

Hi -

1) I wanted to run a .dll that interacts with Excel in Dataiku. Anyone has any idea on what's the best way to do so?

2) I wanted to use dataiku to talk to another in-house program. Currently this application is interacted with through COM object.

Thank you very much in advance!


Operating system used: windows

0 Kudos
2 Solutions
Turribeach
Level 6

Still it is unclear to me why all of this needs to happen inside this app or why this DLL needs to be involved. You could use the Dataiku Python API to create datasets, run flows and obtain outputs, but I really don't see why you will take all that trouble to do this. In general you will be much better if you put all your input data into a SQL database, have Dataiku read all the model inputs from there, then produce an output which you can write back to the same SQL database and read from your desktop app. In terms of executing the Dataiku flow from your desktop app there are easier ways than using the Dataiku API. For instance you can have a Dataiku Scenario execute when a SQL dataset changes, so you could easily have a SQL table your desktop app inserts a row into to generate your flow eecution.

View solution in original post

0 Kudos
CoreyS
Community Manager
Community Manager

Hi @teng while you wait for a more complete response, here are a few resources you may want to check out if you haven't already:

In terms of Macros in Dataiku here are some additional resources:

I hope this helps!

Looking for more resources to help you use Dataiku effectively and upskill your knowledge? Check out these great resources: Dataiku Academy | Documentation | Knowledge Base

A reply answered your question? Mark as ‘Accepted Solution’ to help others like you!

View solution in original post

0 Kudos
8 Replies
Turribeach
Level 6

Hi, DSS runs under Linux not Windows so it won't be able to use DLLs, run Excel or see COM objects. You are not providing enough information as to what you want to achieve or what your goal is (see here) so it's difficult to propose a solution but one way you could bridge a Windows application and DSS is by having a REST API. 

0 Kudos
teng
Level 1
Author

Thanks for the quick reply!

The goal is to utilize dataiku to interact with dll and other applications as part of the flow. 

Any documentation or starting template for an example of how we can use the REST API ?

0 Kudos
Turribeach
Level 6

"The goal is to utilize dataiku to interact with dll and other applications as part of the flow". That's not a goal, that's how you think you can solve your requirement. What exactly are you trying to achieve? What's the point of interacting with the flow? Why this needs to happen via a DLL?

0 Kudos
teng
Level 1
Author

I am trying to input certain dataset to simulate a model (e.g. pull data from somewhere, like SQL/excel etc...) and then feed that into a model and run this in-house model via .dll (excel interface) and another desktop application. Then, I want to extract the predictions/results of these model simulations for the rest of the dataiku flow

0 Kudos
Turribeach
Level 6

Still it is unclear to me why all of this needs to happen inside this app or why this DLL needs to be involved. You could use the Dataiku Python API to create datasets, run flows and obtain outputs, but I really don't see why you will take all that trouble to do this. In general you will be much better if you put all your input data into a SQL database, have Dataiku read all the model inputs from there, then produce an output which you can write back to the same SQL database and read from your desktop app. In terms of executing the Dataiku flow from your desktop app there are easier ways than using the Dataiku API. For instance you can have a Dataiku Scenario execute when a SQL dataset changes, so you could easily have a SQL table your desktop app inserts a row into to generate your flow eecution.

0 Kudos
teng
Level 1
Author

Thank you for your answer + help! Your advice makes a lot of sense. 

Separately - can dataiku run Excel macros/VBAs ?

0 Kudos
CoreyS
Community Manager
Community Manager

Hi @teng while you wait for a more complete response, here are a few resources you may want to check out if you haven't already:

In terms of Macros in Dataiku here are some additional resources:

I hope this helps!

Looking for more resources to help you use Dataiku effectively and upskill your knowledge? Check out these great resources: Dataiku Academy | Documentation | Knowledge Base

A reply answered your question? Mark as ‘Accepted Solution’ to help others like you!
0 Kudos
Turribeach
Level 6

Have a look at this Python package:

https://docs.xlwings.org/en/stable/

  • Since v0.26.0, xlwings can be installed on Linux servers in connection with Google Sheets or Excel on the web, see Remote Interpreter.

0 Kudos