2016-03-31 14 views
1

Ich bin ein Benutzer von Oracle BI (V. 11.1.1.7.141014). Ich habe eine Textspalte "description" und möchte eine neue Tabelle mit der Wortzahl für alle Wörter in dieser Spalte erstellen. So zum Beispiel:Anzahl der Wörter für alle Wörter in einer Oracle BI-Spalte

Quelle:

Description 
___________ 
This is a test 
Just a test 

Ergebnis:

Word Count 
_____________ 
a  2 
test 2 
is  1 
just 1 
this 1 

Wäre es möglich? Ich habe ein Benutzerkonto (keine Verwaltungsfunktionen), aber ich kann an Berichten (Tabellen, Pivot-Tabellen usw.), Datenstrukturen, benutzerdefinierten SQL-Abfragen (beschränkt auf Berichte und Datenstrukturen) usw. arbeiten.

Vielen Dank im Voraus

+0

Sie benötigen einen Parser und einige Regeln. Es ist schwierig. Ist ein Wort wie "es ist" ein Wort oder zwei? – kevinsky

+0

Ich denke, ich würde Wörter wie diese auf irgendeine Weise herausfiltern; Übrigens, die Kolumne ist in italienischer Sprache, also keine englischen Abkürzungen (vielleicht italienische ...). – tripuz

+0

Verwenden Sie Leerzeichen als Trennzeichen. Überprüfen Sie dieses. http://StackOverflow.com/a/30044861/3470178 –

Antwort

1

Definieren Sie "Wort" als eine Folge von einem oder mehreren aufeinander folgenden englischen Buchstaben (Groß- oder Kleinschreibung), und angenommen, dass "this" und "This" gleich sind, hier ist eine mögliche Lösung. Die erste Zeile des Codes endet in "... from a)", anstelle von "a" wird der Tabellenname ersetzt (für meine eigenen Testzwecke habe ich eine Tabelle mit Ihren Eingabedaten erstellt und ich nannte sie a).

Die Lösung muss vorher die maximale Anzahl von Wörtern pro Eingabe-String wissen; Ich habe 100 verwendet, die erhöht werden können (in der Definition von h in der zweiten Zeile des Codes).

+0

Danke, ich habe diese Lösung versucht, indem ich sie in meine Analyse in das benutzerdefinierte SQL-Abfragefeld eingefügt habe, wobei statt "Beschreibung" der Tabellenname anstelle von "a" und der Spaltenname ersetzt wurde. Leider, wenn ich versuche, die Abfrage in meinem Bericht auszuführen, sagt OBIEE, es gibt einen Fehler "nicht aufgelöste Tabelle 'prep' in {NQSGetQueryColumnInfo aufrufen ('SELECT-Wort FROM prep')" ... vielleicht kann ich keine neuen temporären Tabellen definieren OBIEE auf diese Weise? – tripuz