Marcin Fidor

Marcin Fidor Informatyk, Urząd
m.st. Warszawy

Temat: Zamiana wartości numerycznych z bazy na tekst podczas...

Witam
Stworzyłem raport w CR 2008. Posiada on parametry. Jednym z nich jest miesiąc. W bazie danych miesiące są ponumerowane od 0 do 11. Parametr ustawiłem że zezwala na wielowartościowość. Np chcac uzyskać dane za miesiąc styczeń, luty, podaję podczas wywoływania raportu wartości do parametru 0,1.
Pole tego parametru wstawiłem do raportu. Działa poprawnie. Mój problem to:
1. Jak zamienić np. wartość 0 z bazy, żeby na raporcie widzieć tekst styczeń. Zamiast cyfr chciałbym widzieć nazwy miesięcy? Domyślam się że chodzi o jakąć formułę, która na sztywno będzie przechowywała informację jaki numer odpowiada jakiemu miesiącowi i podczas wywoływania będzie mi się to zamieniało...??
2. Drugi problem to taki, że pole tego parametru wyświetla mi tylko pierwszą wprowadzoną wartość podczas wywoływania raportu. Np. podaje ze chcę mieć trzy miesiące, np. 0,1,2, a w raporcie po wywołaniu pole tego parametru podaje tylko pierwszą zadaną wartość, w tym przypadku 0.

Dziękuję za pomoc:)
Marcin Fidor

Marcin Fidor Informatyk, Urząd
m.st. Warszawy

Temat: Zamiana wartości numerycznych z bazy na tekst podczas...

Hey,
Udało mi się rozwiązać problem stosując następująąj formułę:
Switch (
{Polecenie.lMies} = 0, "STYCZEŃ",
{Polecenie.lMies} = 1, "LUTY",
{Polecenie.lMies} = 2, "MARZEC",
{Polecenie.lMies} = 3, "KWIECIEŃ",
{Polecenie.lMies} = 4, "MAJ",
{Polecenie.lMies} = 5, "CZERWIEC",
{Polecenie.lMies} = 6, "LIPIEC",
{Polecenie.lMies} = 7, "SIERPIEŃ",
{Polecenie.lMies} = 8, "WRZESIEŃ",
{Polecenie.lMies} = 9, "PAŹDZIERNIK",
{Polecenie.lMies} = 10, "LISTOPAD",
{Polecenie.lMies} = 11, "GRUDZIEŃ",
True, "")
Wszystko działa. Jeżeli ktoś zna lepsze rozwiązanie i chciałby sie nim podzielić to chetnie wysłucham propozycji.
Dzięki ;)
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Zamiana wartości numerycznych z bazy na tekst podczas...

Tak, jest lepszy sposób - funkcja Choose, która na podstawie argumentu - pozycji, zwraca określony element z listy.

Przykład

Choose ({Polecenie.lMies} , "STYCZEŃ", "LUTY", "MARZEC", .... )


Więcej na ten temat na moim blogu:
http://sulmar.blogspot.com/2011/10/funkcje-warunkowe.html

Ale jest jeszcze lepszy sposób - funkcja MonthName. Podajesz numer miesiąca jako liczbę i otrzymujesz od razu nazwę miesiąca w języku zależnie od ustawień raportu, np. w języku polskim.
Marcin Fidor

Marcin Fidor Informatyk, Urząd
m.st. Warszawy

Temat: Zamiana wartości numerycznych z bazy na tekst podczas...

Dziękuję bardzo za pomoc. Bardzo cennę uwagi, napewno się przydadzą.

Niestety mam jeszcze jeden problem. Napisałem formułę która wylicza średni koszt kart głosowych: formula = {#koszty kart głosowych}/{#licznik do sredniej kosztow internetowych}.

Koszty ({#koszty kart głosowych}) liczę używając sumy bieżącej. Typ pods= SUM.
Zlicza według formuły:
{Polecenie.Name}="Karta mikroSIM" or
{Polecenie.Name}="Karta SIM" or
{Polecenie.Name}="Karta nanoSIM". ---> To mi działa poprawnie. Dodaje koszty w zależności od modelu.

Drugi element żeby móc wyliczyć średnią to ilość kart danego modelu.
Użyłem też sumy bieżącej. Typ pods. COUNT
Zlicza według formuły:
{Polecenie.Name}="Karta mikroSIM" or
{Polecenie.Name}="Karta SIM" or
{Polecenie.Name}="Karta nanoSIM".

I podczas tego zliczania liości wystąpień danego modelu mam problem. Podczas pierwszego odpalenia CR 2008 i przeciągnięcia pola zliczającego do raportu, zliczanie jest POPRAWNE.
ALe gdy chcę wygenerować raport ponownie, dostaję komunikat, że nie można wyliczyc formuły, ponieważ nie można dzielić przez 0. To rozumiem.
Czemu pole zliczające wystąpienia modelu tylko przy pierwszym przeciągnięciu zlicza popranie, a poźniej zawsze ma wartość 0???

Czyżby CR chciał najpierw wyliczyć średnią, a dopiero poźniej zliczyć sobie wystąpienia modeli, i dlatego wyliczenie śrdniej sie nie udaje...???
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Zamiana wartości numerycznych z bazy na tekst podczas...

A czy nie możesz zamienić typ podsumowania z sumy na średnią? Wówczas sam to obliczy! :)
Marcin Fidor

Marcin Fidor Informatyk, Urząd
m.st. Warszawy

Temat: Zamiana wartości numerycznych z bazy na tekst podczas...

Hey. Dokładnie tak zrobiłem, szkoda że wcześniej nie wpadłem na to i męczyłem się z pisaniem formuł...
Przy takich prostych operacjach wychodzi mój brak szkoleń z CR. Wszystkiego sam się uczyłem i czasami prosta funkcja sprawia kopot, bo człowiek zapomina ze sa wbudowane funkcje i probuje sam je tworzy:).
Sorry za tak późną odpowiedź, ale właśnie obroniłem pracę inżynierską i miałem dużo obowiązków z tym związanych.
Dziękjuję za pomoc:)
Pozdrawiam:)
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Zamiana wartości numerycznych z bazy na tekst podczas...

W takim razie zapraszam na moje szkolenie ;-) Poznasz więcej tricków.

Przy okazji, prowadziłem kiedyś szkolenie w twoim Urzędzie :)

Następna dyskusja:

Przepinanie raportu na inny...




Wyślij zaproszenie do