BizTalk Map and Table Looping functoid - mapping

Mapping picture with output XML: (https://i.stack.imgur.com/6Pr63.jpg)
In this example I have multiple files, where I want to combine 2 different fields together in each iteration. Holding and Portfolio Max Occurs is Unbounded.
In each iteration from PortfolioID filed Table Looping functoid takes values from each row (AU19014,AU19016,AU19015), but from AccountID takes only first row value(AU106) and repeat it in each iteration.
Why it can't loop in AccountID field too? And how with mapping I can do this, To get all values from differant files in each iteration?

Related

QUARTILE.INC returning a value of zero for the 0 QUART

i'm using the quartile.inc() function in a pivot table. The column I'm using is SUM of profit. It doesn't have any 0 values in there (they have been filtered out) yet it keeps returning a 0 value.. Here's a screenshot of the function in question
I've made sure the data type is numeric across all tables, i've filtered out the $0.00 values. I know for a fact the correct value it should return in 15.08. The customer_ids have only blanks and one other id filtered out. Everything else works great except this.
You can try this:
=quartile.inc(filter($D$2:$D$3494,map($D$2:$D$3494,lambda(x,subtotal(103,x)))),0)
As pointed out Google Sheets lacks the AGGREGATE function Excel has which is able to perform aggregations like quartiles ignoring filtered rows; only the more basic SUBTOTAL function is available which retains the ability to ignore filtered rows but lacks more complex aggregations.
However, by using SUBTOTAL(103 (COUNTA ignoring filtered rows) within a MAP over a filtered vertical range you can obtain the filter status of each row as an array; this can be used as the condition argument to the FILTER function to obtain the filtered source cells as an array, which can then just be passed into QUARTILE.INC.

What's the best way of finding the highest value of a table, that is inside a table?

The title is somewhat self-explanatory. I have a table containing a lot of smaller tables with two integers. I need to find the highest/lowest value of the first and second integer within those sub-tables and then output the entire sub-table with the highest/lowest number.
The only way I can come up with seems fairly unintuitive and expensive.
If you need Lua to do the work for you, you can use table.sort and pass it your own sorting function that will sort based on the values of first/second integer and then pick first/last element from the sorted table. If you can maintain the sorted order when inserting (using binary search for a position), then you can always pick the first/last element as needed.

Script to delete columns based on list of possible values in row 1

I would like a script to delete columns in a Google Spreadsheet if the contents match a list of approximately 30 possible text strings. e.g. Custom Variable 1, Custom Variable 3, Custom Variable 9, etc.
I'm new to Google Scripts. I've searched this forum but haven't found a starting point that handles my specific situation -- deleting columns based on a list of string values rather than a single value or value input from a dialogue box.
Any help would be greatly appreciated.
Scott C
If I'm understanding what you're asking, you wish to read through a column and compare a list of values to the value in each row of that column. If that column contains any one of those 30 values, delete that column.
One way you could do it:
Hard code an array that contains all of those values you have in mind. Loop over the column you desire, storing each value into an array (So you would have two arrays total when you're done. One with the hard coded values, the other with the column values). Then, take those values from Array 2, and see if they match any of the words in Array 1. If one of those values matches your list, delete that column.

Google Spreadsheets: Use row of nth occurrence of value for other calculations?

I am using a combination of Google Forms and Google Spreadsheets for data entry and interpretation for scouting in a robotics competition (FRC). The user fills out a form for each match with the data from 6 different teams. That data is put into a spreadsheet by the form, and the sheet of data is used by other sheets for interpretation, and it outputs different stats.
One of the sheets is designed to show the progression of the team's stats over the course of their 9-10 matches. I want it to show the values for a certain stat in the same order as the matches that they played (Match 1: 10 points; Match 2: 15 points; etc.). The problem is that there are upwards of 40 teams, so teams don't play back-to-back. I am trying to create a function that searches for the nth occurrence, by row, in the 6 columns that contain team numbers. That function would then use that row to return a value for a stat by that team from that match.
My spreadsheet is here. The sheet of raw data is called "Games", and the sheet containing the progression data is called "Over Time". Within the "Games" sheet, each line is a match, and there is data for each of the 6 teams in each line. Each team gets a line on the "Over Time" sheet, and each stat would take up about 10 columns.
The function would search for the nth time (as specified by the number in row 2) that the team number (as specified in column A) occurs. It would then search that row number for the team number and return the value in the column specified by the function (eg. If the team number occurs in column C, return the value in column E of the same row.). In the sheet "Averages", I used mainly SUMIF and COUNTIF functions to return averages for each stat, but I can't figure out how to use the array functions that would be necessary for the first step of this function. I would prefer to avoid using hidden columns and rows, as that just gets messy, so it would be great if the entire function is in one cell. I would also prefer it to be a function, as opposed to a script.
This solution uses one function per row (not one function for the entire table). In 'Over Time'!B3:
=ArrayFormula(SPLIT(CONCATENATE(REPT('Games'!E$2:BW&CHAR(9);('Games'!C$2:BU=A3)*(MOD(COLUMN('Games'!C$2:BU$2);14)=3)));CHAR(9)))
which can be filled down to B8.
If it is absolutely necessary to have one formula for the entire table, then I'm sure it could be done, but it will be horribly complex. Further, as it is, these "concatenate then split" type formulae (which you need to resort to when the data isn't nicely vertical) are quite inefficient, depending on how big your source data gets. That may not be an issue in your case, but for big source data sets, I would prefer a custom function for performanc ein this case.

Combine multiple columns containing similar values into one column for use in graph inside Crystal Reports

I have 3 fields, Action1, Action2 and Action3 contained in one report. Each Action field is selected from the same list of values. I would like to graph a count of these values by the value of the field and not field itself. I need one graph and not one graph per Action field. I have tried to combine the field values into an array in the details section, but the report shows the concatenated string values "Action1, Action2, Action3', as a single value in the graph. I tried to graph using "on change of", but it will only allow 2 fields and not 3. Is there a way to count these values regardless of the Action field where they are found?
I have been working with Crystal for years, but can't figure this out for whatever reason.
I was never able to find a solution to this issue inside of Crystal Reports itself. What I ended up doing was creating a stored procedure in SQL to use as the data source. In the stored procedure I basically performed a cross join such that there was only 1 Action returned per record. In CR I then was able to summarize the Action field values.

Resources