SOLVED

Linking 3 lists to show one column's value, possible?

%3CLINGO-SUB%20id%3D%22lingo-sub-13515%22%20slang%3D%22en-US%22%3ELinking%203%20lists%20to%20show%20one%20column's%20value%2C%20possible%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-13515%22%20slang%3D%22en-US%22%3E%3CP%3EWe%20have%203%20lists%3A%3CBR%20%2F%3E-%20Teams%20-%20columns%3A%20Title.%3CBR%20%2F%3E-%20Services%20-%20columns%3A%20Title%2C%20Team%20(lookup%2C%20one%20value).%3CBR%20%2F%3E-%20Customers%20-%20columns%3A%20Customer%20name%2C%20Services%20(lookup%2C%20multiple%20values).%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThe%20relationships%20are%3A%3CBR%20%2F%3E-%20One%20Team%20can%20provide%20one%20or%20more%20Services.%3CBR%20%2F%3E-%20One%20Service%20can%20be%20provided%20by%20only%20one%20Team.%3CBR%20%2F%3E-%20One%20Service%20can%20be%20provided%20to%20one%20or%20more%20Customers.%3CBR%20%2F%3E-%20One%20Customer%20can%20receive%20one%20or%20more%20Services.%3CBR%20%2F%3Eso%20between%20Services%20and%20Customers%2C%20there%20is%20a%20many%20to%20many%20relationship.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWe%20would%20like%20to%20use%20the%20current%20user's%20Department%20name%2C%20which%20is%20the%20same%20as%20the%20Teams%20Title%20name%2C%20to%20show%20the%20list%20of%20customers%2C%20that%20this%20user's%20Team%20is%20providing%20Services%20for.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWe%20tried%20to%20use%20the%20web%20parts%20and%20connections%20between%20those%2C%20but%20as%20the%20relationship%20between%20Customers%20and%20Services%20is%20many%20to%20many%2C%20that%20was%20not%20possible.%20Not%20sure%20if%20linked%20data%20sources%20is%20the%20way%20to%20go.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ECan%20anyone%20point%20us%20in%20a%20direction%2C%20that%20may%20help%20us%20realizing%20the%20above%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWill%20appreciate%20any%20advice%2C%20thanks%20in%20advance%3CBR%20%2F%3EJohn%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-13515%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3ELists%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ESharePoint%20Online%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-23905%22%20slang%3D%22en-US%22%3ERe%3A%20Linking%203%20lists%20to%20show%20one%20column's%20value%2C%20possible%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-23905%22%20slang%3D%22en-US%22%3E%3CP%3EThis%20is%20the%20solution%20we%20came%20up%20with%3A%3C%2FP%3E%3CP%3E1.%20We%20identified%20the%20scope%20within%20which%20the%20current%20page%20is.%3C%2FP%3E%3CP%3E2.%20For%20that%20scope%20we%20retrieve%20the%20necessary%20data%20using%20javascript%26nbsp%3Band%20store%20them%20in%20%3CEM%3E%3CSTRONG%3Elocalstorage%3C%2FSTRONG%3E%3C%2FEM%3Efor%20later%20usage%20with%20an%20expiration%20time%20of%2010%20hours.%3C%2FP%3E%3CP%3E3.%20Each%20page%20that%26nbsp%3Ban%20end-user%20access%20then%20presents%20the%20data%20needed%20by%20taking%20it%20from%20the%20%3CSTRONG%3Elocalstorage%3C%2FSTRONG%3E.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-14233%22%20slang%3D%22en-US%22%3ERe%3A%20Linking%203%20lists%20to%20show%20one%20column's%20value%2C%20possible%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-14233%22%20slang%3D%22en-US%22%3E%3CP%3EThanks%20to%20Pete%20W.%2C%20Dean%20G.%20and%20Scott%20M.%20for%20your%20input.%3CBR%20%2F%3EWe%20will%20for%20now%20go%20with%20a%20manual%20filtering%20of%20the%20customers%2C%20as%20the%20services%20provided%20by%20the%20each%20team%20is%20small%20and%20known%20for%20now.%3CBR%20%2F%3EWill%20look%20into%20the%20Flow%20Common%20Data%20Model%20as%20that%20looks%20useful%20and%20nearly%20out%20of%20the%20box%20%3A)%3C%2Fimg%3E%3CBR%20%2F%3EWill%20update%20this%20thread%2C%20should%20we%20find%20a%20solution%20that%20fits%20our%20needs.%3CBR%20%2F%3EKind%20regards%2C%20John%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-13746%22%20slang%3D%22en-US%22%3ERe%3A%20Linking%203%20lists%20to%20show%20one%20column's%20value%2C%20possible%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-13746%22%20slang%3D%22en-US%22%3E%3CP%3EYou%20could%20always%20use%20PowerQuery%20in%20Excel%20to%20do%20the%20relationship%2C%20save%20the%20Excel%20file%20then%20embed%20that%20document%20within%20the%20site%20with%20Slicers.%20Alternatively%2C%20you%20could%20do%20the%20same%20in%20PowerBi%20and%20Expose%20the%20report%20through%20the%20embed%20code.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-13722%22%20slang%3D%22en-US%22%3ERe%3A%20Linking%203%20lists%20to%20show%20one%20column's%20value%2C%20possible%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-13722%22%20slang%3D%22en-US%22%3E%3CP%3EOn%20approach%20would%20be%20to%20use%20an%20Access%20Web%20App.%3C%2FP%3E%3CP%3EOther%20approaches%20will%20require%20some%20code%2C%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F83%22%20target%3D%22_blank%22%3E%40Marc%20Anderson%3C%2FA%3E%26nbsp%3Bhas%20some%20examples%20on%20his%20blog%20that%20could%20be%20helpful%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAnother%20approach%20would%20be%20to%20use%20the%20new%20Flow%20Common%20Data%20model%2C%20see%20%3CA%20href%3D%22https%3A%2F%2Fflow.microsoft.com%2Fen-us%2Fblog%2Fflow-and-common-data-model%2F%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fflow.microsoft.com%2Fen-us%2Fblog%2Fflow-and-common-data-model%2F%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-13707%22%20slang%3D%22en-US%22%3ERe%3A%20Linking%203%20lists%20to%20show%20one%20column's%20value%2C%20possible%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-13707%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20John%2C%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWe%20have%20a%20framework%20which%20can%20handle%20this%20scenario.%20Happy%20to%20arrange%20a%20chat%20to%20determine%20its%20suitability.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ERegards%3C%2FP%3E%3CP%3EPete%3C%2FP%3E%3C%2FLINGO-BODY%3E
Frequent Contributor

