LKM row by row (aggregate)
Hello
I have an interface in ODI with a "AGGREGATE". I uses this component to extract the separate lines with the function MAX (column), that it works perfectly for a record, but my LKM don't work line by line and a single record from...
I need to run rank by rank to extract all records in the table. I use the 'LKM SQL for oracle"and I tried with"LKM SQL for SQL (line by line)"
What knowledge module can be used to insert a line by line?
Thank you
I have change the IKM and everything works properly!
I use the 'IKM SQL incremental update (line by line)"
Thank you
Tags: Business Intelligence
Similar Questions
-
Rank as aggregate function - help
Hi all
I am trying to learn oracle RANK as an aggregate function.
After that I run under request.
with temp (No., name, dept, sal) as
(select 1, 'aaa', 20, 32254 double Union all
Select 2, 'eee', 20, 45615 double Union all
Select 3, 'fff', 10, double union all 34645
Select 4, 'bbb', 30, double union all 45734
Select 9, 'mmm', 30, 23225 double Union all
Select 8, "nnn", 20, double union all 43565
Select 5, 'bbb', 20, double union all 56116
Select 7, "ccc", 30, double union all 45166
Select 6, 'ccc', 20, double 75166)
Select
Rank (45166) WITHIN GROUP (order by sal) as rank_1,
Rank (10,45166) WITHIN GROUP (stopped by the Department, sal) as rank_2,
Rank (45166,2) GROUP WITHIN (order by sal, no.) as rank_3
temp;
I get the output voltage:
rank_1 > 5
rank_2 > 2
rank_3 > 5
Here, how is the value of rank_2 is 2 and rank_3 is 5, I expect that two column should be zero because it does not correspond with the records.
Please help me understand, how does the row aggregate function is the species.
Thanks for all help you. Please let me know for further details.
If possible, any study link to learn the rank of aggregate function.
Oracle version:
Oracle Database 11 g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production
PL/SQL Release 11.2.0.3.0 - Production
"CORE 11.2.0.3.0 Production."
AMT for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
Its says not where is the match - but where it appears in the list - game or not.
It's your list sorted by dept, sal
SAL DEPT
---------- ----------
10 34645
32254 20
20 43565
20 45615
20 56116
20 75166
30 23225
45166 30
30 45734
10,45166 would appear in the slot 2
-
Need to group by using a Table WITH
Hello
I use a database of XE 11.g. I have the following query, and it works. It generates the XML code for an email I send. I need to make a change. I think I need a group so I can can insert empty lines when the use_date_time field has changed in the output.
I put comment where I think that the Group By clause must go. When I try a comment this line and run the query, I get an ORA-00979: not a GROUP BY expression error.
Thanks for looking at this.
DECLARE
l_html_header varchar2 (1024);
CLOB l_html_body;
l_html_footer varchar2 (1024);
CLOB l_html_total;
BEGIN
l_html_body: = ' < div >
< table >
< b >
< tr / >
< th Width = "180" Align = "left" > mass Date time < /th >
< th Width = "100" Align = "left" > anthem Type < /th >
< th Width = "275" Align = "left" > name < /th > anthem
< th Width = "200" Align = "left" > definition < /th >
< th Width = "200" Align = "left" > < /th > interpreter
< /tr > ';
I'm in)
With html_table as)
Select hm.use_date_time
hm.use_type
hm.hymn_full_name
hm.gather_number
hm.setting
hm.performer
hm.use_type_key
Of HYMN_MAILING hm
order of use_date_time)
Select
use_date_time
use_type
hymn_full_name
gather_number
setting
interpreter
use_type_key
Html_table t
-Group By t.use_date_time
Order of t.use_date_time, t.use_type_key
) Loop
l_html_body: = l_html_body | "< tr >";
l_html_body: = l_html_body | "< td >" | TO_CHAR (i.use_date_time, ' MM/DD/YYYY HH: mi AM' ') | '< table > ";
l_html_body: = l_html_body | "< td >" | i.use_type | "< table >";
l_html_body: = l_html_body | "< td >" | i.hymn_full_name | "< table >";
l_html_body: = l_html_body | "< td >" | i.Setting | "< table >";
l_html_body: = l_html_body | "< td >" | i.performer | "< table >";
l_html_body: = l_html_body | "< /tr >";
end loop;
l_html_body: = l_html_body | '< /table > ';
l_html_header: = ' <! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 / / IN" ""http://www.w3.org/TR/html4/strict.dtd"> ".
< html > < head > < title > anthem reminder < / title > < / head > < body > ';
l_html_footer: = ' < / div > < body / > < / html > ';
l_html_total: = l_html_header | l_html_body | l_html_footer;
dbms_output.put_line (l_html_total);
-html_email (p_to = > ' [email protected]', )
-- p_from => ' [email protected] ',
-p_subject = > 'Message of Test using subject and UTL_SMTP.
-p_text = > "This is a test message."
-p_html = > l_html_total,
-p_smtp_hostname = > "mail.site.org"
-p_smtp_portnum = > 587);
END;
/
Hello
I don't know what you want, either.
In pure SQL, you can use the GROUP BY ROLLUP to produce an additional line (called a Super row aggregate) at the end of each group.
However, given that you are using PL/SQL and stopping after each line, it is simpler test a change of value at that time here. (As a general rule, you want the back-end to retrieve data and nothing else. How do you present this data is best done by front end.)
For example, that you want to add a couple of
items between different values of use_date_time:DECLARE
prev_use_date_time html_table.use_date_time%TYPE;
l_html_header varchar2 (1024);
...
hm.hymn_full_name
-Joke the anthem:
-(Q) what was the name of Ralph Vaughn Williams's dog?
-(A) AMPNEY
...
) Loop
IF prev_use_date_time <> i.use_date_time
THEN
l_html_body: = l_html_body | '
';END IF;
prev_use_date_time: = i.use_date_time;
l_html_body: = l_html_body | '
'; ...
The rest of your code can remain unchanged.
-
Oracle Apex: Aggregate also show row
Hi all
Currently I use an interactive report Oracle Apex
Column1 Column2
A1 1 2
A2 2 3
A3 3 4
A4 4 5
----------------------
10 14
After the display of data, make some calculations as Column1, Column2, using the SUM aggregate function of interactive report
But the result shows that the last line of the report , so I have to scroll to see the result
How to display the result in the first row of the report?
Column1 Column2
10 14
----------------------
A1 1 2
A2 2 3
A3 3 4
A4 4 5
I found the solution
- Add void querry to compute the sum
- Union with existed result
- Use to highlight the service to catch up with the new line
-
Aggregate XML columns in a single row in Oracle
Hello
I have a table named TMTABLE HT and it followed columns:
ID, NAME, TEXT
1 orders XML1
2 orders XML2
3 orders for XML3
where XML1, XML2 and XML3 follow:
XML1:
<? XML version = "1.0" encoding = "utf-8"? >
The <>rowsets
rowset <>
< row >
< Uom IN. = "" > < DB > 4500005146
< Uom of line = "" > 10 < / Line >
< / row >
< / lines >
< / sets of lines >
XML2:
<? XML version = "1.0" encoding = "utf-8"? >
The <>rowsets
rowset <>
< row >
< Uom IN. = "" > < DB > 4500005147
< Uom of line = "" > 10 < / Line >
< / row >
< / lines >
< / sets of lines >
XML3:
<? XML version = "1.0" encoding = "utf-8"? >
The <>rowsets
rowset <>
< row >
< Uom IN. = "" > < DB > 4500005148
< Uom of line = "" > 10 < / Line >
< / row >
< / lines >
< / sets of lines >
Now, I want to query Oracle get this XML1, XML2 and XML3 in a single row, in the following format:
<? XML version = "1.0" encoding = "utf-8"? >
rowset <>
< row >
< Uom IN. = "" > < DB > 4500005146
< Uom of line = "" > 10 < / Line >
< / row >
< row >
< Uom IN. = "" > < DB > 4500005147
< Uom of line = "" > 10 < / Line >
< / row >
< row >
< Uom IN. = "" > < DB > 4500005148
< Uom of line = "" > 10 < / Line >
< / row >
< / lines >
I tried various queries, but not able to do this. Can someone help me please how to do in this regard?Hello
Assuming that TEXT column of XMLType data type:
SQL> select xmlelement("Rowset", 2 xmlagg(x.column_value) 3 ) as result 4 from tmtable t 5 , xmltable('/Rowsets/Rowset/Row' passing t.text) x 6 ; RESULT --------------------------------------------------------------------------------
4500005146 10 4500005147 10 4500005148 10 -
SQL question - aggregate rows based on the value of the columns
Hi all
DBA_EXTENTS reports on the number of starting point of measurement (column BLOCK_ID) and the size of the scale in the Oracle (BLOCKS column) blocks.
I'm trying to combine the lines of the segments of same as if their associated extensions are adjacent.
For example, assume that the data in the view are as follows:
Nom_segment Block_id BLOCKS EMP 10 8 EMP 18 8 DEPARTMENTS 26 16 DEPARTMENTS 42 8 EMP
50 16 EMP 66 8 And I want to do a set of results that looks like this:
Nom_segment Block_id BLOCKS EMP 10 16 DEPARTMENTS 26 24 EMP 50 16 I thought to use an analytical query, but I couldn't find something that meets this requirement.
Can you please help?
Hello
Here's a way to do that using the analytical SUM function:
WITH got_grp AS
(
SELECT nom_segment, block_id, blocks
, block_id - SUM (blocks) over (PARTITION BY nom_segment
ORDER BY block_id
) AS the grp
FROM the data
)
SELECT nom_segment
MIN (block_id) AS grp_block_id
SUM (blocks) AS grp_blocks
OF got_grp
GROUP BY nom_segment, grp
ORDER BY grp_block_id
;
The data you posted in response to #3:
Pini Dibask wrote:
Thanks Frank,.
If you would care to post CREATE TABLE and INSERT to your sample data and the version of your database, then I could show you exactly.
The Oracle version is 11.2.0.4
This is the CREATE TABLE and INSERT statements for the sample data:
CREATE THE TABLE DATA (NOM_SEGMENT VARCHAR2 (20), BLOCK_ID NUMBER, NUMBER OF BLOCKS);
INSERT IN DATA VALUES ("EMP", 10, 8);
INSERT IN DATA VALUES ("EMP", 18: 8);
INSERT IN DATA VALUES ("DEPARTMENTS", 28, 16);
INSERT IN DATA VALUES ("DEPARTMENTS", 42, 8);
INSERT IN DATA VALUES ("EMP", 50, 8);
INSERT IN DATA VALUES ("EMP", 66, 8);
is not the same as the data in your first post and the results are not the same, either.
The fixed difference technique involves lines don't overlap. In the sample data in response #3, 'DEPARTMENTS' lines overlap, i.e. blocks 42 and 43 belong to two segments.
-
Column not null in rows in SQL query
I have the below query,
WITH t
Did YOU (SELECT NULL col_1, col_2, 'C' FROM DUAL col_3 NULL
UNION ALL
SELECT 'A' col_1, col_2 NULL, NULL FROM DUAL col_3
UNION ALL
NULL SELECT col_1, col_2 "B", NULL FROM DUAL col_3)
SELECT *.
T;
who will pick up three rows, on which single column will have a value for each row.
And the other columns are left out as below.COL_1 COL_2 COL_3 C A B I don't need that values should be extracted in the column name that is not null.
as
COL_1 COL_2 COL_3 A B C
Please advise meYou can use the MAX aggregate function. But do not know what you are trying to reach.
-
Stupid old backpacker (me) cannot understand why this query returns 1 row
Hi all
In reference to {: identifier of the thread = 2456973}, why do
only 1 rank and not 1 for each task? In fact, I had to test it myself to believe.select sum(count(decode(job, 'CLERK', 1, null))) CLERKS , sum(count(decode(job, 'SALESMAN', 1, null))) SALESMANS from emp group by job;
It returns the data as if the query were
Using only a single aggregate (count or sum) returns 1 row per job, as expectedselect sum(CLERKS), sum(SALESMANS) from (select count(decode(job, 'CLERK', 1, null)) CLERKS, count(decode(job, 'SALESMAN', 1, null)) SALESMANS from emp group by job)
John Stegeman wrote:
It returns the data as if the query wereselect sum(CLERKS), sum(SALESMANS) from (select count(decode(job, 'CLERK', 1, null)) CLERKS, count(decode(job, 'SALESMAN', 1, null)) SALESMANS from emp group by job)
Exactly the point ;-)
It seems that Oracle actually do, a group of 'double' in the same operation.
Attend plans to explain in this example:SQL> select count(decode(job, 'CLERK', 1, null)) CLERKS 2 , count(decode(job, 'SALESMAN', 1, null)) SALESMANS 3 from scott.emp group by job; CLERKS SALESMANS ---------- ---------- 0 0 0 0 0 0 0 4 4 0 Execution Plan ---------------------------------------------------------- Plan hash value: 1697595674 --------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | --------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 5 | 40 | 4 (25)| 00:00:01 | | 1 | HASH GROUP BY | | 5 | 40 | 4 (25)| 00:00:01 | | 2 | TABLE ACCESS FULL| EMP | 14 | 112 | 3 (0)| 00:00:01 | ---------------------------------------------------------------------------
And compare it to the one with the double aggregates:
SQL> select sum(count(decode(job, 'CLERK', 1, null))) CLERKS 2 , sum(count(decode(job, 'SALESMAN', 1, null))) SALESMANS 3 from scott.emp group by job; CLERKS SALESMANS ---------- ---------- 4 4 Execution Plan ---------------------------------------------------------- Plan hash value: 417468012 ---------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ---------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 8 | 4 (25)| 00:00:01 | | 1 | SORT AGGREGATE | | 1 | 8 | 4 (25)| 00:00:01 | | 2 | HASH GROUP BY | | 1 | 8 | 4 (25)| 00:00:01 | | 3 | TABLE ACCESS FULL| EMP | 14 | 112 | 3 (0)| 00:00:01 | ----------------------------------------------------------------------------
There are GROUP BY hash and SORT GLOBAL times.
It is really unnecessary to an aggregate on an aggregate - if two aggregates are used "in the same group level.
Sum() aggregates are used on an already aggregated value, so it doesn't look like Oracle which actually cures like 'first do the internal aggregate using the group specified by and then do the external aggregation on the result with any group.'Look at this example where I combine aggregates "double" with "single" aggregates:
SQL> select sum(count(decode(job, 'CLERK', 1, null))) CLERKS 2 , sum(count(decode(job, 'SALESMAN', 1, null))) SALESMANS 3 , count(decode(job, 'SALESMAN', 1, null)) SALESMANS2 4 , count(*) COUNTS 5 from scott.emp group by job; CLERKS SALESMANS SALESMANS2 COUNTS ---------- ---------- ---------- ---------- 4 4 1 5 Execution Plan ---------------------------------------------------------- Plan hash value: 417468012 ---------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ---------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 8 | 4 (25)| 00:00:01 | | 1 | SORT AGGREGATE | | 1 | 8 | 4 (25)| 00:00:01 | | 2 | HASH GROUP BY | | 1 | 8 | 4 (25)| 00:00:01 | | 3 | TABLE ACCESS FULL| EMP | 14 | 112 | 3 (0)| 00:00:01 | ----------------------------------------------------------------------------
When you mix "doubles" and "single" aggregates, Oracle decides that unique aggregates belong to the 'outer' aggregation
SALESMAN2 did a count on the aggregated work column which is the result of the 'internal' group by - so only 1.
The count (*) is also the result of the aggregation of the 'internal '.I don't know if it's documented or if it is an 'effect' of internal code used for GROUPING SETS or the internal code used to enable the analytical functions like this:
SQL> select count(decode(job, 'CLERK', 1, null)) CLERKS 2 , count(decode(job, 'SALESMAN', 1, null)) SALESMANS 3 , sum(count(decode(job, 'CLERK', 1, null))) over () CLERKS2 4 , sum(count(decode(job, 'SALESMAN', 1, null))) over () SALESMANS2 5 from scott.emp group by job; CLERKS SALESMANS CLERKS2 SALESMANS2 ---------- ---------- ---------- ---------- 0 0 4 4 4 0 4 4 0 0 4 4 0 0 4 4 0 4 4 4 Execution Plan ---------------------------------------------------------- Plan hash value: 4115955660 ---------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ---------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 5 | 40 | 4 (25)| 00:00:01 | | 1 | WINDOW BUFFER | | 5 | 40 | 4 (25)| 00:00:01 | | 2 | SORT GROUP BY | | 5 | 40 | 4 (25)| 00:00:01 | | 3 | TABLE ACCESS FULL| EMP | 14 | 112 | 3 (0)| 00:00:01 | ----------------------------------------------------------------------------
Personally, I think that I would have preferred if Oracle has raised an error on this "double aggregation" and therefore require me to write this way (if it's the result I wanted):
select sum(CLERKS), sum(SALESMANS) from (select count(decode(job, 'CLERK', 1, null)) CLERKS, count(decode(job, 'SALESMAN', 1, null)) SALESMANS from emp group by job)
I don't really see a good use case for aggregations of 'double'-, but rather that he could give you undetected bugs in your code, if you happen to do double aggregation without noticing.
Interesting thing to know ;-)
-
Hi all
one of my friends asked me a question and I think it's possible but how?
without using PLSQL, can it be done by sql?
We have a table and its data like this:
I want to order these data be field X (which is already happening in this example) and aggregate that data by field Y but if in the order of the value of the field changes, it means that it will be a new group.X Y ---------- A S B S C S D T E T F S G S H R
I mean, for this example, A, B and C Archives is a group, D, and E are another group and E and F are one group to another. as you see ABC records and EF has same value Y (which is S) but I would like to assume they are different groups because of the order.
If I give a number of groups, it looks like this:
I have 4 different group here. any idea?X Y ---------- A S 1 B S 1 C S 1 D T 2 E T 2 F S 3 G S 3 H R 4
PS: we do not want just sql, plsqlIf you don't care about the group being sequential numbers:
with t as ( select 'A' x,'S' y from dual union all select 'B','S' from dual union all select 'C','S' from dual union all select 'D','T' from dual union all select 'E','T' from dual union all select 'F','S' from dual union all select 'G','S' from dual union all select 'H','R' from dual ) select x, y, row_number() over(order by x) - row_number() over(partition by y order by x) rn from t order by x / X Y RN - - ---------- A S 0 B S 0 C S 0 D T 3 E T 3 F S 2 G S 2 H R 7 8 rows selected. SQL>
SY.
-
request for a row of each distinct column value
Let's say theres employee table with the columns name, id and title. How do you get a line for each separate title. What line is it of okay as long as your result set covers all the possible titles used. How can I do this? Thank youHello
I think that you may have about a Request of Top - N .
As you post a version of your table, I'll use scott.emp to illustrate.
The following query illustrates exactly one line of output for each separate work:WITH got_r_num AS ( SELECT empno, ename, job , ROW_NUMBER () OVER ( PARTITION BY job ORDER BY ename ) AS r_num FROM scott.emp ) SELECT empno, ename, job FROM got_r_num WHERE r_num = 1 ;
Output:
` EMPNO ENAME JOB ---------- ---------- --------- 7902 FORD ANALYST 7876 ADAMS CLERK 7698 BLAKE MANAGER 7839 KING PRESIDENT 7499 ALLEN SALESMAN
The lines you see are actually the rows in the table, not aggregates. In other words, you can be sure that there is a line in the table with empno = 7902, ename = 'FORD' and employment = "ANALYST."
I hope that answers your question.
If not, post a small example data (CREATE TABLE and only relevant columns, INSERT statements) and also publish outcomes from these data.
If the expected results are not unique, in other words, if you want to be just as pleased at a number of games of different results, then after a few examples from the same data of the sample. -
Select the last row inserted into the table
Hello
I have an app that inserts a line in two columns (stamp that contains the time of creation of the line and a float) each seconde.1. I have another app that bed that reads lateset inserted each seconde.1. I had this on SQL Server where I just chose the DateTime max line and had surgery no clustered index on the datetime column. But since I'm moving this course at Oracle I wanted to know if there is a better way to do it. The table will keep up to 30 days of data is about 26 million lines. So I need this facility where querying for last place among the 26 million lines continue with timer deuxieme.1 of my application.
Here's my insert:
Insert in testlog (hz, ctime) values (: hz_value, localtimestamp (2))
Here is my selection:
Select hz, ctime testlog where ctime = (select max (ctime) of testlog)
Thank youI would use:
Select hz, ctime of (select hz, ctime, dense_rank() over (order by desc ctime) rnk of testlog) where rnk = 1;
For example:
SQL> explain plan for 2 select * from emp where empno = (select max(empno) from emp) 3 / Explained. SQL> @?\rdbms\admin\utlxpls PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------------------------------------ Plan hash value: 1674692883 --------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | --------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 37 | 2 (0)| 00:00:01 | | 1 | TABLE ACCESS BY INDEX ROWID | EMP | 1 | 37 | 1 (0)| 00:00:01 | |* 2 | INDEX UNIQUE SCAN | PK_EMP | 1 | | 0 (0)| 00:00:01 | | 3 | SORT AGGREGATE | | 1 | 4 | | | | 4 | INDEX FULL SCAN (MIN/MAX)| PK_EMP | 14 | 56 | 1 (0)| 00:00:01 | --------------------------------------------------------------------------------------- PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------------------------------------ Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("EMPNO"= (SELECT MAX("EMPNO") FROM "EMP" "EMP")) 16 rows selected. SQL> explain plan for 2 select * from (select e.*,dense_rank() over(order by empno desc) rn from emp e) where rn = 1 3 / Explained. SQL> @?\rdbms\admin\utlxpls PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------------------------------------ Plan hash value: 2150023773 ---------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ---------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 14 | 1400 | 2 (0)| 00:00:01 | |* 1 | VIEW | | 14 | 1400 | 2 (0)| 00:00:01 | |* 2 | WINDOW NOSORT STOPKEY | | 14 | 518 | 2 (0)| 00:00:01 | | 3 | TABLE ACCESS BY INDEX ROWID| EMP | 14 | 518 | 2 (0)| 00:00:01 | | 4 | INDEX FULL SCAN DESCENDING| PK_EMP | 14 | | 1 (0)| 00:00:01 | ---------------------------------------------------------------------------------------- PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------------------------------------ Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("RN"=1) 2 - filter(DENSE_RANK() OVER ( ORDER BY INTERNAL_FUNCTION("EMPNO") DESC )<=1) 17 rows selected. SQL>
SY.
-
Function keys row has stopped working after update 10.11.6
I upgraded my Macbook Pro to El Capitan 10.11.6 last week, and the row function keys have now stopped working. If someone has had this problem and how can it be solved?
Thanks in advance for your help (I'm not very tech savvy, so please, responses may be simplistic?)
The keys work when starting recovery?
On OS X Recovery - Apple Support
This is the Office Mac Pro forum. I asked that your post moved to the forum of laptop MacBook Pro or another appropriate forum.
-
Extraction of text from the strings in a single cell of a row of cells
Hello
Is there an easier way to search a text / word of a string in the row of cells, and where a match is found back a header text - see the example below.
The left table contains the initial positions of conformity in groups of companies. I would like to complete the table on the right with compliance positions indicated in the table on the left, using the header text (red zone). Example 1 shows that "C company" is not in line with the left table and returns a "Non-compliant" in the relevant cell for company C. Example 2 A company, C and Z are in line with the left table and returns "comply" in the relevant cell in company A, C and Z respectively. It goes the same for the partial.
The lines must also be aligned as shown in the left column will contain a single reference (not shown in the example).
My current approach was to simply build a small matrix and use IF (COUNTIF ($E5, "* company A *" "'), 'In line'," "") - this works fine, but is a bit messy - obtained above table, it's really what I like o would reach.
I also tried to use nested 'FI', 'find', 'Index' and 'Match' combinations, based on a few positions at the beginning, but not could not get the correct syntax.
Would appreciate other solutions for the construction of the table to the right.
Thank you in advance...
Pasel
This may work for you:
A2 = if (COUNTA ('Table 1 - company compliance Positions': $A2) > 0, IF (LEN ('Table 1 - company compliance Positions': $A2) −LEN (SUBSTITUTE ('Table 1 - company compliance Positions': $A2, A$ 1, "")) > 0, 'table 1 - company compliance Positions': $A$ 1, ' '), "") & IF (COUNTA ('Table 1 - company compliance Positions': $B2) > 0, IF (LEN ('Table 1 - company compliance Positions': $B2) −LEN (SUBSTITUTE ("table 1 - company compliance Positions")) ((((: $B2, a$ 1, ' ')) > 0, "table 1 - company compliance Positions": $B$ 1, ' '), "") & IF (COUNTA ('Table 1 - company compliance Positions': $C2) > 0, IF (LEN ('Table 1 - company compliance Positions': $C2) −LEN (SUBSTITUTE ('Table 1 - company compliance Positions': $C2, A$ 1, "")) > 0, "table 1 - company compliance Positions": $C$ 1, ""), "")
It's shorthand dethrone select cell A2, and then type (or copy and paste it here) the formula:
= IF (COUNTA ('Table 1 - company compliance Positions': $A2) > 0, IF (LEN ('Table 1 - company compliance Positions': $A2) −LEN (SUBSTITUTE ('Table 1 - company compliance Positions': $A2, A$ 1, "")) > 0, 'table 1 - company compliance Positions': $A$ 1, ' '), "") & IF (COUNTA ('Table 1 - company compliance Positions': $B2) > 0, IF (LEN ('Table 1 - company compliance Positions': $B2) −LEN (SUBSTITUTE ("table 1 - company compliance Positions")) ((((: $B2, a$ 1, ' ')) > 0, "table 1 - company compliance Positions": $B$ 1, ' '), "") & IF (COUNTA ('Table 1 - company compliance Positions': $C2) > 0, IF (LEN ('Table 1 - company compliance Positions': $C2) −LEN (SUBSTITUTE ('Table 1 - company compliance Positions': $C2, A$ 1, "")) > 0, "table 1 - company compliance Positions": $C$ 1, ""), "")
Select cell A2, copy
Select cells A2 at the end of column F, dough
-
I have a formula which, if there is a number in the box, multiplied by a price, then sums the results in a final column. I copied it in 7 rows. He changed that required line numbers, the formulas that look all right, but nothing than to do the work of other 6, it seems to me unless I fill all the blank cells in row 0. Curiously, one that works is not that I typed the formula in the original line, and it has empty cells.
Here's the formula, each column has a product, then the cell is multiplied by a number, this number being the cost of the product. If there is no product sold, the cell is empty, so it is 0.
IFERROR ((B6×50) +(C6×30) +(D6×60) +(E6×40) +(F6×30) +(G6×25) +(H6×25) +(I6×20) + (6 × 20) + (K6 × 25) +(L6×20) +(M6×15) + (6 × 10) + +(O6×10) (P6), 0)
Ideas?
Thank you!
Here's a way to do what you call:
I guess constant multipliers are immutable, when used on different lines...
In this example, the multipliers are stored on the first line (but can be anywhere you like).
A2 = SUMPRODUCT (B$ 1: $ 1, B2:P2 P)
It's shorthand dethrone select cell A2, and then type (or copy and paste it here) the formula:
= SUMPRODUCT(B$1:P$1, B2:P2)
Select cell A2, copy
Select cells A2 at the end of the column, paste
The constants are set up like this:
Here is the table already set up (you can copy and paste here) then you can just add the formula:
50
30
60
40
30
25
25
20
20
25
20
15
10
10
1
381
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
50
1
60
1
30
1
20
1
-
second row of keys not working only not on the apple bluetooth keyboard
The second row of keys keyboard bluetooth of iMac (the Board older with batteries) do not work.
Thoughts?
Thank you
LGS properties
Have you tried to install new batteries?
Maybe you are looking for
-
initialize the control to the new default value
Hi all I would like to initlize a control to a new default value? I was looking into property nodes and node of appeal, I can use call node initialization by default, but how to change the value by default in the block diagram? is it still possible?
-
Variables for voltage and current on each component (for use in graphically the diagram)
Hello I have a very simple circuit containing only a source of AC voltage and resistance of two series. I want to draw the voltage of the source and each resistance. I can't find any variable involves pre right now, I know I und came to the value of
-
Can I use a printer HP Officejet 6310 on windows XP, vista and 7
Original title: HP Officejet 6310 printer I have two computers, a desktop computer running XP Pro and a laptop running Vista. I recently bought a laptop running Windows 7 64-bit. Can I use a HP 6310 printer on all three?
-
How can I stop several times be asking to download this service Pack
I can't stop being ask to download the service pack that I got in my updates which has been downloaded more than once. How to make I prevent this
-
Addign an external monitor to the laptop
When I add an external monitor to my laptop - vista past in safe mode - how do I change back to the normal mode