: 4581 | 108544 | 12346

Support for related multivalued fields in views 
New idea submissions, commenting and voting are no longer available on this site. Logins have also been disabled.
Use this IdeaSpace to post ideas about Domino Designer.

: 6
: 9
: 3
: Domino Designer
: views
: Wim Stevens645 06 Feb 2011
:
: / Email
Documents may contain multi-valued items .  Many times the values in the items are related (e.g. a document describing an invoice may contain multi-valued items for the purchased article codes, article titles, article price, ...)
Suppose we need to build a view that displays all invoice documents that have at least one article that costs more than 1000$.  We need to list the article code, the article title and the prices
 
It is easy to build a selection formula.
We may display the article price for the article(s) costing more than 1000$ (could be on index 7 and 10 in the multivalued field).  But there is no way to display only the 7th and 10th entry in the article code and article title column
 
What could be a solution:
  - have a hidden column that calculates the indexes (7 and 10 in the example) and store the result in a temporary variable (this temp variable is a new concept to be implemented by IBM). 
  - the other view columns should be able to read this temp variable
 
Each row in the view has a dedicated set of temporary variables
 
 



1) Werner Götz757 (07 Feb 2011)
Everything you describe is possible today.
2) Jochen Sack619 (07 Feb 2011)
Wim, the programmatic name of a column allows you to re-use that column's value in formulas of other columns. Wouldn't that do what you are asking for? (I assume this is what Werner is alluding to.)
3) Wim Stevens645 (08 Feb 2011)
Werner & Jochen,

Thanks for the reply. I did not know it was possible to use the programmatic name in a column formula.
I did some testing but I face still one issue.
To make my point: I use the same example. One Notes document for a single invoice. The document contains invoice header data (name, address, invoice number, ...) and a few multivalued fields (article code, price, quantity, description)
I would like to make a view that lists all article lines that have a price > 1000$. The view should have one line per article.
The selection formula is no problem.
In a hidden column (A) I calculate the indexes of the items that have a price > 1000$.
In another column I display the article codes corresponding to the calculated indexes. Same for the description ,price and quantity

Now comes the problem: there could be more than 10 articles in one invoice. So I need to use the column property "show multiple values as separate entries". I set this property on the column that calculates the indexes. When the other columns refer to the value of column A they get all the indexes and not just the one that corresponds to the line being displayed.

Probable the title of my idea is not correct and should have been: when using the view column property "show multiple values as separate entries" it should be possible in the other columns to refer to the currently displayed entry value
4) Bas van Gestel2808 (09 Feb 2011)
I am sure it is possible to do what you want now. You do not even have to use the programmatic name. If you have 3 columns, all referring to a different multi-value item and all set to "show multiple values as seperate entries". As long as the first column is sorted and the rest are NOT.

The only way to remove the articles with a price < 1000$ is to loop through the items and build a seperate list without these articles and use this list in the column formulas.

So create a view with the four columns:
1) Invoice number (single value, sorted)

2) Article index (multiple values seperate entries, sorted), with formula:
txlTest := "";
@For(i:=1;i<=@Elements(Art_Index);i:=i+1;
@If(
Art_Price >1000;
txlTest := @Trim(txlTest : @Implode(Art_Index :Art_Name :@Text(Art_Price);"~"));
""
)
);
@Word(txlTest;"~";1)

3) Article name (multiple values seperate entries, not sorted), with formula:
txlTest := "";
@For(i:=1;i<=@Elements(Art_Index);i:=i+1;
@If(
Art_Price >1000;
txlTest := @Trim(txlTest : @Implode(Art_Index:Art_Name:@Text(Art_Price);"~"));
""
)
);
@Word(txlTest;"~";2)

4) Article price (multiple values seperate entries, not sorted), with formula:
txlTest := "";
@For(i:=1;i<=@Elements(Art_Index);i:=i+1;
@If(
Art_Price >1000;
txlTest := @Trim(txlTest : @Implode(Art_Index:Art_Name:@Text(Art_Price);"~"));
""
)
);
@TextToNumber(@Word(txlTest;"~";3))

But I must agree it isn't straightforward. Also sorting is really an issue when you want to use related multivalue columns. And what if the number of entries does not match..

Not sure what a good solution would be to make it easier. Maybe an extra column property "Use this columns index as index for further seperate entry columns"??.
5) Mike Woolsey5008 (04 Mar 2011)
I think what he's running into is that he doesn't want the code in a separate row.

What I'm looking for is better formatting control over the view, though -- the ability to display a table in a view, for instance.

I'm probably near that with XPages, I just don't know it yet!










:
:




Welcome to IdeaJam™


You can run IdeaJam™ in your company. It's easy to install, setup and customize. Your employees, partners and customers will immediately see results.

Use IdeaJam to:

  • Collect ideas from employees
  • Solicit feedback and suggestions from employees and customers
  • Run innovation contests and competitions
  • Validate concepts
  • Use the power of "crowd-sourcing" to rank ideas and allow the best ideas to rise to the top

IdeaJam™ works with:

  • IBM Connections
  • IBM Lotus Quickr
  • Blogs and Wikis
  • Websphere Portal
  • Microsoft Sharepoint
  • and other applications.

IdeaJam has an extensive set of widgets and API's that allow you to extend and integrate IdeaJam™ with other applications.

Learn more about IdeaJam >>






IdeaJam developed by

Elguji Software Logo