We have 3 lists:
- Teams - columns: Title.
- Services - columns: Title, Team (lookup, one value).
- Customers - columns: Customer name, Services (lookup, multiple values).

 

The relationships are:
- One Team can provide one or more Services.
- One Service can be provided by only one Team.
- One Service can be provided to one or more Customers.
- One Customer can receive one or more Services.
so between Services and Customers, there is a many to many relationship.

 

We would like to use the current user's Department name, which is the same as the Teams Title name, to show the list of customers, that this user's Team is providing Services for.

 

We tried to use the web parts and connections between those, but as the relationship between Customers and Services is many to many, that was not possible. Not sure if linked data sources is the way to go.

 

Can anyone point us in a direction, that may help us realizing the above?

 

Will appreciate any advice, thanks in advance
John

5 Replies

Hi John, 

 

We have a framework which can handle this scenario. Happy to arrange a chat to determine its suitability.

 

Regards

Pete

On approach would be to use an Access Web App.

Other approaches will require some code,

@Marc Anderson has some examples on his blog that could be helpful

 

Another approach would be to use the new Flow Common Data model, see https://flow.microsoft.com/en-us/blog/flow-and-common-data-model/

You could always use PowerQuery in Excel to do the relationship, save the Excel file then embed that document within the site with Slicers. Alternatively, you could do the same in PowerBi and Expose the report through the embed code.

Thanks to Pete W., Dean G. and Scott M. for your input.
We will for now go with a manual filtering of the customers, as the services provided by the each team is small and known for now.
Will look into the Flow Common Data Model as that looks useful and nearly out of the box :)
Will update this thread, should we find a solution that fits our needs.
Kind regards, John

best response confirmed by John Aage Andersen (Frequent Contributor)
Solution

This is the solution we came up with:

1. We identified the scope within which the current page is.

2. For that scope we retrieve the necessary data using javascript and store them in localstorage for later usage with an expiration time of 10 hours.

3. Each page that an end-user access then presents the data needed by taking it from the localstorage.