Crystal Reports - označení duplicitních hodnot

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Crystal Reports - označení duplicitních hodnot
« kdy: 22. 05. 2017, 10:20:04 »
Ahoj,
netušíte někdo, jak v Crystal Reports napsat formuly k označení stejných/duplicitních hodnot?
zkoušel jsem to pomocí funkce previous/next, ale nefunguje to jak bych potřeboval.
díky
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.


qwertz

Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #1 kdy: 22. 05. 2017, 11:52:42 »
Crystal jsem uz tak 3 roky nevidel, nicmene co zkusit strcit do "detail section" formuli pocitajici distinct count pro kazdou hodnotu?

Spocita to v ramci celeho "detailu" nebo pro kazdy radek zvlast (pak by tam byla vzdy 1)

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #2 kdy: 22. 05. 2017, 12:24:57 »
distinctcount spocita pouze rozdily, ale ja chci najit shody, kde jsou a nejak je oznacit
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #3 kdy: 22. 05. 2017, 12:58:06 »
napdalo me ty jednotlive hodnoty davat do promenych a ty pak mezi ssebou porovnavat v podminkach
problem je, ze se mi nedari dostat do promene zapis kde rikam ze jde o hodnotu z pole zaznam cislo 1
neco ve smyslu:
local stringvar rec1;
rec1 := {Command.parameter} and (RecordNumber = 1)
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

qwertz

Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #4 kdy: 22. 05. 2017, 14:06:29 »
Zcela určitě to půjde udělat pomocí Group. Stačí narvat záznamy do group headeru, groupovat to podle ID (podle kterého hledáte duplicitu), a počítat v tom headeru count. Unikátní záznam bude mít 1, všechno ostatní budou duplicity. Group details sekce musí být prázdná.


ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #5 kdy: 22. 05. 2017, 14:35:37 »
groupovat podle ID....tady mi není jasné o co jde, já chci operovat s hodnotami pouze z jednoho pole
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

NooN

Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #6 kdy: 22. 05. 2017, 15:07:42 »
Skus si este raz predstavit co potrebujes a potom to vysvetlit., popr. dat priklad.
Ocividne bud myslis nieco ine ako pises, alebo nedokazes logicky rozmyslat a aplikovat poskytnute rady.

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #7 kdy: 22. 05. 2017, 15:37:45 »
priklad:
v detailech mam 5 sloupcu ktere jsem si pres coomand vyzvedl z databaze:
(Command.Name ; Command.Quantity ; Command.Tax ; Command.Price ; Command.Parameter)

Command.Parameter je string, presneji varchar , v nem se objevuje nemaly pocet kombinaci, proto nelze pouzit formuly typu:
if {Command.Parameter} = "hledany text" ...tolik moznych podminek bych nedokazal zapsat

proto hledam zpusob, ktery by porovnal vsechny prvky z daneho pole/sloupce metodou kazdej z kazdym
protoze shoda je mozna na radku 1 a 6, neni mozne pozit formuly z funkci next/previous

Rekneme ze vim dopredu ze na reportu nebude nikdy vic jak 10 zaznamu/radku, proto by se mi zamlouvalo neco kde kazdy z deseti zaznamu dostat do promene...
just idea:

rec1 := {Command.parameter} and (RecordNumber = 1)
rec2 := {Command.parameter} and (RecordNumber = 2)
rec3 := {Command.parameter} and (RecordNumber = 3)
rec4 := {Command.parameter} and (RecordNumber = 4)
rec5 := {Command.parameter} and (RecordNumber = 5)
rec6 := {Command.parameter} and (RecordNumber = 6)
rec7 := {Command.parameter} and (RecordNumber = 7)
rec8 := {Command.parameter} and (RecordNumber = 8)
rec9 := {Command.parameter} and (RecordNumber = 9)
rec10 := {Command.parameter} and (RecordNumber = 10)

if rec1 = rec2 then "same as rec2"
if rec1 = rec3 then "same as rec3"
if rec1 = rec4 then "same as rec4"
if rec1 = rec5 then "same as rec5"
if rec1 = rec6 then "same as rec6"
if rec1 = rec7 then "same as rec7"
if rec1 = rec8 then "same as rec8"
if rec1 = rec9 then "same as rec9"
if rec1 = rec10 then "same as rec10"

if rec2 = rec1 then "same as rec1"
if rec2 = rec3 then "same as rec3"
if rec2 = rec4 then "same as rec4"
if rec2 = rec5 then "same as rec5"
if rec2 = rec6 then "same as rec6"
if rec2 = rec7 then "same as rec7"
if rec2 = rec8 then "same as rec8"
if rec2 = rec9 then "same as rec9"
if rec2 = rec10 then "same as rec10"

