Save column value based on the item in combobox - sharepoint

in PowerApps, I have default New Form screen for Table1 with Combobox linked to Table2 so the user is able to choose items from the Table2. Combobox is saving the selected item Column1 data from Table2 to Column1 in Table1.
What I need, is to be able to save appropriate combobox item Column2 data (from Table2) to Column 2 in Table 1.
Basically, I need to save item's Column1 AND! Column2 data from Table2 to Column1 and Column2 of Table1.
BTW: Tables are lists on Sharepoint.
Can you help please?

This level of customisation requires in any case abandoning the out-of-the-box forms and creating your own. For a simple example of this, please see here.
The approach to store the individual selected values in separate columns in Table 1 (as you suggest) is not the approach I would recommend. This is relatively easy to implement but is incomplete and has shortcomings, including but not limited to:
You need to create as many columns as there may be items in Table 2, and the number of items in Table 2 may vary over time
PowerApps cannot currently set a column value to Blank() in a data source, so you will need a work-around to deal with the situation where an item previously selected needs to be unselected
The correct way to deal with the combo box is to create a many-to-many relationship as outlined in this post.
When saving the changes, you need to:
Remove any records in the junction table where an item has been unselected via a Remove or RemoveIf statement
Create an entry for each new item that has been added to the relationship via a Collect or a Patch function
If you need guidance on this, please comment this answer and I will add more details.

Related

How do I use a power apps form for a lookup column?

