ورود

View Full Version : سوال: تبدیل ستون به سطر



علیرضا حسن زاده
یک شنبه 23 آبان 1389, 17:57 عصر
با سلام خدمت دوستان عزیز
من جدول های زیر رو در SQL ایجاد کردم

انواع کالا:
کد کالا،نام کالا
فیلدها:
کدفیلد،نام فیلد
فیلدهای مورد نیاز برای کالا
کدکالا ،کدفیلد
فاکتور فروش
کد فاکتور
کدکالا ، تاریخ و ....
مقادیر فیلدها
کد فاکتور، کدفیلد، مقدار فیلد
البته شاید این نوع تعریف اشتباه باشه ولی برای ایجاد حداکثر پویایی در ایجاد انواع فیلدها مجبور شدم که جدول ها رو به این شکل تعریف کنم
همونطور که می بینید اطلاعات مربوط به فیلدهایی که به صورت پویا ممکنه برای هر کالا ایجاد بشه در جدول مقادیر فیلدها ذخیره میشه(به صورت ستونی)
الان کاری که می خوام بکنم اینه که در یک گزارش با انتخاب هر نوع کالایی اطلاعات مربوط به اون همراه با مشخصات فاکتورش در یک سطر نمایش داده بشه البته اطلاعات فاکتور که به صورت سطر هست فقط میمونه مقدار فیلدها.
برای اینکار من یه تابع تو SQL تعریف کردم ور در یک حلقه کد فیلد و فاکتور به اون میدم و مقدار فیلد رو برمیگردونه و به ادامه سطری که قرار نمایش داده بشه اتصال میده
این کار برای یک کالا خوبه ولی وقتی من می خوام فاکتورهای یه بازه تاریخ (بر اساس تاریخ فاکتور و نوع کالا)رو مثلا یک ماه رو گزارش بگیرم مدت زمان زیادی طول میکشه تا اطلاعات آماده بشن به نظرتون راهی وجود داره که سریع تر و کاراتر از این روش باشه؟

Rezahak
دوشنبه 24 آبان 1389, 13:16 عصر
سلام
يك نوع گزارش براي اين نوع اطلاعات مناسب است كه معروف به گزارش crosstab مي باشد در crystal report مي توانيد آنرا ايجاد كنيد .
شكل آن به اين صورت است كه ستونهاي آن متغير و پويا مي باشد . مقادير آنها هم كاملا ركورد به ركورد براي report generator ارسال مي شود . خود گزارش ساز آنرا مديريت مي كند .
پيشنهاد مي كنم crosstab را در crystal report مطالعه كن