PDA

View Full Version : ساختن گزارش با ستون های متغیر وقتی از TRANSFORM PIVOT استفاده شده



Amir zm
سه شنبه 12 اردیبهشت 1385, 16:30 عصر
سلام

زبان برنامه :VB6
پروایدر : ADO با Microsoft Jet 4
دیتابیس : Access 2000

'گزارش هایی با دستورTRANSFORM PIVOT نوشتم که تعداد ستون ها در اون متغیره.
نمی دونم چه جوری می تونم فرم این گزارش ها رو با Crystal Report ایجاد کنم. (اگه روش دیگری غیر از Crystal Report سراغ دارید استفبال می کنم.)

Crystal Report 10 Advanced Developer و Crystal Report 8.5 Developer رو دارم
متشکرم

این هم نمونه ریپورتم هست:



strsqlsef = "SELECT custumer,code,sum(quantity) as sef,'sef' FROM sefareshat,shsefareshat" & _
" WHERE sefareshat.sn=shsefareshat.sn" & _
strdate & strmamoor & " group by code,custumer"

strsqlexit = "SELECT sharh.to as custumer,code,-sum(quantity) as kh,'kh' FROM data,sharh" & _
" WHERE data.ID=sharh.ID AND k=4 " _
& strdate & strmamoor & " group by code,sharh.to"

strsqlbar = "SELECT sharh.from as custumer,code,sum(quantity) as bar,'bar' FROM data,sharh" & _
" WHERE data.ID=sharh.ID AND k=0 " _
& strdate & strmamoor & " group by code,sharh.from"

strsql = strsqlsef & " UNION " & strsqlexit & " UNION " & strsqlbar
strsql = "Select custumer,code,sum(sef) as re from (" & strsql & ") Group BY code,custumer Having sum(sef)<>0"
strsql = "SELECT custumer,nam,code,re from (" & strsql & "),kala WHERE code=kalacode"

strsql = "TRANSFORM SUM(re) SELECT custumer from (" & strsql & ") Group BY custumer PIVOT nam

Amir zm
دوشنبه 18 اردیبهشت 1385, 22:50 عصر
الو؟!!! اینجا هیچ کس نیست که جواب منو بده؟
جالبه! بعد از گذشت یک هفته هیچ کس سوال من رو حتی ندیده! چه برسه به اینکه بخواد جواب بده!
عجب بابا فروم باحالیه!!!!!!

masysh
سه شنبه 19 اردیبهشت 1385, 16:21 عصر
یه مقدار بیشتر در مورد خروجی گزارشت توضیح می دی؟

vbadvanced
پنج شنبه 04 خرداد 1385, 18:21 عصر
آبجکت Pivot Table فکر میکنم همون چیزیه که شما نیاز دارید.
جزو آبجکتهای خود کریستال هستش. در حقیقت جدولیه با تعداد سطر و ستون متغیر

masysh
شنبه 06 خرداد 1385, 17:37 عصر
pivot table کجاست . میشه لطفا.

Amir zm
سه شنبه 09 خرداد 1385, 12:42 عصر
سلام
میشه بیشتر توضیح بدید.

راستی توضیح دستور اینه:
فرض کن جدولی مثل این داشته باشی:

مشتری --------- کالا --------- تعداد
شرکت1 ------------ پفک ----------- 10
شرکت2 ----------- چیپس -------- 1356
شرکت3------------- پفک ------------ 2
شرکت1 ------------ چیپس---------- 80
شرکت3 --------------پفک------------ 8
شرکت1 -------------- پفک ---------- 3
شرکت3 --------------- گز --------- 50



با دستور Transform Pivot این جدول بدست می آد:

----------------- پفک------چیپس------ گز
شرکت1---------- 13--------80---------- 0
شرکت2---------- 0--------1356 -------- 0
شرکت3--------- 10--------- 0 -------- 50

Amir zm
شنبه 13 خرداد 1385, 10:23 صبح
آبجکت Pivot Table فکر میکنم همون چیزیه که شما نیاز دارید.
جزو آبجکتهای خود کریستال هستش. در حقیقت جدولیه با تعداد سطر و ستون متغیر

میشه بیشتر توضیح بدید. منوی فورمت گزینه Cross Tab Pivot همواره غیر فعاله. باید چی کاری انجام بدم؟

متشکر

masdamasda
چهارشنبه 25 فروردین 1389, 10:18 صبح
سلام
میشه بیشتر توضیح بدید.

راستی توضیح دستور اینه:
فرض کن جدولی مثل این داشته باشی:

مشتری --------- کالا --------- تعداد
شرکت1 ------------ پفک ----------- 10
شرکت2 ----------- چیپس -------- 1356
شرکت3------------- پفک ------------ 2
شرکت1 ------------ چیپس---------- 80
شرکت3 --------------پفک------------ 8
شرکت1 -------------- پفک ---------- 3
شرکت3 --------------- گز --------- 50



با دستور Transform Pivot این جدول بدست می آد:

----------------- پفک------چیپس------ گز
شرکت1---------- 13--------80---------- 0
شرکت2---------- 0--------1356 -------- 0
شرکت3--------- 10--------- 0 -------- 50


select sherkatname , sum
(case when kala like '%پفک%' then 1 else 0 end )
(case when kala like '%پفک%' then 1 else 0 end )
sum(case when kala = pofak then 1 else 0 end)
(case when kala like '%پفک%' then 1 else 0 end )

group by sherkatname