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
Anonymous
Not applicable

Cannot import multiple r-script sources in RHTML visual

I'm unable to import multiple r-script source files in RHTML visuals.  Power BI and R seem to import the first file referenced, but any subsequent source(./r_files/foo.r) calls appear to be ignored.  This behavior is not getting repeated in RStudio using the same instance of R.  Any guidance would be appreciated.

 

Steps to reproduce:

1) Create new visual using the RHTML template and create a new .r file in the r_files directory:

 

> pbiviz new sampleRHTMLVisual -t rhtml
> cd sampleRHTMLVisual
> echo $null >> .\r_files\test.r

2) Flesh out required information in pbiviz.json:

 

 

visual:description
visual:supportUrl
visual:author:name
visual:author:email

3) Insert the following code as the first line in script.r:

 

 

source('./r_files/test.r')

4) Compile and load the visual:

 

> pbiviz package

5) Observe the error message:

Can't display this visual.
R script error.
Error in libraryRequiredInstall("ggplot2"): could not find function "libraryRequireInstall"
Execution halted

PBI_error.png

 

2 ACCEPTED SOLUTIONS

Hello,

 

It is an issue in the template, we will fix it soon.

To fix it for you now, please, change NodeListOf by HTMLCollectionOf type. It should help.

 

Kind Regards,

 

Evgenii Elkin,
Software Engineer
Microsoft Power BI Custom Visuals
pbicvsupport@microsoft.com

View solution in original post

Anonymous
Not applicable

Confirmed. Changing the following seems to fix the issue:

 

./src/visual.ts

148let headList: NodeListOf = el.getElementsByTagName("head");>let headList: HTMLCollectionOf = el.getElementsByTagName("head");
160let bodyList: NodeListOf = el.getElementsByTagName("body");>let bodyList: HTMLCollectionOf = el.getElementsByTagName("body");

View solution in original post

7 REPLIES 7
v-evelk
Employee
Employee

Hello,

 

It looks like you try to create new project with non-webpack version of tools and it is probably required to set this file in tsconfig.json ('files' section).

I tried to build by your instruction with the latest version of powerbi-visuals-tools and everything looks OK.

To install the latest version of tools please run in a console the following command:

npm install -g powerbi-visuals-tools@latest

Kind Regards,

Evgenii Elkin,
Software Engineer
Microsoft Power BI Custom Visuals
pbicvsupport@microsoft.com

Anonymous
Not applicable

Following the same set of instructions after installing the latest powerbi-visuals-tools package has two new errors during compilation.

 

Additionally, the same error occurs when simply running the following 3 steps:

 

 

> pbiviz new sampleRHTMLVisual -t rhtml
> cd .\sampleRHTMLVisual\
> pbiviz package

 

 

> pbiviz package
info Building visual...
info Start preparing plugin template
info Finish preparing plugin template
Error parsing bundle asset "C:\Users\foobar\sampleRHTMLVisual\.tmp\drop\visual.js": no such file
No bundles were parsed. Analyzer will show only original module sizes from stats file.
Webpack Bundle Analyzer saved report to C:\Users\foobar\sampleRHTMLVisual\webpack.statistics.prod.html
ERROR Failed to compile with 2 errors 3:21:44 PM
error in C:\Users\foobar\sampleRHTMLVisual\src\visual.ts
[tsl] ERROR in C:\Users\foobar\sampleRHTMLVisual\src\visual.ts(148,17) TS2741: Property 'forEach' is missing in type 'HTMLCollectionOf<HTMLHeadElement>' but required in type 'NodeListOf<HTMLHeadElement>'.
error in C:\Users\foobar\sampleRHTMLVisual\src\visual.ts
[tsl] ERROR in C:\Users\foobar\sampleRHTMLVisual\src\visual.ts(160,13) TS2741: Property 'forEach' is missing in type 'HTMLCollectionOf<HTMLBodyElement>' but required in type 'NodeListOf<HTMLBodyElement>'. error Package wasn't created. 2 errors found

 

Hello,

 

It is an issue in the template, we will fix it soon.

To fix it for you now, please, change NodeListOf by HTMLCollectionOf type. It should help.

 

Kind Regards,

 

Evgenii Elkin,
Software Engineer
Microsoft Power BI Custom Visuals
pbicvsupport@microsoft.com