I have a SharePoint List (say "List-A") with plenty of columns, some of which are lookup columns.
These are just used to construct a choice columns, where the items in the choice drop down are the items of a column in a different List ("List-B").
I have used the function on SharePoint to integrate List-A with Power Apps Form. This creates a Power Apps form that is readily available.
For the Lookup choice columns, I have added List-B as the data source, and am using the items from the correct column as items in the choice that is linked to the lookup column. This correctly populates the drop down menu as expected.
Now when I publish this form and fill it from sharepoint (it pops up as it should hafter clicking New in the List view) I can fill the entire form and submit with no issue. However all the lookup columns remain blank, as if the form returned a null value instead of the selected.
I have both datasources set up:
The update property of the datacard connecting to the SharePoint List is equal to the Selected of the datacard containing the combobox (combobox is called DataCardValue43).
The items property of the combobox is equal to the correct column of List-B.
As an alternative solution, I have attempted to make a different column that is just one line of text. For this column, I have made a combobox once again setting the items property to the column in List-B. The intention was to return the selected value as a string. It was attempted thus:
where combobox1 once again manages to give the correct options in the drop down box but returns only Null.
To study it further, I have made a power apps flow that takes Create New Sharepoint List object as input. Here I see that the values are indeed Null
The one called "Return" is the text column that I made, and the other being the lookup column. I do notice that the Lookup column isn't called Value, but id. I don't know what to do with that information though.
I really just want to have a column in my power apps form that lets you choose and the choices are values from a column in a different List. What do I do, and why doesn't what I've already done work?
Thank you.
Please follow the steps below to solve the issue.
1: Add a Lookup column in SharePoint List.
2: Open that list in Power Apps by using the Customise Forms Option From SharePoint.
3: The Item property of Lookup field will be by default as follow:
Choices([#'CustomisingSharePointList'].LookupColumnListName)
4: There is no need to change/delete the lookup field with any custom dropdown or combo box. This is the point, where you are doing mistake by adding a custom combobox and replacing the original Lookup dropdown. If you want to change datasource, apply filter or sort the data, you can do all these thing to the same original lookup column.
e.g I have applied filter and sort functions to the existing data:
Sort(Filter(Choices([#'CustomisingSharePointList'].'LookupColumnListName'), Value in Filter(LookupColumnListDataSoure,Progress.Value = "Open").ID),Id)
5: When you will publish the list, it will work fine.
Note:
CustomisingSharePointList: List in which we have added a lookup column.
LookupColumnListName: List to which the lookup column actually belongs to.
LookupColumnListDataSoure: You need to add the original list as data source in power apps to use the above filter. This step is optional and applicable only if you apply filter like I did in step 4

Using Power Apps to add a new value to a multiple-value choice column in SharePoint without overwriting existing values

I have a SharePoint list that contains a choice column with the 'multiple selection' option turned on. Each item in this list contains data related to preferences for a given user, and the choice column will store the IDs for each of the user's 'favorited' reports.
I would like to write a Patch formula in Power Apps that writes a new value to this column, but retains the existing values. Here is an extract from my current formula, triggered when a user selects the 'Add To Favorites' button, where 'Favorites' is the choice column that already contains values:
Patch(
'Platform User Preferences',
LookUp(
'Platform User Preferences',
UserEmail = User().Email
),
{Favorites: [ThisItem.ID]}
)
Current state, this formula overwrites the existing values in the choice column with the new single value, instead of adding it alongside the existing values.
One approach I have attempted (based on reading similar use cases online) is to create a collection from the Favorites column, add the new value to that collection, then patch the entire collection back to SP. However, I have had similar problems doing this as I do not fully understand the model of a collection that is based on a multi-value choice column. For example, the following also appears to completely wipe the data in the collection, rather than add to it:
ClearCollect(favslist,Filter('Platform User Preferences',UserEmail = User().Email).Favorites);
Collect(favslist, {Value: ThisItem.ID});
Any help with solving this problem would be most appreciated!
You'll need to create another collection that contains each selection of the existing favorites. Right now your 'favlist' collection contains one item that contains all the existing favorite selections, then youre adding you new item. This isn't formatted correctly this way.
Try updating your existing code before you patch, by using a ForAll and collect the existing items:
ClearCollect(existingfavslist,Filter('Platform User Preferences',UserEmail = User().Email).Favorites);
ForAll(existingfavlist, Collect(favslist, ThisRecord.Value));
Collect(favslist, {Value: ThisItem.ID});
Then just patch your collection 'favslist' to the list

Spotfire control table values based on column value in another table

I need to control the data being shown on table Collections and Delivery based on what I click on Table A column value on Spotfire.
For example we have the three tables below:
When the user clicks on a column on Dashboard Table let's say BO: BN. On Delivery and Collections Table only BO row should only appear. How can you do this in Spotfire?
Note: The three tables have a relationship via Code and Branch column.
Additional data:
Collections and Deliveries table takes its data from DB using parameterized SQL Query.
There are three parameters that needs to be satisfied so that the query will work and data will be retrieved these are
StartDate
EndDate
Branch
I don't have a problem with the Date parameters but with the Branch see below SQL Query
The branch parameter value is controlled by specifying/entering a value on the input field on text area.
Deliveries and Collections table is configured to refer to this value to display the data.
The suggested solution worked great, but I have this extra dependency which makes it a bit more difficult to work out a solution. Do you have any ideas on how to go about this?
#dimas- One way to do this is creating detail visualization tables for Collections and Delivery from 'Dashboards table'.
Assuming that the three tables have relationship, please follow the below steps.
Step 1: Right click on Dashboards table and select Create Details visualizations -> Table. It prompts you to select a table, select 'Collections' tables.
Step 2: Repeat Step 1. But, this time select 'Delivery' table.
The Dashboards table now controls what data to show in Collections/Delivery tables based on the row selection.
Output:
Please ensure that you right click on the table and select Properties > Data > All data for Collections and Delivery table (screenshot below) if you want to show all rows if nothing is selected in Dashboards table.

How to create m2m relationship in PowerPivot

So I am trying to link an employee metrics pivot chart with an employee project table with one slicer. I want an employee slicer that manipulates all charts but the data is coming from 2 different places (SQL, Sharepoint). When I try to create a relationship based on Employees I get the following error: "The relationship cannot be created because each column contains duplicate values. Select at least one column that only contains unique values."
So one chart has quantitative items while the table has qualitative items and I want one slicer to manipulate both at the employee level.
I want to see all the data on both charts for the selected employee, and not just single items linked by unique values. I can use unique values, and have created relationships that one slicer can manipulate however I only get one record at a time that way and therefore the slicer has thousands of buttons (one for each record).
I wouldn't think this would be that difficult and I hope it's really not.
Please Help!
M2M relationships in PowerPivot will most likely cause more headaches than solutions unless you are aware of what you are doing. After some thought, I realized that I really do not want an m2m relationship because it would result in junk data for what I wanted. I just wanted to start my answer off acknowledging that I did not achieve an m2m.
So if you want to link SharePoint data to Excel here is what you need to do:
Export SharePoint data as an RSS feed. If this is something others will need to refresh then the rss file will need to be stored on a shared drive.
Add PowerPivot if you have not already done so. In PowerPivot get external data from other sources (rss feed) then add your file. To link data you will need a Unique ID to join tables on.

YUI Changing data table depending on list selection

Please advise, I want to make a drop down list that can filter a data table for example if you have data table for invoices and user can select from a drop down list that has invoice types 'debit credit .. etc' , so depend on this selection it should filter the data table using YUI.
Many Thanks.
This example is more complex than what you describe, but it's the same basic idea: http://jafl.github.com/yui3-gallery/querybuilder/

Resources