Oskar Oleszkiewicz Programista z pasją
Temat: Obliczenia wewnątrz crosstaba, ciekawe pytanie
Stworzyłem sobie crosstaba który w poziomie reprezentuje zakres lat od 2009 do 2030 roku (kolumny) natomiast wiersze to nazwy projektów, wewnątrz dla każdego rekordu w tym crosstabie stworzyłem @podsumowanie osadzone, w którym wpisałem instrukcje warunkową, niestety wbrew moim oczekiwaniom formuła zawarta w @podsumowaniu osadzonym crosstaba nie wylicza mi wartości dla każdej kolumny/wiersza a jedynie sprawdza warunek i wylicza dla pierwszej wartości wypełniając całego crosstaba tą wartością. Poniżej zamieściłem przykład (zrzuty ekranu):oraz
oraz
Poniżej także formuła zawarta wewnątrz @Podsumowania osadzonego:
if (not IsNull({A_Reports_Sales_Items.A Project Link}))
then
(
if (CurrentDate() > Date({A_Reports_Sales_Items.Year}, {A_Reports_Sales_Items.Month}, Day(CurrentDate())))
then
DistinctCount({A_Sales_Budget_Item.A Product Link})
else if (CurrentDate() < Date({A_Reports_Sales_Items.Year}, {A_Reports_Sales_Items.Month}, Day(CurrentDate())))
then
DistinctCount({A_Contract_Addendum_Product.Product Link})
)
else
1
Dodam także że próbowałem osiągnąć podany efekt, kozystając z przykładów na podanej stronie
Unleashing the Crosstab in Crystal
Reports: The Grid Value Functions
Niestety podane w przykładach opcje są rozbieżne z moimi, ponieważ nie chce dodawać dodatkowej kolumny z wyliczonymi wartościami a jedynie zwracać w konkretnym rekordzie odpowiednie dane w zależności od (w moim przykładzie daty).
Dodam także że próbowałem czegoś takiego:
DistinctCount({A_Sales_Budget_Item.A Product Link}, {POLE})
W miejscu @POLE wstawiałem pola bazy danych
* A_Reports_Sales_Items.A Project Link
lub
*A_Reports_Sales_Items.Year
Aby wyznaczał przy zmianie ale za każdym razem krzyczy że pole jest niezgodne z grupą
Z góry dziękuje za pomoc
Oskar Oleszkiewicz