atd....
timto bych pak byl schopny rict na jakem radku jsou schody, ne jenom to ze jsou

Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

qwertz

Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #8 kdy: 22. 05. 2017, 16:41:50 »
Výborně. Tak teď už vůbec nevím, co vlastně chcete.

A) Chcete zjistit, které záznamy jsou dle Command.Parameter duplicitní?
B) Chcete vymýšlet nějakou obludnosts programováním porovnávání každý s každým ručně?

Pokud stále platí A, zkuste řešení, které jsem vám popsal.....

1) Vytvořte group dle Command.Parameter
2) Vložte pole Command.Parameter do group header sekce
3) Vložte pole Count(Command.Parameter) do group header sekce (nebo použijte highlight na základě této formuly)
4) Vložte zbylá pole, které chcet zobrazit tamtéž.
5) Do Details sekce nedávejte nic (surpass).

S Crystalem už nedělám, takže to nemohu ověřit, nicméně vytvořená Groupa vám bude záznamy groupovat dle Command.Parameter s součaně můžete dle Command.Parameter dělat různé statistické výpočty - např. spočítat pro jednu hodnotu Command.Parameter jednoduchý count (ale jde i summa a podobně - můžete tak spočítat třeba summy dle nějakého parametru). Bude-li count větší než 1, je zřejmé, že Command.Parameter se opakuje a záznam je tedy duplicitní.

Chápete? Víte co je groupa?

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #9 kdy: 22. 05. 2017, 17:13:30 »
neni to uplne to co jsem hledal
ale potvrzuji ze reseni o kterem pisete funguje jak popisujete...prvni zaznam dostane 1 a pokud se nekde opakuje tak uz ma hodnotu 2
ja jsem chtel sice ohebnejsi reseni, kde bych dokazal rici, tento taznam se opakuje na radku 6 apod.

ale prozatim jsem uspokojen i s Vasi variantou...jediny problem kteremu zatim nedokazu prijit na pricinu je, ze v momente kdy data prohanim pres Groupheader, rozbije se podivne sequence zaznamu(vkladaji se prazdne zaznamy) jakoby to preskocilo radky
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #10 kdy: 22. 05. 2017, 17:35:34 »
problem s poradi zaznamů vyresen
kdyby vas napadla myslenka jak predat informaci kde se duplicitni zaznamy vyskytují, to by dokonalo moji potrebu...
mam pripad kde se z 8 zaznamu 3 opakuji a porovnavat to rucne, ktery ke kteremu patri neni sranda...proto jsem psal to "obludne" reseni...
za stavajici reseni moc diky
« Poslední změna: 22. 05. 2017, 17:38:20 od ZAJDAN »
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

qwertz

Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #11 kdy: 22. 05. 2017, 17:36:54 »
Na řádku 6 seřazeno podle čeho? Crystal Report je nástroj Business Inteligence. Pokud chcete analyzovat záznamy v databázi, použil jste na to špatný nástroj. Řádek 6 v reportu vůbec nemusí odpovídat řádku 6 v DB a není to ani smyslem reportovacích nástrojů.

Ty prazdne zaznamy mohou být způsobeny tím, že zobrazujete nějakou sekci "group deails" nebo "group footer". Tzn. že Crystal vypíše všechny záznamy s daným Command.Parameter v headeru, zobrazí details, zobrazí footer, a pokračuje dalším Command.Parameter.

qwertz

Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #12 kdy: 22. 05. 2017, 17:41:19 »
neni to uplne to co jsem hledal
ale potvrzuji ze reseni o kterem pisete funguje jak popisujete...prvni zaznam dostane 1 a pokud se nekde opakuje tak uz ma hodnotu 2

Kam jste ten Count strčil? Pokud ho máte v group headeru, může tam být pro jeden Command.Parameter pouze jedna hodnota Count.

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #13 kdy: 22. 05. 2017, 17:42:16 »

http://picpaste.com/pics/parametr-comparsion-N6q5KxZj.1495467705.png
cervene hodnoty je to co porovnavam
modre je ten Count --- 1 je prvni zaznam 2 jeho duplicita
kdyz se na to podivate, uznejte ze namisto 2, kdybyb stalo 'duplicity of row 1' napriklad...ale to uz je kosmeticke...velice pomohlo i to co jste mi poradil....za to moc diky
« Poslední změna: 22. 05. 2017, 17:45:09 od ZAJDAN »
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

qwertz

Re:Crystal Reports - označení duplicitních hodnot
« Odpověď #14 kdy: 22. 05. 2017, 18:51:33 »
Hodte sem odpovidajici screenshot z designeru, aby bylo jasne co je header, detail a footer.