نحوه تبدیل یک شیت در اکسل با استفاده از ماکرو به حالت دیتا بیس ستونی برای نرم افزار Power Bi

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • EMKILL
    • 2018/12/26
    • 4

    [حل شده] نحوه تبدیل یک شیت در اکسل با استفاده از ماکرو به حالت دیتا بیس ستونی برای نرم افزار Power Bi

    سلام دوستان
    راستش من چندین ماه Power Bi میکنم و دیتا بیس ورودی BI رو از اکسل میگیرم نیاز دارم Table ها مو توی اکسل به حالت دیتا بیس نویسی برای ورود توی BI دربیارم که اکثرا با Copy-Paste مشکلمو حل میکنم ولی زمانی که با Big Data سر کار دارم به مشکل میخورم نیاز به یه ماکرو دارم که کارمو راحت کنه ممنون میشم دوستان خوبم ماکرویی بنویسن که Table موجود در شیت Data رو به صورت ستونی در شیت MSP 1 بیارن به طوری که ستون اولمون تاریخ توی یه Scope بچرخه (28 ماه) ستون دوم طبقه بچرخه و ستون سوم زیر مجموعه ها من برای یه دونه زیر مجموعه به صورت نمونه با فرمول ایندکس نوشتم که دوستان ساز و کار رو متوجه بشن دوستان خوبم پس از اتمام کار باید شیت MSP1 به مقدار 5824 ردیف داشته باشیم یعنی Scope تاریخ ضربدر Scope زیر مجموعه 28*208
    دوستان خوبم من همه Table هام به همین شکله ممنوم میشم ماکرو رو یکم سازو کارشو شرح بدین که خودم بتونم برای بقیه پروژه هام هم هندل کنم.
    فایل های پیوست شده
  • EMKILL
    • 2018/12/26
    • 4

    #2
    کیست مرا یاری کند..................

    کامنت

    • EMKILL
      • 2018/12/26
      • 4

      #3
      دوستان میشه توی شیت MSP 1 ستون تاریخ رو ثابت نگه داشت و ستون های طبقه و زیر مجموعه تویه Scope بچرخه من این کار رو دستی انجام دادم تا یه جایی اگه کسی لطف کنه ماکرو این کارو بنوسیه ممنون میشم توجه کنین که هر دو روش چه این چه بالایی یه نتیجه رو داره و برای تستش هم میتونین SUM پیشرفت برنامه ای بگیرین که میشه 100000.84
      فایل های پیوست شده

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        با سلام

        از ماکروی ذیل استفاده کنید


        کد PHP:
        Sub test()

        Sheets("MSP 1").Cells.ClearContents

        k1 
        Application.WorksheetFunction.CountA(Sheets("Data").Range("1:1"))

        z1 Cells(Rows.Count"A").End(xlUp).Row

        2

        For 4 To k1

        For 2 To z1

        If Cells(ij) <> "" Then


        Sheets
        ("MSP 1").Range("A" k) = Cells(1j)

        Sheets("MSP 1").Range("b" k) = Cells(i2)

        Sheets("MSP 1").Range("c" k) = Cells(i3)

        Sheets("MSP 1").Range("d" k) = Cells(ij)

        1

        End 
        If

        Next i

        Next j

        Sheet2
        .Select

        End Sub 
        فایل های پیوست شده
        Last edited by iranweld; 2019/01/07, 10:20.

        کامنت

        چند لحظه..