Anonymous
Not applicable

Confirmed. Changing the following seems to fix the issue:

 

./src/visual.ts

148let headList: NodeListOf = el.getElementsByTagName("head");>let headList: HTMLCollectionOf = el.getElementsByTagName("head");
160let bodyList: NodeListOf = el.getElementsByTagName("body");>let bodyList: HTMLCollectionOf = el.getElementsByTagName("body");

When I try to do as robjensen does here 


@Anonymous wrote:

Confirmed. Changing the following seems to fix the issue:

 

./src/visual.ts

148let headList: NodeListOf = el.getElementsByTagName("head");>let headList: HTMLCollectionOf = el.getElementsByTagName("head");
160let bodyList: NodeListOf = el.getElementsByTagName("body");>let bodyList: HTMLCollectionOf = el.getElementsByTagName("body");

I get the following error:

C:\sampleRHTMLVisual>pbiviz package
info Building visual...
info Start preparing plugin template
info Finish preparing plugin template
Error parsing bundle asset "C:\sampleRHTMLVisual\.tmp\drop\visual.js": no such file

No bundles were parsed. Analyzer will show only original module sizes from stats file.

Webpack Bundle Analyzer saved report to C:\sampleRHTMLVisual\webpack.statistics.prod.html


ERROR Failed to compile with 2 errors 12:11:45 PM

error in C:\sampleRHTMLVisual\src\visual.ts

[tsl] ERROR in C:\sampleRHTMLVisual\src\visual.ts(148,27)
TS2314: Generic type 'HTMLCollectionOf<T>' requires 1 type argument(s).

error in C:\sampleRHTMLVisual\src\visual.ts

[tsl] ERROR in C:\sampleRHTMLVisual\src\visual.ts(160,23)
TS2314: Generic type 'HTMLCollectionOf<T>' requires 1 type argument(s).

 

 

Any suggestions?

 

Anonymous
Not applicable


@idajh wrote:

When I try to do as robjensen does here 


@Anonymous wrote:

Confirmed. Changing the following seems to fix the issue:

 

./src/visual.ts

148let headList: NodeListOf = el.getElementsByTagName("head");>let headList: HTMLCollectionOf = el.getElementsByTagName("head");
160let bodyList: NodeListOf = el.getElementsByTagName("body");>let bodyList: HTMLCollectionOf = el.getElementsByTagName("body");

I get the following error:

C:\sampleRHTMLVisual>pbiviz package
info Building visual...
info Start preparing plugin template
info Finish preparing plugin template
Error parsing bundle asset "C:\sampleRHTMLVisual\.tmp\drop\visual.js": no such file

No bundles were parsed. Analyzer will show only original module sizes from stats file.

Webpack Bundle Analyzer saved report to C:\sampleRHTMLVisual\webpack.statistics.prod.html


ERROR Failed to compile with 2 errors 12:11:45 PM

error in C:\sampleRHTMLVisual\src\visual.ts

[tsl] ERROR in C:\sampleRHTMLVisual\src\visual.ts(148,27)
TS2314: Generic type 'HTMLCollectionOf<T>' requires 1 type argument(s).

error in C:\sampleRHTMLVisual\src\visual.ts

[tsl] ERROR in C:\sampleRHTMLVisual\src\visual.ts(160,23)
TS2314: Generic type 'HTMLCollectionOf<T>' requires 1 type argument(s).

 

 

Any suggestions?


What is your complete line of code in row 148?  The table in this webpage wrapped each line of text into two rows, but they should just be one row each in visual.ts

 

Row 148 should read:

let headList: HTMLCollectionOf<HTMLHeadElement> = el.getElementsByTagName("head");

 

Row 160 should read:

let bodyList: HTMLCollectionOf<HTMLBodyElement> = el.getElementsByTagName("body");

Is it possible to share a link to your repo that I could analyze it?

You could send it to pbicvsupport@microsoft.com 

 

Kind Regards,

 

Evgenii Elkin,
Software Engineer
Microsoft Power BI Custom Visuals
pbicvsupport@microsoft.com

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.

Fabric Career Hub

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Fabric Partner Community

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Power BI Header Change

Power BI Header Update

Read about the exciting updates for the Power BI forum.

Top Solution Authors