#1 13 Nov 2008 10:06

klee
Member
Registered: 29 Mar 2007
Posts: 9

prepare data for datacleaning

:pc:

hi SQLfriends

since i use a quit simple tool to make my report (DBxtra) i'm not a very deep specialiest in SQL.
but reading in to this page SS64.com i got SQL-1 and SQL-2 running.

as this is all for datacleaning i did this befor in XLS but that is slow and not stabile; don't ask fore the routine i worte ;-(.

is there any body understanding my problem SQL-3 and SQL-4?
with SQL-3 i like to get market all line of the same Cust# with more than 1 ADRESSENNRso in can easely indicate my work for cleaning
or even clean like SQL-4.
thank you in advance for your interest

Cust# = "M001INSTALLIERTEBASIS"."ZEICHENFELD8"
ADR# = "M001INSTALLIERTEBASIS"."ADRESSENNR"

SQL-1
dense_rank () over (PARTITION BY "M001INSTALLIERTEBASIS"."ZEICHENFELD8" ORDER BY "M001INSTALLIERTEBASIS"."ADRESSENNR")

SQL-2
case when(dense_rank() over(PARTITION BY "M001INSTALLIERTEBASIS"."ZEICHENFELD8" ORDER BY "M001INSTALLIERTEBASIS"."ADRESSENNR")) >1 then 1 else 0 end

SQL-3
in this columen i would like to indecate ALL lines from the same "M001INSTALLIERTEBASIS"."ZEICHENFELD8"  where more then 1 different "M001INSTALLIERTEBASIS"."ADRESSENNR". so in can easely use than this in XLS with autofilter to get only the data to be cleaned.
(see line 16/17 and 37-41)

SQL-4
using SQL-3 and than to replace where SQL-3 = 1  by an decision like take the higher numer of "M001INSTALLIERTEBASIS"."ADRESSENNR", as the higher ADR# most proparbly is the correct one (newer). (see line 16/17 and 37-41)

01 | Cust#     |   ADR#       |SQL-1 |SQL-2 |SQL-3 |  SQL-4
02 | AB-001    |   12154      |   1  |   0  |   0  |   
03 | AB-002    |   120007640  |   1  |   0  |   0  |   
04 | AB-003    |   4643       |   1  |   0  |   0  |   
05 | AB-004    |   20697      |   1  |   0  |   0  |   
06 | AB-005    |   120013774  |   1  |   0  |   0  |   
07 | AB-005    |   120013774  |   1  |   0  |   0  |   
08 | AB-005    |   120013774  |   1  |   0  |   0  |   
09 | AB-005    |   120013774  |   1  |   0  |   0  |   
10 | AB-005    |   120013774  |   1  |   0  |   0  |   
11 | AB-005    |   120013774  |   1  |   0  |   0  |   
12 | AB-006    |   120008286  |   1  |   0  |   0  |   
13 | AB-006    |   120008286  |   1  |   0  |   0  |   
14 | AB-006    |   120008286  |   1  |   0  |   0  |   
15 | AB-006    |   120008286  |   1  |   0  |   0  |   
16 | AB-007    |   120007831  |   1  |   0  |   1  |   120016446
17 | AB-007    |   120016446  |   2  |   1  |   1  |   120016446
18 | AB-008    |   3339       |   1  |   0  |   0  |   
19 | AB-009    |   11095      |   1  |   0  |   0  |   
20 | AB-009    |   11095      |   1  |   0  |   0  |   
21 | AB-010    |   198002437  |   1  |   0  |   0  |   
22 | AB-010    |   198002437  |   1  |   0  |   0  |   
23 | AB-011    |   17417      |   1  |   0  |   0  |   
24 | AB-012    |   8705       |   1  |   0  |   0  |   
25 | AB-013    |   12154      |   1  |   0  |   0  |   
26 | AB-014    |   1523       |   1  |   0  |   0  |   
27 | AB-015    |   120003830  |   1  |   0  |   0  |   
28 | AB-016    |   120016716  |   1  |   0  |   0  |   
29 | AB-017    |   11443      |   1  |   0  |   0  |   
30 | AB-017    |   11443      |   1  |   0  |   0  |   
31 | AB-018    |   120018878  |   1  |   0  |   0  |   
32 | ANIM 001  |   5026       |   1  |   0  |   0  |   
33 | ANIM 001  |   5026       |   1  |   0  |   0  |   
34 | ANIM 002  |   9042       |   1  |   0  |   0  |   
35 | ANIM 003  |   1523       |   1  |   0  |   0  |   
36 | ANIM 004  |   1531       |   1  |   0  |   0  |   
37 | ANIM 005  |   14327      |   1  |   0  |   1  |   98000037
38 | ANIM 005  |   14327      |   1  |   0  |   1  |   98000037
39 | ANIM 005  |   98000037   |   2  |   1  |   1  |   98000037
40 | ANIM 005  |   14327      |   1  |   0  |   1  |   98000037
41 | ANIM 005  |   14327      |   1  |   0  |   1  |   98000037
42 | ANIM 006  |   12965      |   1  |   0  |   0  |   
43 | ANIM 007  |   199000052  |   1  |   0  |   0  |   
44 | ANIM 008  |   16964      |   1  |   0  |   0  |   
45 | ANIM 009  |   199000902  |   1  |   0  |   0  |

Offline

#2 13 Nov 2008 15:25

klee
Member
Registered: 29 Mar 2007
Posts: 9

Re: prepare data for datacleaning

Author: klee

hi
i gave not up and found a way for my request SQL-3 
is that SQL like or is there a better way?
if that works so for my SQK-4 I could replace 0 and 1 by the next formular, who many boxing is alowed in an expression like this in ORACLE SQL?

case when (variance ("M001INSTALLIERTEBASIS"."ADRESSENNR") OVER (PARTITION BY "M001INSTALLIERTEBASIS"."ZEICHENFELD8" ORDER BY "M001INSTALLIERTEBASIS"."ZEICHENFELD8")) =  0 then 0 else 1 end

Offline

Board footer

Powered by FluxBB