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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
Anonymous
Not applicable

Invoke Function writtein in R

Hi there

 

I have very basic R script that I want to use to hash a string using SHA-1 and base64 encode 

 

Say that my string is HY8&V5EDJO8NYT9C2011-12-13T00:44:02ZTest123, I can write this in R and it outputs my new hash string

 

a = base64enc::base64encode(digest::digest("HY8&V5EDJO8NYT9C2011-12-13T00:44:02ZTest123", algo = "sha1", raw = T, serialize = F))

 

I want to convert this into function in PowerBI - please could you tell me what I need to do to acheive this?

 

Thank you so much

Ped

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @Anonymous,

 

I haven't found anything about directly invoke function which written in R script, you can try ImkeF's point of view if it works for you.


In addition, you can write a function which use to call the local R script, for example(load local R script and execute it)

 

let
    LoadLocalRScript = (file_path as text) as table =>
let
    Source = Csv.Document(File.Contents(file_path),[Delimiter=#(lf), Columns=1, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    RScript =  Text.Combine(Source[Column1], "#(lf)"),
    output = R.Execute(RScript)
in
    output 
in
    LoadLocalRScript

 

 

For detial information, you can refer to below link:
Running Local R Scripts in Power BI

 

Regards,

Xiaoxin Sheng

View solution in original post

4 REPLIES 4
Anonymous
Not applicable

Hi @Anonymous,

 

I haven't found anything about directly invoke function which written in R script, you can try ImkeF's point of view if it works for you.


In addition, you can write a function which use to call the local R script, for example(load local R script and execute it)

 

let
    LoadLocalRScript = (file_path as text) as table =>
let
    Source = Csv.Document(File.Contents(file_path),[Delimiter=#(lf), Columns=1, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    RScript =  Text.Combine(Source[Column1], "#(lf)"),
    output = R.Execute(RScript)
in
    output 
in
    LoadLocalRScript

 

 

For detial information, you can refer to below link:
Running Local R Scripts in Power BI

 

Regards,

Xiaoxin Sheng

Greg_Deckler
Community Champion
Community Champion

In the Query Editor, you should be able to add an R Script step. It is the last icon on the right in the Query Editor.



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...
ImkeF
Community Champion
Community Champion

I don't know of any possibility for M to create hash strings.

 

But you can run your R-script in the Query Editor instead: https://powerbi.microsoft.com/en-us/documentation/powerbi-desktop-r-in-query-editor/

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

Anonymous
Not applicable

@ImkeF hi there yes thats what I was getting at - if M could somehow "M" an "R" function 🙂 It would be cool actually

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.