Hello anyone tried this to surface the comments under SharePoint pages ?
@marcorozzano34809 сағат бұрын
thank you so much for this video, Christine ! i've attempted to install the AdventureWorks database a handful of times. the process was more complicated than i expected and would eventually give up. after watching your video, it turns out that it *is* that complicated 😂. however, your video makes it much easier to follow and ultimately install a sample database to play with. thanks again and keep up the great work :)
@bingoo896017 сағат бұрын
Very helpful video. Just a request can you please share the pbix file used in the video for better understanding or just data
@bi-ome15 сағат бұрын
Sure, here you go: github.com/chpayton/BI-Files/blob/main/Misc/AdventureWorks%20-%20RLS.pbix I just did a video today on how to get this same database into a free SQL server and connect in PBI if that's helpful - it's in my recent video feed
@MrEngineer1o122 сағат бұрын
great content - as always
@aam_insaan1412Күн бұрын
Thank you so much for saving me hours of copying and pasting data. You're a lifesaver! 😇
@work-sn6ybКүн бұрын
Thank you for sharing this tutorial! This is fantastic! How would we change the default to "Days" instead of months, and would there be a way to have the graph default to show dates around today's dates vs jumping back to the earliest tasks date?
@bi-omeКүн бұрын
Thanks! If you edit this section here at the beginning of the JSON code and change the value from Months to Days, it will default to days: { "name": "startGrain", "value": "Months", "description": "Days, Months, Years or All" }, For the starting around today's date, I did another Gantt video a ways back with a different visual where we use filters in bookmark buttons to show just upcoming, the same thing would work on this one: kzfaq.info/get/bejne/nM1zis-JsduRk2g.html I am sure there is a way to do it with just the Deneb code, but I'm not sure what that would be at present. :)
@work-sn6ybКүн бұрын
@@bi-ome Thank you so much!
@jordivanselm32013 күн бұрын
How can I apply this to a list of users?
@bi-ome2 күн бұрын
If you have a list of users, you don’t need the profile search. You can just put the “get user profile” action in a loop on your list and put their username in the dynamic content for the “get”. If you need to put the data somewhere, you can put an “append to array variable” step in the loop to get it all in one variable.
@KomailButt3 күн бұрын
Can I limit the questions in the form view of SharePoint List? For example in the list I have 7 questions and in the form view I want to get answers for only 5 questions.
@bi-ome3 күн бұрын
Yeah, you can hide fields in the form by enabling content type management in settings and hiding them in the content type settings. I think I show that in this video: kzfaq.info/get/bejne/gtSca8183Ze4eH0.html There’s also a new button in the toolbar for modifying forms, I think Reza did a video on it - it looks fancier. It just came out a month or two ago.
@mirrrvelll51644 күн бұрын
Quite interesting video, but very hard to see. There where you defined "Upn", "grouped", and so on. Could you tell me the exact format/syntax? { "upn": "UPN", } `? I am running this part where "https" comes in, but it is taking over 10 minutes and got an error: "Flow run timed out". I have a lot of users (like 3-4k) and maybe around 200 groups together, which is true. I adjusted the pagination, but it still takes time. Is that normal? Thanks!
@bi-ome4 күн бұрын
I would expect it to take over 10 minutes for that many, the for-each loops take a long time. You might try setting the degrees of parallelism to 1 in the settings on the loops - slowing it down actually speeds it up because it keeps you from getting throttled. Are you looking for the append to members array text? That one is this: { "upn": "@{items('Apply_to_each_group_member')?['userPrincipalName']}", "userId": "@{items('Apply_to_each_group_member')?['id']}", "groupId": "@{items('Apply_to_each')?['id']}", "userRole": "Member" } Append to owners array is this: { "upn": "@{items('Get_owners_for_each_group')?['userPrincipalName']}", "userId": "@{items('Get_owners_for_each_group')?['id']}", "groupId": "@{items('Apply_to_each')?['id']}", "userRole": "Owner" } The compose step after that is this: [ @{variables('groupMembers')}, @{variables('groupOwners')} ]
@mirrrvelll51642 күн бұрын
@@bi-ome Thanks for your support. I managed to get it to work after 58 minutes of running! It gave an error. =) However, interestingly, I got my export. Both are in SP (I can use data in Power BI), and one file shows me over 11k rows even though I put a limit of 1000. How is that possible? This is an error: (all the steps are in green..) ActionFailed. An action failed. No dependent actions succeeded. p.s If I use parallelism of 1, I am getting just some users and groups, which is wrong.
@testktrkrt4 күн бұрын
Hi Christine. Great video! Your tutorials have come very handy with my new role. Quick question. To avoid using resources unnecessarily, do you think it is possible to create a group i.e. "EngineeringGroupWatchdog" and put all relevant groups (not people) in there. Then, when we pull data, we only guide the flow to pull from the groups that are associated with "EngineeringGroupWatchdog". Do you think that is feasible / will optimise usage?
@AbhishekGupta-gl4qk5 күн бұрын
thanks you awsm
@bi-ome4 күн бұрын
You're welcome!
@alit78465 күн бұрын
Followed this video until you completely skipped over what I was looking for to finish off my BI :( I’m here for how you combined the “stakeholder” names into a custom column (and comma separated). That process isn’t clear from your explanation - do you have a video of this?
@bi-ome5 күн бұрын
Yeah, I had a recording blip and so I had added the info in an on-screen text - it's a calculated column, the formula was Stakeholder Names = CALCULATE(CONCATENATEX(Stakeholders, Stakeholders[Stakeholder Name], ", ")). You can add that on your main table and it'll concatenate the values from the related table (make sure you have the relationship from the earlier section). There's not a non-convoluted way to do it from Power Query or via the UI, the DAX calc column is the easiest method-- CONCATENATEX is an iterator, meaning it iterates over your main list table and concatenates the related values in the stakeholders table. You keep the two tables separate and relate them on your item ID - this lets you use the individual names as filters in slicers.
@alit78465 күн бұрын
@@bi-ome Wow I didn't expect such a quick response on this! Thanks for the description! I saw another video linked below and there's a nice demo of you doing the formula :) Amazing video and super clear steps to follow. This is something I've been struggling with for months, and finally following your process got my data looking super organized and easy to manage. <3
@bi-ome5 күн бұрын
@@alit7846 aw thanks!!
@yashoo73636 күн бұрын
great stuff.. appreciated.
@bi-ome4 күн бұрын
Thank you!!
@MohamedShaikHameedIsmail6 күн бұрын
Hi, It was a very helpful video. Thanks. Can you please let know how to add data labels in the bar?
@bi-ome5 күн бұрын
Best I can do is to the right of the bar - if you drop a field into the "Resource" well you can put text there. You can't customize a whole lot with this, but there are other Gantts made with Deneb where if you can do some coding you're able to control display more.
@richardsaldana48806 күн бұрын
@Christine Payton would you happen to know if it's possible to add a column after the task name such as 'Assigned to'? Or are we limited to the present input fields David specified?
@bi-ome6 күн бұрын
Yeah, I did a blog post here: christine-payton.com/how-to-use-david-baccis-gantt-deneb-template/ I just went in and updated it now for the 2.0 version of the Gantt (it was still on 1.0). The code chunk you want is at the very bottom, if you just copy/paste it in and overwrite yours it should work. The header positioning is a bit funky but I'm out of time today :)
@richardsaldana48806 күн бұрын
@@bi-ome dude. You're amazing and fast. I'll check it out today and see what I can tinker with.
@holyone26686 күн бұрын
Stupid question. Where do you find the date time slider/slicer?
@bi-ome6 күн бұрын
Good question! It's a normal slicer, so the one with the funnel icon in the visuals menu on the right. The thing that makes it a date slider is dropping a date-type field into it. There's different options like "relative" etc in the visual config menu under slicer settings--
@pabloduran67467 күн бұрын
Great content!
@bi-ome7 күн бұрын
Thank you!!
@Q8Tdot7 күн бұрын
Thank you for this tutorial. However, I’d like to turn the array to an Object to use in an adaptive card. I’m having a hard time converting the array.
@bi-ome7 күн бұрын
Have you tried dropping an example of the array output into Chat GPT and asking it for a formula for Power Automate Cloud? I tried that and it says to stick this in a Compose action: json(concat('{', join(InsertOutputHere, ','), '}')) Otherwise you could parse the array first and use that in the concat instead if you need more control--
@bi-ome7 күн бұрын
If the modern UI gives you any trouble, you can try classic too - the button to switch to classic is in the bottom left corner. You have to click it twice to get it to actually go to classic for some reason (it's been like this for years? idk), but editing in a grid view in classic can be a bit easier because it's not dynamically loading things as you scroll down.
@nithinnayak_8 күн бұрын
Thank you so much. This really helped a lot!
@TTtipsforlife8 күн бұрын
Thank you for content - just getting into using this tool and already finding it so useful. one question - one of the fields I am trying to pull is three rows down from the "text to find". Took your advice and asked Chatgpt and the expression provided was (?:Exchange rate )(?:.* ){2}(.+).. However the result is giving me the "Text to find" and all the rows data plus the row of information I want. Do you have any easy answer or point me in the direction of guides that can help me solve this? Thanks in advance
@bi-ome7 күн бұрын
Yes, that's how it worked in the example too, and we had to split off the part it was searching for to be left with the remainder. Lookaheads and lookbehinds are how you usually avoid getting the extra junk you don't need, but as far as I can tell Power Automate doesn't support those. Is there a character you can split on to remove them? You could try something like splitting on the line break ( ) and then getting the last value in the array that creates, that should leave you with just the text on the last line.
@TTtipsforlife6 күн бұрын
@@bi-ome thank you in getting back to me. I managed to solve the issue by using this expression "(?<=Exchange rate .* .* ).+" my extraction is working brilliantly now and have to thank you again as most of the code is based off your video. Look forward to watching the remaining series as well your future posts
@bi-ome5 күн бұрын
@@TTtipsforlife Oooh clever, thanks for sharing and for the kind words!
@evealsdorf74028 күн бұрын
Hi Christine. I am facing the same issue as another was having, trying to get the schema from the HTTP request step it only returns odata.context and value [ ]. I was using the new design but I toggled that off and I'm still getting the same result. What am I doing wrong?
@evealsdorf74028 күн бұрын
From the Apply to each List Group members it seems as though the first Group Id is blank, would this cause the HTTP request to return only the odata.context and value?
@bi-ome7 күн бұрын
Did you possible paste in the content as the example and not the body output? There are a couple of boxes in the flow history for the step, make sure to copy the right one. The schema I used was this, in case you want to just roll with that: { "type": "object", "properties": { "value": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "displayName": { "type": [ "string", "null" ] }, "givenName": { "type": "string" }, "surname": { "type": "string" }, "userPrincipalName": { "type": "string" }, "@odata.type": { "type": "string" } }, "required": [ "@odata.type", "id", "displayName", "givenName", "mail", "surname", "userPrincipalName" ] } }, "@odata.context": { "type": "string" } } }
@bi-ome7 күн бұрын
@@evealsdorf7402 Possibly - definitely feed it an example with data in it! I am not sure how it could have a blank group id, that's strange.
@MadisonLiddell9 күн бұрын
This was outrageously helpful, thank you!
@bi-ome8 күн бұрын
So glad!
@samramsay4259 күн бұрын
How long did it take for yours to start working, Ive added the permissions and continue getting the error. Thanks.
@bi-ome8 күн бұрын
I don’t recall, maybe 15 minutes at the most? Make sure the action that sends the mail is using the connection you granted permission to (ellipsis menu)
@bruno.jeronimo10 күн бұрын
Hi, can you help me? In my test, I only brought data from 1 bucket. When composing the buckets, he only has 1 bucket, whereas in my planner I have 3. Can you tell me why?
@bi-ome9 күн бұрын
Make sure you are using "append to array" variable, not "set variable", and that it's in a loop on buckets. If you look at the flow history, you can click into each step and see where it's going missing - so check the "list buckets" output and make sure they're all there, then check the append step and see if they're all there, and so on--
@bruno.jeronimo8 күн бұрын
@@bi-ome I managed to solve this! Can you tell me how I can pull the subtasks and whether they are completed or not, bringing all the tasks, whether with subtasks or not?
@bi-ome7 күн бұрын
@@bruno.jeronimo The technique in the video gets all subtasks for each task, whether they are completed or not. Part two in this series shows how to display them with check marks next to the completed ones--
@kewtheii676410 күн бұрын
Hi Christine, quick question, say if I have a PDF with 500 rows of data, when arranged, is spread to about 13 columns of categories in Excel, can power automate extract these information to Excel and sort to assigned columns and most importantly, identify key words i.e. Item codes, and dimensions within lengthy descriptions to input within Excel? Thanks!
@bi-ome9 күн бұрын
I'm not sure if you're trying to extract a structured table that's already in the format you want, or if it's less structured. If you're simply extracting table columns as-is, Power Query can do that on files or folders and just yank in whatever you want to Excel (it has a PDF or folder source option). The technique in this video is meant to be used where the structure is irregular or where the content is mixed with other text. Regular expressions can pull out item codes as long as they follow a particular format (e.g. 3 letters, hyphen, 3 numbers, or any kind of very regular pattern). If your item codes etc are not super formulaic, you might have better success with an AI tool. There's a bunch of different ways to do that; I'm partial to just sending the text to Azure OpenAI with a prompt and asking it to extract whatever you want and send it back as JSON with a particular format. If you give it an example of the desired structure, it'll be able to send it back to you in the same format, and then you can expand it as a table with Power Query. That will let you extract a handful of things at a time with good structure to it.
@bruno.jeronimo10 күн бұрын
Great video! Congratulations and you teach very well. I'm Brazilian and I don't speak English fluently, I had a little trouble following along, but everything went well. Could you teach how to bring only the value of subtasks for each task and the value of completed subtasks? I tried to do this, but I ended up creating a row for each subtask, duplicated as tasks in the table. Could you tell me if I can bring the values from the comments?
@bi-ome8 күн бұрын
The subtasks are in the flow we made, if you have them in your JSON and skip ahead to the part where we are setting up the queries in Power BI - we put the subtasks in a separate table from tasks and then create a relationship between the two tables. It is like a parent/children object relationship. We can concatenate the info from the subtasks or count them that way. It has the “is complete” true/false value in there. Comments are not available unfortunately :/
@bruno.jeronimo8 күн бұрын
@@bi-ome Yes, I managed to bring the data from the subtasks. I was getting the detail of expanding it wrong, I hadn't understood that it was left as a list. My bad! Thank you for teaching so well and always answering people who have questions! You are an excellent teacher!
@lucasyoung959411 күн бұрын
I went through these steps, but it doesn't work with PDF forms that have filled in information (e.g., the PDF has a field that someone has filled in with info like their name, etc. On the pdf, you'll see those texts in the blue areas which can be edited). Basically the text extracted is everything except the information input by the user. Is there a way to get to that text and extract it?
@bi-ome11 күн бұрын
That's a good question... I found this thread where someone has a similar issue - they're using another tool but I think the same logic applies, where you can flatten or print to pdf to make the text readable. There are third-party tools that can extract field data too, but ofc they will have some associated cost. It's not super straightforward. www.reddit.com/r/excel/comments/16u54ah/how_do_i_extract_data_entered_by_a_user_into_a/
@devartpop926812 күн бұрын
How to make in linear?
@bi-ome11 күн бұрын
Not sure what you mean?
@user-fl2fx9lp2b12 күн бұрын
Hi, is there a way that I can use a slicer so my visuals will show the response for each question one at a time?
@bi-ome11 күн бұрын
Yeah, you could do a single select slicer and just drop the question field in there. That would filter the responses by question. Is that what you mean?
@jamesodriscoll789512 күн бұрын
By doing this method does the person that owns the template get an alert if I copy the template onto a different SharePoint owner?
@bi-ome11 күн бұрын
No, it shouldn't, notifications have to have a trigger. Even the on-modified triggers wouldn't trigger off of a copy, because you're not modifying the page.
@jamesodriscoll789511 күн бұрын
@@bi-ome thank you 😊
@DPaquette12 күн бұрын
I liked the compost option.... hahaha
@bi-ome11 күн бұрын
🤣 me too, I have a garden so got it on the brain haha
@stevensun-dc2td12 күн бұрын
Thank you very much!
@Uso9er12 күн бұрын
I've spent weeks trying to figure this out. I followed your steps and pasted the new link to my already existing promoted links and IT WORKED! I never thought it'd be so easy. Thank you so much!
@bi-ome12 күн бұрын
Yeah!! That's great to hear. I picked this up YEARS ago from I have no idea where, and actually forgot what the exact syntax was when I went to do it again before making this video - I tried to search for it on the internet and couldn't find anything at all. I managed to dig it out of my notes, though, and that's why I made this - it's so obscure haha. 😄
@VaneyRio13 күн бұрын
Thanks! I was serious about the coffee. May your day be filled with pretty moments.
@bi-ome13 күн бұрын
Thanks you! You too, best of luck on your work :)
@liamratcliffe703013 күн бұрын
are many alternative steps needed if i wanted to create sharepoint list items for each task along with details of assignee / progress / bucket etc?
@bi-ome13 күн бұрын
Yes, because you would have to manage the updating of each item, deleting deleted items, and adding new items each time it runs in the flow, and to do that you have to run a series of condition handling and checks in addition to the update steps. The reason we send it to a single file here is that when you schedule it, it'll just replace the file and update everything in one go. The benefit of Lists would be that it'd give you a place to edit the records, but you can already edit the records in Planner, so I'm not sure what advantage the list is serving in this particular case?
@rowenasiddle88914 күн бұрын
Hi Christine, I have followed all your steps but getting a time out issue when I test it. I also received an email saying my flow is running too many actions and that it has exceeded its Power Platform Requests limit in the past 24 hours. How can I avoid this?
@bi-ome13 күн бұрын
Hello! If you have more than 500 or so tasks, you will want to turn on pagination in the "list tasks" settings in the ellipsis menu and set the degrees of parallelism on the loops to 1. This will get all the tasks and avoid throttling errors. But, if you have a TON of groups, you might consider only getting the specific plans you need instead - I did a follow-up video on that here: kzfaq.info/get/bejne/Z7uWq6iFxtLGaXk.html
@rowenasiddle88913 күн бұрын
@@bi-ome Thanks so much for your quick reply! I'll take a look at that video. I have about 20 channels, each with 1 planner list which can have anywhere between 5-200 tasks in it.
@AdanAbdiAdan-rx5pu14 күн бұрын
Thanks @christine very beneficial
@alexanderplunkett955814 күн бұрын
I am so grateful for this video! thanks a lot! A question I have is how would you add update comments for reporting purposes? I was hoping to use the comments within planner to use them as comments in the reporting but they dont seem to be exported via power automate, do they? Another less elegant idea I have is to have a separate table and add comments with date and assigned task ID so that one can filter out old comments back to specific dates. but maintaining a separate table would probably not as elegant as directly using comment function in planner. Looking forward to your comment!
@bi-ome13 күн бұрын
The comments aren't available in the API, you're right. The least annoying but also least helpful option is to add conditional formatting to the task names in the table visual, so that people can click them to go to the task in Planner (you can make the hyperlink a calc column and use that). You wouldn't be able to tell if a task had comments before clicking it, though. You could also do what you mention with a separate list and use a Power App visual to make the experience a bit more seamless (or less seam-full? it won't be seamless haha) Or you could use premium Planner, which I think gives you access to the comment data via Dataverse (I need to double check that... I think I remember seeing comments in there). Only the person creating the plan would need a license and it's not super pricey.
@namangarg702314 күн бұрын
Nothing is visible in ur video
@jhennyfhersilva15 күн бұрын
Hi Christine! Your video is so usefull. I'm from Brazil and i'm not so familiar with Power Automate in english and I wanted to get the planner data of six plans I have in a same group. I saw in the video that it's possible to do that in custom value, but i didn't undestand HOW. Could you give me some help?
@bi-ome14 күн бұрын
Thanks! I have more videos for getting different things - so there's one for "get all my plans that I own" and another for "get a specific list of plans". The second one uses a copy of the first flow and adjusts it to just get plans from a list of plan IDs, which should work for you. Here's links - all plans I own: kzfaq.info/get/bejne/o9d3ecV6rNank6s.html and specific plans: kzfaq.info/get/bejne/Z7uWq6iFxtLGaXk.html
@tejaajet58015 күн бұрын
Is it feasible for Powerbi to receive Shift App Data?If so, could you describe the steps?
@bi-ome14 күн бұрын
You can create custom connectors to any API in and use it in a Power Automate flow. If you can get an API key from Shift App, and your organization allows custom connectors in your environment, and you have a person who understands how to send data back and forth via API, it's possible! 🐿
@OptimusCrist15 күн бұрын
Someone pls help, Im getting this error message from the "filter array" Step The execution of template action 'Filter_array' failed: The evaluation of 'query' action 'where' expression '@equals(item()?['bucketId'], items('Apply_to_each')?['bucketId'])' failed: 'The template language expression 'equals(item()?['bucketId'], items('Apply_to_each')?['bucketId'])' cannot be evaluated because property 'bucketId' cannot be selected. Property selection is not supported on values of type 'String' I've watched and re do the step many times, but I keep getting this.
@bi-ome15 күн бұрын
You need to make sure that the variable action you're using is the "append to array" (not "append to string") and that your variable type in the dropdown for the initiation action is set to array. There are string variable options that look very similar, those won't work. :)
@OptimusCrist13 күн бұрын
@@bi-ome tks ! for replying!! My Variable is set to "Array" (Initialize variable). The "For each" is looking for the Bucket id and Name (List task & LIst bucket) from the previous steps, setting as value the Value Id and the Number Im using "Append to Array"... funny thing is the outcome from the filter, it's showing the Name and the ID for the bucket, like if it was working, but the step is falling with that error message and of course the flow is not continuing... :(
@bi-ome13 күн бұрын
@@OptimusCrist Make sure there's no typos in the bucket array - it needs to start and end with curly brackets, have double quotes around each of the labels, and the one comma. That's the only other thing I could think of - if that JSON is invalid, it might be having trouble recognizing that its an array--
@mgorczyn15 күн бұрын
This was great, thank you!!
@woolovekids16 күн бұрын
This is super useful. Thank u! Very easy to follow!
@bi-ome15 күн бұрын
Thanks!!
@ghieroldan341316 күн бұрын
You are great teacher! I am running in circles here and came upon your tutorial for changing data source to sharepoint path… many thanks
@bi-ome15 күн бұрын
Thank you for your kind words!!
@prasanthmohanakrishnan744117 күн бұрын
Thanks for the awesome video . Is there a way I can show the start and end date only for the dates dataset. Currently it shows additional years which is not there in the dataset . If press month and then All then it is looking good and readable. I tried changing the start grain as ALL but then it shows days also . Similarly I want to have the default as closed for all the items instead of open . I am not an expert in the coding so I thought I would ask help for these 2 topics .
@bi-ome15 күн бұрын
I am also not an expert in Deneb! I know just enough to get this running basically. My technique for modifying things is to search for them in the code, then give that chunk of code to Chat GPT and ask it to modify it to do what I want. It's surprisingly good at this particular thing, probably because JSON is very standardized.
@prasanthmohanakrishnan744115 күн бұрын
@@bi-ome I tried GPT for the part to make „close“ by default . The code changes made by the GPT looked logical but still dint get the desired output… . Thanks for the reply
@maanavjain19317 күн бұрын
This is great stuff. Thank you. I do have a question though. Let's say I have a table in my pdf in which I have 4 subtotals one below the other. And several other PDFs some of which have 3 subtotal figures. How do I parse them when I want the last subtotal figure only from these tables?
@bi-ome17 күн бұрын
If it’s always the last line in the subtotal you want, I would go for getting the line above the target and searching for whatever is directly after those subtotals (hopefully it’s something reliable!).
@treyprim799517 күн бұрын
Can you do this without Power BI Desktop, I am limited to Power BI Service and unable to get the JSON file. My choices for import are excel, csv, manual, and template. Thank you for any help you might offer.
@bi-ome17 күн бұрын
You could do it with Excel, but it would be quite a bit harder to make the flow for it. Do you have Windows? Most companies have PBI desktop in the software center even if software generally is restricted. You might check there and the Microsoft store.
@fernandobk916818 күн бұрын
Thanks for the video and nice design! You have created the darker boxes directly on the background image instead of creating them on Power BI. Why is that? How do you deal with responsiveness in this case?
@bi-ome18 күн бұрын
When you have Power BI set to “scale to fit” on the width and/or height, it scales the entire thing including visuals down, so it’s not really an issue. You could do it in Power BI, too, but since we are already making a background I just put it in there. When you’re working with the more shapey layouts, it’s a lotttt easier to align things and get equal spacing in Figma than in PBI. But you can do it on the other side too. I will say that this does not work for the mobile views, but then you usually have to start from scratch on those anyway.