Qlik Community

Ask a Question

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
On May 18th at 10AM EDT we will answer your QlikView questions live. REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Variable Befüllung eines zusätzliche Tabellenattributes

Hallo,

ich möchte eine Tabelle auswerten, die den jeweiligen Verfahrensstand ausschließlich über einen Datumseintrag abgebildet ist. Das bedeutet, ich kann leider nicht das jeweilige Datum abfragen, denn im finalen Status sind fast alle Datumsangaben vorhanden.

Ich möchte nun im script die Datumsangaben abfragen und einen Wert in eine zusätzliche Variable setzen, so dass nach Abfrage aller Datumsfelder diese Variable den aktuellen Stand enthält.

Leider habe ich keine Idee, wie ich das ausführen kann. Ich habe im Script Folgendes versucht:

if(isnull(AntragsdatumMB) ,'000','100') as VerfStatus,

wie kann ich hier das Attribut bei dem ggf. gesetzten weiteren Datumsfeld im Wert ändern.

Ganz herzlichen Dank im Voraus für Hinweise.

Roswitha Peirow

7 Replies
swuehl
MVP
MVP

Kannst du deine Tabelle evtl. mit ein paar Beispiel Records beschreiben?

Not applicable
Author

Hi,

anbei die Tabelle und einige Daten als xls.

SQL SELECT ObjectId as KEY_Titel,

Titelart,

Geschaeftszeichen,

Aktenzeichen,

Gericht,

Titelstatus,

AntragsdatumMB,

ErlassdatumMB,

ZustelldatumMB,

NichtzustellungMB,

WiderspruchdatumMB,

RuecknSchreibenMB,

RuecknWiderspMB,

AntragsdatumVB,

Titeldatum,

ZustelldatumVB,

NichtzustellungVB,

EinspruchdatumVB,

RuecknSchreibenVB,

RuecknEinspruchVB,

RABeauftragt,

Waehrung as Titel_WKZ,

Anspruchsbetrag,

AusgerechnetZinsen,

Verfahrenskosten,

ZinsenAufKosten,

BeginnKostenVerz,

Lagerort,

VorgerichtKosten,

SonstigeKosten,

Bemerkung,

Instanz,

ProzessLfdNr,

AktzBankanwalt,

AktzSchuldneranw,

Streitgegenstand,

Prozessausgang,

ZustelldatumTitel,

ZinssatzPersTitel,

RuecknAntragMB,

Titelumfang,

Kostenzinsen,

rlBemerkung,

rlPartnerBA,

rlPartnerNotar,

rlPartnerSA,

rlVorgAkte,

rlZwangsvollstreck

FROM net.dbo.Titel;

Herzlichen Dank.

Roswitha Peirow

Von: swuehl <qcwebmaster@qlik.com>

An: rpeirow2013 <rpeirow@abit.de>

Datum: 27.06.2013 11:32

Betreff: - Re: Variable Befüllung

eines zusätzliche Tabellenattributes

QlikCommunity

Re: Variable Befüllung eines zusätzliche Tabellenattributes

created by swuehl in Development (QlikView Desktop) - View the full

discussion

Kannst du deine Tabelle evtl. mit ein paar Beispiel Records beschreiben?

Reply to this message by replying to this email -or- go to the message on

QlikCommunity

Start a new discussion in Development (QlikView Desktop) by email or at

QlikCommunity

© 1993-2011 QlikTech International AB Copyright & Trademarks |

Privacy | Terms of Use | Software EULA

swuehl
MVP
MVP

Mir ist noch nicht ganz klar, welche Information nun aus der Tabelle gezogen werden soll.

1) Woran wird festgemacht, dass die Records zusammen gehören (wahrscheinlich an (Teilen vom) Key_title?)

2) Es gibt mehrere Datumsfelder für Antrag, Erlass, Titel, was soll damit nun geschehen?

