Wykres oparty o tabelę zaznaczeń
Moderator: mikey
-
- Posty: 417
- Rejestracja: 21 mar 2008, 10:10
- Rola: Administrator CDN XL
- Lokalizacja: Świętokrzyskie, Kielce
Wykres oparty o tabelę zaznaczeń
Hej,
Usiłuje wykonać tabelę (wykres) w oparciu o tabelę zaznaczeń niemniej XL zdaje się ignorować fakt że zaznaczam ptaszka przy tej funkcji. Czy muszę w treści zapytania coś dopisać? Czy ta funkcja u was działa?
Kyniu
Usiłuje wykonać tabelę (wykres) w oparciu o tabelę zaznaczeń niemniej XL zdaje się ignorować fakt że zaznaczam ptaszka przy tej funkcji. Czy muszę w treści zapytania coś dopisać? Czy ta funkcja u was działa?
Kyniu
-
- Posty: 341
- Rejestracja: 29 lut 2008, 11:27
- Rola: Administrator CDN XL
- Wersja: 2022
- Lokalizacja: Gdynia
Re: Wykres oparty o tabelę zaznaczeń
Opierając się na tabeli zaznaczeń należy dołaczyć tą tabelę do wykresu/wydruku.
Tabela RptZaznaczenia2 (wydruki) lub WkrZaznaczenia2 (wykresy).
Podaj temat wykresu, spróbuję pomóc.
Tabela RptZaznaczenia2 (wydruki) lub WkrZaznaczenia2 (wykresy).
Podaj temat wykresu, spróbuję pomóc.
-
- Posty: 417
- Rejestracja: 21 mar 2008, 10:10
- Rola: Administrator CDN XL
- Lokalizacja: Świętokrzyskie, Kielce
Re: Wykres oparty o tabelę zaznaczeń
Zapytanie wygląda tak:marceynowa pisze:Podaj temat wykresu, spróbuję pomóc.
Kod: Zaznacz cały
SELECT
1 AS Lp,
(Knt_Nazwa1 + Knt_Nazwa2) AS 'Nazwa',
SUM(TrE_KsiegowaNetto) AS 'Wartość netto',
SUM(TrE_KosztKsiegowy) AS 'Koszt zakupu',
(SUM(CDN.TraElem.TrE_KsiegowaNetto) - SUM(CDN.TraElem.TrE_KosztKsiegowy)) AS 'Marża Kwota',
CONVERT(decimal(10,2), ROUND(((SUM(CDN.TraElem.TrE_KsiegowaNetto) - SUM(CDN.TraElem.TrE_KosztKsiegowy))/SUM(CDN.TraElem.TrE_KsiegowaNetto))*100,0)) AS 'Marża Procent'
-- CASE WHEN SUM(CDN.TraElem.TrE_KosztKsiegowy)=0 THEN 100
-- ELSE CONVERT(decimal(10,2), ROUND(((SUM(CDN.TraElem.TrE_KsiegowaNetto) - SUM(CDN.TraElem.TrE_KosztKsiegowy))/SUM(CDN.TraElem.TrE_KosztKsiegowy))*100,0))
-- END AS 'Marża Procent'
FROM CDN.TraElem
INNER JOIN CDN.KntKarty ON TrE_KntNumer=Knt_GidNumer
LEFT OUTER JOIN CDN.TraNag ON TrE_GIDNumer=TrN_GIDNumer AND TrE_GIDTyp=TrN_GIDTyp
WHERE
TrE_GIDTyp IN (2001,2033, 2009, 2041) AND
TrN_Data2 >= ??DataOd AND TrN_Data2 <= ??DataDo AND
TrN_Stan IN (??StanDokumentu)
GROUP BY
TrE_KntNumer,
Knt_Nazwa1,
Knt_Nazwa2
ORDER BY
??Kol1 ??K_Kol1, ??Kol2 ??K_Kol2
Kyniu
- S0Cool
- Posty: 150
- Rejestracja: 13 lut 2008, 10:49
- Rola: Administrator CDN XL
- Wersja: 2018
- Lokalizacja: śląskie
Re: Wykres oparty o tabelę zaznaczeń
Dopisz tabelę WkrZaznaczenia2 mniej więcej tak:
Check "Wykres oparty o tabelę zaznaczeń" znaczy dla XL-a tyle co "przed wykonaniem wykresu zapisz w tabeli WkrZaznaczenia2 identyfikatory wierszy zaznaczonych na liście". Skorzystanie - lub nie - z tej tabeli leży już w gestii autora wykresu.
Kod: Zaznacz cały
...
FROM CDN.TraElem
INNER JOIN CDN.KntKarty ON TrE_KntNumer=Knt_GidNumer
INNER JOIN CDN.WkrZaznaczenia2 ON KNT_GIDTyp=WKZ2_GIDTyp AND KNT_GIDNumer=WKZ2_GIDNumer
LEFT OUTER JOIN CDN.TraNag ON TrE_GIDNumer=TrN_GIDNumer AND TrE_GIDTyp=TrN_GIDTyp
...
Niniejszy podpis był testowany na zwierzętach.
Nie rozumiały go.
Nie rozumiały go.
-
- Posty: 417
- Rejestracja: 21 mar 2008, 10:10
- Rola: Administrator CDN XL
- Lokalizacja: Świętokrzyskie, Kielce
Re: Wykres oparty o tabelę zaznaczeń
Dzięki. BanglaS0Cool pisze:Check "Wykres oparty o tabelę zaznaczeń" znaczy dla XL-a tyle co "przed wykonaniem wykresu zapisz w tabeli WkrZaznaczenia2 identyfikatory wierszy zaznaczonych na liście". Skorzystanie - lub nie - z tej tabeli leży już w gestii autora wykresu.
Kyniu
-
- Posty: 341
- Rejestracja: 29 lut 2008, 11:27
- Rola: Administrator CDN XL
- Wersja: 2022
- Lokalizacja: Gdynia
Re: Wykres oparty o tabelę zaznaczeń
Kolega S0Cool mnie wyprzedził z odpowiedzą. Dziś mam ogromny kocioł i nie za bardzo mam czas na forum.
Ale mam jeszcze pytnie, dlaczego jest LEFT OUTER JOIN zamiast INNER JOIN?
Czy może być taka sytuacja, że są wpisy w TraElem, a nie ma wpisu w TraNag (TrE_GIDNUmer = TrN_GIDNumer) ??
Ale mam jeszcze pytnie, dlaczego jest LEFT OUTER JOIN zamiast INNER JOIN?
Czy może być taka sytuacja, że są wpisy w TraElem, a nie ma wpisu w TraNag (TrE_GIDNUmer = TrN_GIDNumer) ??
Re: Wykres oparty o tabelę zaznaczeń
Niemarceynowa pisze:Kolega S0Cool mnie wyprzedził z odpowiedzą. Dziś mam ogromny kocioł i nie za bardzo mam czas na forum.
Ale mam jeszcze pytnie, dlaczego jest LEFT OUTER JOIN zamiast INNER JOIN?
Czy może być taka sytuacja, że są wpisy w TraElem, a nie ma wpisu w TraNag (TrE_GIDNUmer = TrN_GIDNumer) ??
-
- Posty: 341
- Rejestracja: 29 lut 2008, 11:27
- Rola: Administrator CDN XL
- Wersja: 2022
- Lokalizacja: Gdynia
Re: Wykres oparty o tabelę zaznaczeń
Zatem powinno być INNER JOIN. Oczywiście LEFT JOIN też zadziała, ale formalnie to pierwsze złączenie jest prawidłowe.
-
- Posty: 341
- Rejestracja: 29 lut 2008, 11:27
- Rola: Administrator CDN XL
- Wersja: 2022
- Lokalizacja: Gdynia
Re: Wykres oparty o tabelę zaznaczeń
Połączenie z tabelą jest ok, ale trzeba jeszcze przkazać GUID wykresu, gdyż w przypadku gdy dwaj użytkownicy w jednym czasie uruchomią taki wykres to ten drugi otrzyma zarówno wiersze zaznaczone przez siebie jak i przez tego drugiego. Powinna być linia WHERE z odowłaniem do GUID wywołanego wykresu. Prawdopodobnie trzeba wykorzystać jakiś parametr dydnamiczny, ale ja nie mam zielonego pojęcia o tym. Proszę o podpowiedź.S0Cool pisze:Dopisz tabelę WkrZaznaczenia2 mniej więcej tak:Check "Wykres oparty o tabelę zaznaczeń" znaczy dla XL-a tyle co "przed wykonaniem wykresu zapisz w tabeli WkrZaznaczenia2 identyfikatory wierszy zaznaczonych na liście". Skorzystanie - lub nie - z tej tabeli leży już w gestii autora wykresu.Kod: Zaznacz cały
... FROM CDN.TraElem INNER JOIN CDN.KntKarty ON TrE_KntNumer=Knt_GidNumer INNER JOIN CDN.WkrZaznaczenia2 ON KNT_GIDTyp=WKZ2_GIDTyp AND KNT_GIDNumer=WKZ2_GIDNumer LEFT OUTER JOIN CDN.TraNag ON TrE_GIDNumer=TrN_GIDNumer AND TrE_GIDTyp=TrN_GIDTyp ...
- S0Cool
- Posty: 150
- Rejestracja: 13 lut 2008, 10:49
- Rola: Administrator CDN XL
- Wersja: 2018
- Lokalizacja: śląskie
Re: Wykres oparty o tabelę zaznaczeń
Bardzo słusznie, bardzo słusznie.marceynowa pisze: Połączenie z tabelą jest ok, ale trzeba jeszcze przkazać GUID wykresu, gdyż w przypadku gdy dwaj użytkownicy w jednym czasie uruchomią taki wykres to ten drugi otrzyma zarówno wiersze zaznaczone przez siebie jak i przez tego drugiego. Powinna być linia WHERE z odowłaniem do GUID wywołanego wykresu. Prawdopodobnie trzeba wykorzystać jakiś parametr dydnamiczny, ale ja nie mam zielonego pojęcia o tym. Proszę o podpowiedź.
Na początku wykresu piszemy zaklęcie (ukryty parametr koniecznie o nazwie ZazGUID):
Kod: Zaznacz cały
@PAR ?@HS50|ZazGUID|&ZazGUID:REG= @? PAR@
Kod: Zaznacz cały
... AND WkZ2_GUID=??ZazGUID
Ritz, THX
Niniejszy podpis był testowany na zwierzętach.
Nie rozumiały go.
Nie rozumiały go.