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
randomcobbler
Frequent Visitor

Dataflow, SQL for newbie

I only know how to create dashboards in PBI using Excel and I was tasked to search about APIs, Datalakes, Datamart, and SQL server. These are new to me since I only know the basics

 

Context: I will create a training dashboard metrics wherein it refreshes weekly. Data source will be SharePoint MS Forms, SuccessFactors LMS, and a vendor-led LMS. Probably all are in text format.

 

How do I connect these data to PowerBI if we want it to have less manual intervention? Do we need SQL? Or will Datamart suffice (I still have to learn what Datamart is too)?

 

Badly need help because I am really not well-versed in this.

Thank you!

1 ACCEPTED SOLUTION
Martin_Hubsters
Frequent Visitor

Yes, you need to build the PowerQuery accordingly. E.g. instead of hardcoding a training or survey into a query (e.g. as part of the URL for a connector) you need to keep the query dynamic, e.g., first load a list of trainings or surveys, then per survey load the responses. This is just an example, you need to check the structure of the data which is specific to each system and potentially different in each system.

Be aware that using the PowerQuery graphical user interface to create the PowerQuery steps tends to create rather static code where you'd think it creates dynamic code. For example, if you load data from an Excel spreadsheet, PowerQuery automatically creates a step to apply datatypes to the columns. But this is static code, not updated on every refresh, so a refresh would fail if you change the name of a column, even if in a later step you discard the column anyway. But this is no problem, you just need to be aware of this and check the generated PowerQuery code and keep it appropriately dynamic for your use case, so the automatic refresh will work and even include new trainings or serveys automatically. It's up to you to implement this capability in PowerQuery, the tools are there.

View solution in original post

6 REPLIES 6
randomcobbler
Frequent Visitor

thank you so much!

Martin_Hubsters
Frequent Visitor

Yes, you need to build the PowerQuery accordingly. E.g. instead of hardcoding a training or survey into a query (e.g. as part of the URL for a connector) you need to keep the query dynamic, e.g., first load a list of trainings or surveys, then per survey load the responses. This is just an example, you need to check the structure of the data which is specific to each system and potentially different in each system.

Be aware that using the PowerQuery graphical user interface to create the PowerQuery steps tends to create rather static code where you'd think it creates dynamic code. For example, if you load data from an Excel spreadsheet, PowerQuery automatically creates a step to apply datatypes to the columns. But this is static code, not updated on every refresh, so a refresh would fail if you change the name of a column, even if in a later step you discard the column anyway. But this is no problem, you just need to be aware of this and check the generated PowerQuery code and keep it appropriately dynamic for your use case, so the automatic refresh will work and even include new trainings or serveys automatically. It's up to you to implement this capability in PowerQuery, the tools are there.

Martin_D
Super User
Super User

Hi @randomcobbler ,

If this is all requirements you have you don't need Datalakes, Datamart, or SQL Server. You can load your training data directly from the source systems into Power BI, as you are used to from Excel files, but without creating files inbetween (if the vendor-led LMS doesn't give Power BI access to the data, then any other of the suggested solutions won't help either for automation).

 

BR

Martin

github.pnglinkedin.png

Hi @Martin_D appreciate the links and will look into it today. Will this work if there would be continuous data coming in due to scheduled trainings? we're looking into putting less work on manual importing and more on just scheduled refreshing

Yes, you would set up a so called "scheduled refresh" in Power BI Service which can load the latest additions up to every 30 minutes automatically. But in most use cases a refresh once a day is sufficient (probably, if so far manual preparation was sufficient for you, and the requirement is just to reduce manual work, not to increase refresh frequency, once a day would be the right choice for you to start with).

Agree on the scheduled refresh option.

Let's say we have new training data from SF. When connecting data directly to PBI or from SQL to PBI, will the new data add to the dashboard upon refresh, or do I still have to edit via Power Query?

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.