Wäre wahrscheinlich am einfachsten, wenn du eine Tabelle mit dem gewünschten Ergebnis hochladen könntest, inkl. der dahinterliegenden Businesslogik. Dann lässt sich hier von uns im Forum die technische Logik ableiten.

Gruß,

Stefan

Not applicable
Author

Habe die Exceldatei etwas bearbeitet und die Kategorie eingesetzt, die

ich, wenn möglich bei Laden der Daten aus der DB generieren möchte. Die

Kategory wird abhängig vom jeweils gefüllten Datum gesetzt.

Es gibt Titeldatensätze in unterschiedlichen Verfahrensständen (z.B.

AntragsdatumMB =MBAntrag) . Zusätzlich habe ich auch noch eine

Mappingtabelle erstellt, die die Kategorie nachher in der Oberfläche als

Text ausweist.

anbei mein Testscript.

Directory;

MapKategory:

Mapping LOAD Kategory,

Bezeichnung

FROM

Kategory.xlsx

(ooxml, embedded labels, table is Tabelle1);

Titel_tmp:

LOAD KEY_Titel,

Kategory,

AntragsdatumMB,

ErlassdatumMB,

NichtzustellungMB,

RuecknAntragMB,

RuecknWiderspMB,

WiderspruchdatumMB,

ZustelldatumMB,

AntragsdatumVB,

EinspruchdatumVB,

RuecknEinspruchVB,

ZustelldatumVB,

ZustelldatumTitel,

Titeldatum

FROM

TB16_20130627_162025.xls

(biff, embedded labels, table is Sheet1$);

Titel:

Load *,

ApplyMap('MapKategory',Kategory)as KategoryTXT

resident Titel_tmp Order by Kategory;

DROP Tables Titel_tmp;

Danke im Voraus

Roswitha

Von: swuehl <qcwebmaster@qlik.com>

An: rpeirow2013 <rpeirow@abit.de>

Datum: 27.06.2013 15:31

Betreff: - Re: Variable Befüllung

eines zusätzliche Tabellenattributes

QlikCommunity

Re: Variable Befüllung eines zusätzliche Tabellenattributes

created by swuehl in Development (QlikView Desktop) - View the full

discussion

Mir ist noch nicht ganz klar, welche Information nun aus der Tabelle

gezogen werden soll.

1) Woran wird festgemacht, dass die Records zusammen gehören

(wahrscheinlich an (Teilen vom) Key_title?)

2) Es gibt mehrere Datumsfelder für Antrag, Erlass, Titel, was soll damit

nun geschehen?

Wäre wahrscheinlich am einfachsten, wenn du eine Tabelle mit dem

gewünschten Ergebnis hochladen könntest, inkl. der dahinterliegenden

Businesslogik. Dann lässt sich hier von uns im Forum die technische Logik

ableiten.

Gruß,

Stefan

Reply to this message by replying to this email -or- go to the message on

QlikCommunity

Start a new discussion in Development (QlikView Desktop) by email or at

QlikCommunity

© 1993-2011 QlikTech International AB Copyright & Trademarks |

Privacy | Terms of Use | Software EULA

swuehl
MVP
MVP

"Die Kategory wird abhängig vom jeweils gefüllten Datum gesetzt."

Das habe ich mir fast schon gedacht, nur leider hast du immer noch nicht erklärt, wie die Abhängigkeit genau aussieht, bzw. wie die Businesslogik für die Bestimmung der Kategorie ist.

Ich nehme mal an (es wäre aber besser, du beschreibst genau, was hier passieren soll, das würde uns allen viel Zeit sparen!), du schaust, ob in einem Record in den Datumsfeldern Werte enthalten sind, und zwar beginnst du in dem Record von rechts zu suchen und stoppst beim ersten gefüllten Datumsfeld.

Für

-5bba2552:13f5b3cafff:-63b0

ist kein Datumsfeld gefüllt, hier wird Kategorie 000 zugeordnet.

Für KEY_Title

-5bba2552:13f5b3cafff:-65bc

ist NichtzustellungMB als erstes Feld von rechts (oder letztes von links) gefüllt, hier wird Kategorie 110 zugewiesen.

Die Logik in QV könnte dann in etwa so aussehen:

if( len(trim(Titeldatum)), 300,

     if( len(trim(Zustelldatum)), 260,

          if( len(trim(EinspruchdatumVB)), 220,

  ....

    0)))

Du musst also die if() Abfragen schachteln, beginnend mit der größten Kategorie / letzem Datumsfeld.

Hoffe das hilft,

Stefan

Not applicable
Author

Hallo Stefan,

ganz herzlichen Dank, es funktioniert. Ich arbeite noch nicht so lange mit

QlikView und da fällt es manchmal schwer zu erklären was man genau möchte.

Nochmal herzlichen Dank

Roswitha

Von: swuehl <qcwebmaster@qlik.com>

An: rpeirow2013 <rpeirow@abit.de>

Datum: 27.06.2013 17:48

Betreff: - Re: Variable Befüllung

eines zusätzliche Tabellenattributes

QlikCommunity

Re: Variable Befüllung eines zusätzliche Tabellenattributes

created by swuehl in Development (QlikView Desktop) - View the full

discussion

"Die Kategory wird abhängig vom jeweils gefüllten Datum gesetzt."

Das habe ich mir fast schon gedacht, nur leider hast du immer noch nicht

erklärt, wie die Abhängigkeit genau aussieht, bzw. wie die Businesslogik

für die Bestimmung der Kategorie ist.

Ich nehme mal an (es wäre aber besser, du beschreibst genau, was hier

passieren soll, das würde uns allen viel Zeit sparen!), du schaust, ob in

einem Record in den Datumsfeldern Werte enthalten sind, und zwar beginnst

du in dem Record von rechts zu suchen und stoppst beim ersten gefüllten

Datumsfeld.

Für

-5bba2552:13f5b3cafff:-63b0

ist kein Datumsfeld gefüllt, hier wird Kategorie 000 zugeordnet.

Für KEY_Title

-5bba2552:13f5b3cafff:-65bc

ist NichtzustellungMB als erstes Feld von rechts (oder letztes von links)

gefüllt, hier wird Kategorie 110 zugewiesen.

Die Logik in QV könnte dann in etwa so aussehen:

if( len(trim(Titeldatum)), 300,

if( len(trim(Zustelldatum)), 260,

if( len(trim(EinspruchdatumVB)), 220,

....

0)))

Du musst also die if() Abfragen schachteln, beginnend mit der größten

Kategorie / letzem Datumsfeld.

Hoffe das hilft,

Stefan

Reply to this message by replying to this email -or- go to the message on

QlikCommunity

Start a new discussion in Development (QlikView Desktop) by email or at

QlikCommunity

© 1993-2011 QlikTech International AB Copyright & Trademarks |

Privacy | Terms of Use | Software EULA

swuehl
MVP
MVP

Hallo Roswitha,

kein Problem, ich helfe gerne.

Wollte nur darum bitten, das (Business) Problem möglichst gründlich zu beschreiben (und das ist noch unabhängig von QlikView), damit bei der Lösungssuche nicht zuviel Zeit in evtl. falsche Annahmen verschwendet wird.

Es gibt neben den verschachtelten if() statements wahrscheinlich auch andere Lösungen (z.B. die Kreuztabelle in eine flache Tabelle zu verwandeln, dann die einzelnen gefüllten Records sortieren und nur das letzte gefüllte pro KEY_title als Status nehmen), aber solange du mit der oben beschriebenen Variante glücklich bist, würde ich das erstmal so lassen.

Und es gibt übrigens (falls noch nicht bekannt) auch eine deutschsprachige Gruppe hier im Forum (http://community.qlik.com/groups/german-user-group).

Gruß,

Stefan

Gruß,

Stefan