דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. מיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי

מיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי

מתוזמן נעוץ נעול הועבר תכנות
25 פוסטים 3 כותבים 450 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • M מנותק
    M מנותק
    mekev
    כתב ב נערך לאחרונה על ידי
    #1

    האם קיים דרך להציג חודש ושנה בלבד
    ולבצע מיון על התוצאה שיוצג בסדר תאריכי נכון

    כדי לכתוב חודש ושנה בלבד
    אני נאלץ שזה יהיה כתוב כטקסט
    מה שמשבש את המיון

    דוגמא:
    01/2022
    02/2022
    03/2022
    04/2022
    01/2023
    02/2023
    03/2023
    04/2023

    הנ"ל בעת מיון מוצג כ:
    01/2022
    01/2023
    02/2022
    02/2023
    03/2022
    03/2023
    04/2022
    04/2023

    I תגובה 1 תגובה אחרונה
    0
    • M mekev

      האם קיים דרך להציג חודש ושנה בלבד
      ולבצע מיון על התוצאה שיוצג בסדר תאריכי נכון

      כדי לכתוב חודש ושנה בלבד
      אני נאלץ שזה יהיה כתוב כטקסט
      מה שמשבש את המיון

      דוגמא:
      01/2022
      02/2022
      03/2022
      04/2022
      01/2023
      02/2023
      03/2023
      04/2023

      הנ"ל בעת מיון מוצג כ:
      01/2022
      01/2023
      02/2022
      02/2023
      03/2022
      03/2023
      04/2022
      04/2023

      I מנותק
      I מנותק
      ivrtikshoret
      כתב ב נערך לאחרונה על ידי
      #2

      @mekev
      באיזה שפה?

      M תגובה 1 תגובה אחרונה
      0
      • I ivrtikshoret

        @mekev
        באיזה שפה?

        M מנותק
        M מנותק
        mekev
        כתב ב נערך לאחרונה על ידי
        #3

        @ivrtikshoret
        1.אקסל
        2.SQL SERVER (SSMS)
        3. C#

        dovidD תגובה 1 תגובה אחרונה
        0
        • M mekev

          @ivrtikshoret
          1.אקסל
          2.SQL SERVER (SSMS)
          3. C#

          dovidD מנותק
          dovidD מנותק
          dovid
          ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          @mekev כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

          @ivrtikshoret
          1.אקסל
          2.SQL SERVER (SSMS)
          3. C#

          לא הבנתי מה זה הרשימה.
          בכל השלוש לא צריכים לעבור לטקסט, ואפשר להציג ישירות רק חודש ושנה.
          מיון ותצוגה יכולים להיות נפרדים גם בכל השלושה.
          תסביר איפה הבעיה.

          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
          M תגובה 1 תגובה אחרונה
          0
          • dovidD dovid

            @mekev כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

            @ivrtikshoret
            1.אקסל
            2.SQL SERVER (SSMS)
            3. C#

            לא הבנתי מה זה הרשימה.
            בכל השלוש לא צריכים לעבור לטקסט, ואפשר להציג ישירות רק חודש ושנה.
            מיון ותצוגה יכולים להיות נפרדים גם בכל השלושה.
            תסביר איפה הבעיה.

            M מנותק
            M מנותק
            mekev
            כתב ב נערך לאחרונה על ידי
            #5

            @dovid כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

            אפשר להציג ישירות רק חודש ושנה

            איך ניתן להציג ישירות רק חודש ושנה?


            ספציפית אני מושך את הנתון מSQL גרסת 2008
            שלא ניתן לשלוף מראש את התוצאה בפורמט 'פיבוט' (זמין כמדומני מ2012)

            מקור הנתונים זה תוצאת שאילתת Group By
            שמסכמת את סך המכירות לפי חודש

            ובתוכנה (C#) אני מבצע פיבוט לפי המופיע כאן

            dovidD 2 תגובות תגובה אחרונה
            0
            • M mekev

              @dovid כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

              אפשר להציג ישירות רק חודש ושנה

              איך ניתן להציג ישירות רק חודש ושנה?


              ספציפית אני מושך את הנתון מSQL גרסת 2008
              שלא ניתן לשלוף מראש את התוצאה בפורמט 'פיבוט' (זמין כמדומני מ2012)

              מקור הנתונים זה תוצאת שאילתת Group By
              שמסכמת את סך המכירות לפי חודש

              ובתוכנה (C#) אני מבצע פיבוט לפי המופיע כאן

              dovidD מנותק
              dovidD מנותק
              dovid
              ניהול
              כתב ב נערך לאחרונה על ידי
              #6

              @mekev כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

              ובתוכנה (C#) אני מבצע פיבוט לפי המופיע כאן

              תביא את דוגמת הקוד שלך.
              אתה ממלא במיוחד DataTable בשביל הPivot?

              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
              M תגובה 1 תגובה אחרונה
              0
              • M mekev

                @dovid כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

                אפשר להציג ישירות רק חודש ושנה

                איך ניתן להציג ישירות רק חודש ושנה?


                ספציפית אני מושך את הנתון מSQL גרסת 2008
                שלא ניתן לשלוף מראש את התוצאה בפורמט 'פיבוט' (זמין כמדומני מ2012)

                מקור הנתונים זה תוצאת שאילתת Group By
                שמסכמת את סך המכירות לפי חודש

                ובתוכנה (C#) אני מבצע פיבוט לפי המופיע כאן

                dovidD מנותק
                dovidD מנותק
                dovid
                ניהול
                כתב ב נערך לאחרונה על ידי dovid
                #7

                @mekev כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

                ובתוכנה (C#) אני מבצע פיבוט לפי המופיע כאן

                בדוגמה הזו אין כ"כ תצוגה, כי מדובר בDataTable שזה מבנה נתונים.
                שמה בשביל לקבץ לפי חודש ושנה צריך לעשות פשוט ככה:

                var groups = dt.AsEnumerable()
                    .GroupBy(x =>
                    {
                        var dateGroup = x.Field<DateTime>("OPR_DT");
                        return new
                        {
                            opr_dt = new DateTime(dateGroup.Year, dateGroup.Month, 1),
                            opr_hr = x.Field<int>("OPR_HR"),
                            anc_region = x.Field<string>("ANC_REGION"),
                            run_id = x.Field<string>("MARKET_RUN_ID")
                        };
                    }).ToList();
                
                • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                תגובה 1 תגובה אחרונה
                1
                • dovidD dovid

                  @mekev כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

                  ובתוכנה (C#) אני מבצע פיבוט לפי המופיע כאן

                  תביא את דוגמת הקוד שלך.
                  אתה ממלא במיוחד DataTable בשביל הPivot?

                  M מנותק
                  M מנותק
                  mekev
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @dovid כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

                  תביא את דוגמת הקוד שלך.

                  string[] uniqueAncType = dt.AsEnumerable().Select(x => x.Field<string>("חודשושנה")).Distinct().ToArray();
                  
                                      DataTable pivot = new DataTable();
                                    
                                      pivot.Columns.Add("שם מוצר", typeof(string));
                                      pivot.Columns.Add("ברקוד", typeof(string));
                                      pivot.Columns.Add("קבוצה", typeof(string));
                                      pivot.Columns.Add("מלאי נוכחי", typeof(double));
                  
                  
                                      foreach (string col in uniqueAncType)
                                      {
                                          pivot.Columns.Add(col, typeof(string));
                                      }
                  
                  
                                      var groups = dt.AsEnumerable()
                                          .GroupBy(x => new {
                                        anc_region = x.Field<string>("שם מוצר"),                           
                                              opr_hr = x.Field<string>("ברקוד"),
                                              anc_grop = x.Field<string>("קבוצה"),
                                              opr_hr1 = x.Field<double>("מלאי נוכחי"),
                  
                                       }).ToList();
                  
                                      foreach (var group in groups)
                                      {
                                          DataRow newRow = pivot.Rows.Add();
                                          newRow["שם מוצר"] = group.Key.anc_region;
                                          newRow["ברקוד"] = group.Key.opr_hr;
                                          newRow["מלאי נוכחי"] = group.Key.opr_hr1;                      
                                          newRow["קבוצה"] = group.Key.anc_grop;
                  
                                          foreach (DataRow ancType in group)
                                          {
                                              newRow[ancType.Field<string>("חודשושנה")] = ancType.Field<double>("כמות מכירות");
                                          }
                  
                  
                                      }
                  
                  
                                      dataGridView1.DataSource = pivot;
                  
                  dovidD תגובה 1 תגובה אחרונה
                  0
                  • M mekev

                    @dovid כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

                    תביא את דוגמת הקוד שלך.

                    string[] uniqueAncType = dt.AsEnumerable().Select(x => x.Field<string>("חודשושנה")).Distinct().ToArray();
                    
                                        DataTable pivot = new DataTable();
                                      
                                        pivot.Columns.Add("שם מוצר", typeof(string));
                                        pivot.Columns.Add("ברקוד", typeof(string));
                                        pivot.Columns.Add("קבוצה", typeof(string));
                                        pivot.Columns.Add("מלאי נוכחי", typeof(double));
                    
                    
                                        foreach (string col in uniqueAncType)
                                        {
                                            pivot.Columns.Add(col, typeof(string));
                                        }
                    
                    
                                        var groups = dt.AsEnumerable()
                                            .GroupBy(x => new {
                                          anc_region = x.Field<string>("שם מוצר"),                           
                                                opr_hr = x.Field<string>("ברקוד"),
                                                anc_grop = x.Field<string>("קבוצה"),
                                                opr_hr1 = x.Field<double>("מלאי נוכחי"),
                    
                                         }).ToList();
                    
                                        foreach (var group in groups)
                                        {
                                            DataRow newRow = pivot.Rows.Add();
                                            newRow["שם מוצר"] = group.Key.anc_region;
                                            newRow["ברקוד"] = group.Key.opr_hr;
                                            newRow["מלאי נוכחי"] = group.Key.opr_hr1;                      
                                            newRow["קבוצה"] = group.Key.anc_grop;
                    
                                            foreach (DataRow ancType in group)
                                            {
                                                newRow[ancType.Field<string>("חודשושנה")] = ancType.Field<double>("כמות מכירות");
                                            }
                    
                    
                                        }
                    
                    
                                        dataGridView1.DataSource = pivot;
                    
                    dovidD מנותק
                    dovidD מנותק
                    dovid
                    ניהול
                    כתב ב נערך לאחרונה על ידי
                    #9

                    @mekev הדוגמה שלך חסרה כי אין לי מושג איך נוצרת העמודה "חודשושנה" שנראה שהיא כבר איננה תאריך אלא טקסט.

                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                    dovidD תגובה 1 תגובה אחרונה
                    1
                    • dovidD dovid

                      @mekev הדוגמה שלך חסרה כי אין לי מושג איך נוצרת העמודה "חודשושנה" שנראה שהיא כבר איננה תאריך אלא טקסט.

                      dovidD מנותק
                      dovidD מנותק
                      dovid
                      ניהול
                      כתב ב נערך לאחרונה על ידי dovid
                      #10

                      @mekev הכי טוב שתביא לי את הSQL (אני מניח שאתה לא משתמש בEF, נכון?)
                      ותגדיר לי לפי מה הPivot הרצוי ואתן לך את הקוד המתאים לענ"ד.

                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                      M תגובה 1 תגובה אחרונה
                      1
                      • dovidD dovid

                        @mekev הכי טוב שתביא לי את הSQL (אני מניח שאתה לא משתמש בEF, נכון?)
                        ותגדיר לי לפי מה הPivot הרצוי ואתן לך את הקוד המתאים לענ"ד.

                        M מנותק
                        M מנותק
                        mekev
                        כתב ב נערך לאחרונה על ידי
                        #11

                        @dovid

                        CREATE TABLE Sales
                            ([date] datetime, [Barcode] int, [product_name] varchar(50),[GGroup] varchar(50),[stock] int, [quantity] int)
                        ;
                            
                        INSERT INTO Sales
                            ([date] , [Barcode] , [product_name] ,[GGroup],[stock] , [quantity] )
                        VALUES
                            ('2022-01-01 12:00:00', 2885, 'Cookware','microwave',25,1),
                            ('2022-01-06 13:00:00', 2885, 'Cookware','microwave',25,2),
                            ('2022-02-01 14:00:00', 2885, 'Cookware','microwave',25,3),
                            ('2022-02-05 15:00:00',  2885, 'Cookware','microwave',25,4),
                            ('2022-03-05 16:00:00', 2885, 'Cookware','microwave',25,5),
                            ('2022-03-06 17:00:00', 2885, 'Cookware','microwave',25,6),
                            ('2022-04-07 18:00:00', 2885, 'Cookware','microwave',25,7),
                            ('2022-04-08 19:00:00',  2885, 'Cookware','microwave',25,8),
                            ('2022-05-09 20:00:00',  2885, 'Cookware','microwave',25,9),
                            ('2022-05-10 21:00:00',  2885, 'Cookware','microwave',25,10),
                            ('2022-06-11 22:00:00',  2885, 'Cookware','microwave',25,11),
                            ('2022-06-12 23:00:00',  2885, 'Cookware','microwave',25,12),
                            ('2022-07-13 11:00:00', 2885, 'Cookware','microwave',25,13),
                            ('2022-07-14 10:00:00',  2885, 'Cookware','microwave',25,14),
                        	('2022-01-01 12:00:00', 3665, 'Appliances','refrigerator',12,15),
                            ('2022-01-06 13:00:00', 3665, 'Appliances','refrigerator',12,16),
                            ('2022-02-01 14:00:00', 3665, 'Appliances','refrigerator',12,17),
                            ('2022-02-05 15:00:00', 3665, 'Appliances','refrigerator',12,18),
                            ('2022-03-05 16:00:00', 3665, 'Appliances','refrigerator',12,19),
                            ('2022-03-06 17:00:00', 3665, 'Appliances','refrigerator',12,20),
                            ('2022-04-07 18:00:00', 3665, 'Appliances','refrigerator',12,21),
                            ('2022-04-08 19:00:00',  3665, 'Appliances','refrigerator',12,22),
                            ('2022-05-09 20:00:00',  3665, 'Appliances','refrigerator',12,23),
                            ('2022-05-10 21:00:00', 3665, 'Appliances','refrigerator',12,24),
                            ('2022-06-11 22:00:00',  3665, 'Appliances','refrigerator',12,25),
                            ('2022-06-12 23:00:00',  3665, 'Appliances','refrigerator',12,26),
                            ('2022-07-13 11:00:00', 3665, 'Appliances','refrigerator',12,27),
                            ('2022-07-14 10:00:00',  3665, 'Appliances','refrigerator',12,28),
                        	('2022-01-01 12:00:00', 2885, 'Cookware','microwave',25,1),
                            ('2022-01-06 13:00:00', 2885, 'Cookware','microwave',25,2),
                            ('2022-02-01 14:00:00', 2885, 'Cookware','microwave',25,3),
                            ('2022-02-05 15:00:00',  2885, 'Cookware','microwave',25,4),
                            ('2022-03-05 16:00:00', 2885, 'Cookware','microwave',25,5),
                            ('2022-03-06 17:00:00', 2885, 'Cookware','microwave',25,6),
                            ('2022-04-07 18:00:00', 2885, 'Cookware','microwave',25,7),
                            ('2022-04-08 19:00:00',  2885, 'Cookware','microwave',25,8),
                            ('2022-05-09 20:00:00',  2885, 'Cookware','microwave',25,9),
                            ('2022-05-10 21:00:00',  2885, 'Cookware','microwave',25,10),
                            ('2022-06-11 22:00:00',  2885, 'Cookware','microwave',25,11),
                            ('2022-06-12 23:00:00',  2885, 'Cookware','microwave',25,12),
                            ('2022-07-13 11:00:00', 2885, 'Cookware','microwave',25,13),
                            ('2022-07-14 10:00:00',  2885, 'Cookware','microwave',25,14),
                        	('2023-01-01 12:00:00', 3665, 'Appliances','refrigerator',12,15),
                            ('2023-01-06 13:00:00', 3665, 'Appliances','refrigerator',12,16),
                            ('2023-02-01 14:00:00', 3665, 'Appliances','refrigerator',12,17),
                            ('2023-02-05 15:00:00', 3665, 'Appliances','refrigerator',12,18),
                            ('2023-03-05 16:00:00', 3665, 'Appliances','refrigerator',12,19),
                            ('2023-03-06 17:00:00', 3665, 'Appliances','refrigerator',12,20),
                            ('2023-04-07 18:00:00', 3665, 'Appliances','refrigerator',12,21),
                            ('2023-04-08 19:00:00',  3665, 'Appliances','refrigerator',12,22),
                            ('2023-05-09 20:00:00',  3665, 'Appliances','refrigerator',12,23),
                            ('2023-05-10 21:00:00', 3665, 'Appliances','refrigerator',12,24),
                            ('2023-06-11 22:00:00',  3665, 'Appliances','refrigerator',12,25),
                            ('2023-06-12 23:00:00',  3665, 'Appliances','refrigerator',12,26),
                            ('2023-07-13 11:00:00', 3665, 'Appliances','refrigerator',12,27),
                            ('2023-07-14 10:00:00',  3665, 'Appliances','refrigerator',12,28)
                        ;
                        

                        אפשרות א:

                        select  year (s.date) as year ,month (s.date) as month ,s.product_name ,s.Barcode ,s.GGroup ,s.stock ,SUM (s.quantity) AS quantity
                        from Sales s
                        group by year(s.date),month(s.date) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock
                        

                        אפשרות ב:

                        select CONVERT( nvarchar,month(date)) + '/' +CONVERT( nvarchar, year(date)) as 'date' ,s.product_name ,s.Barcode ,s.GGroup ,s.stock ,SUM (s.quantity) AS quantity
                        from Sales s
                        group by year(s.date),month(s.date) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock
                        

                        התוצאה הרצויה:

                        a364197e-11cf-48db-b1d9-7a7c7252804b-image.png

                        (נ.ב. לא מצאתי עורך קוד אונליין להעלות דרכו את הדוגמא
                        sqlfiddle לא תומך בחלק מהפונקציות)

                        dovidD תגובה 1 תגובה אחרונה
                        1
                        • M mekev

                          @dovid

                          CREATE TABLE Sales
                              ([date] datetime, [Barcode] int, [product_name] varchar(50),[GGroup] varchar(50),[stock] int, [quantity] int)
                          ;
                              
                          INSERT INTO Sales
                              ([date] , [Barcode] , [product_name] ,[GGroup],[stock] , [quantity] )
                          VALUES
                              ('2022-01-01 12:00:00', 2885, 'Cookware','microwave',25,1),
                              ('2022-01-06 13:00:00', 2885, 'Cookware','microwave',25,2),
                              ('2022-02-01 14:00:00', 2885, 'Cookware','microwave',25,3),
                              ('2022-02-05 15:00:00',  2885, 'Cookware','microwave',25,4),
                              ('2022-03-05 16:00:00', 2885, 'Cookware','microwave',25,5),
                              ('2022-03-06 17:00:00', 2885, 'Cookware','microwave',25,6),
                              ('2022-04-07 18:00:00', 2885, 'Cookware','microwave',25,7),
                              ('2022-04-08 19:00:00',  2885, 'Cookware','microwave',25,8),
                              ('2022-05-09 20:00:00',  2885, 'Cookware','microwave',25,9),
                              ('2022-05-10 21:00:00',  2885, 'Cookware','microwave',25,10),
                              ('2022-06-11 22:00:00',  2885, 'Cookware','microwave',25,11),
                              ('2022-06-12 23:00:00',  2885, 'Cookware','microwave',25,12),
                              ('2022-07-13 11:00:00', 2885, 'Cookware','microwave',25,13),
                              ('2022-07-14 10:00:00',  2885, 'Cookware','microwave',25,14),
                          	('2022-01-01 12:00:00', 3665, 'Appliances','refrigerator',12,15),
                              ('2022-01-06 13:00:00', 3665, 'Appliances','refrigerator',12,16),
                              ('2022-02-01 14:00:00', 3665, 'Appliances','refrigerator',12,17),
                              ('2022-02-05 15:00:00', 3665, 'Appliances','refrigerator',12,18),
                              ('2022-03-05 16:00:00', 3665, 'Appliances','refrigerator',12,19),
                              ('2022-03-06 17:00:00', 3665, 'Appliances','refrigerator',12,20),
                              ('2022-04-07 18:00:00', 3665, 'Appliances','refrigerator',12,21),
                              ('2022-04-08 19:00:00',  3665, 'Appliances','refrigerator',12,22),
                              ('2022-05-09 20:00:00',  3665, 'Appliances','refrigerator',12,23),
                              ('2022-05-10 21:00:00', 3665, 'Appliances','refrigerator',12,24),
                              ('2022-06-11 22:00:00',  3665, 'Appliances','refrigerator',12,25),
                              ('2022-06-12 23:00:00',  3665, 'Appliances','refrigerator',12,26),
                              ('2022-07-13 11:00:00', 3665, 'Appliances','refrigerator',12,27),
                              ('2022-07-14 10:00:00',  3665, 'Appliances','refrigerator',12,28),
                          	('2022-01-01 12:00:00', 2885, 'Cookware','microwave',25,1),
                              ('2022-01-06 13:00:00', 2885, 'Cookware','microwave',25,2),
                              ('2022-02-01 14:00:00', 2885, 'Cookware','microwave',25,3),
                              ('2022-02-05 15:00:00',  2885, 'Cookware','microwave',25,4),
                              ('2022-03-05 16:00:00', 2885, 'Cookware','microwave',25,5),
                              ('2022-03-06 17:00:00', 2885, 'Cookware','microwave',25,6),
                              ('2022-04-07 18:00:00', 2885, 'Cookware','microwave',25,7),
                              ('2022-04-08 19:00:00',  2885, 'Cookware','microwave',25,8),
                              ('2022-05-09 20:00:00',  2885, 'Cookware','microwave',25,9),
                              ('2022-05-10 21:00:00',  2885, 'Cookware','microwave',25,10),
                              ('2022-06-11 22:00:00',  2885, 'Cookware','microwave',25,11),
                              ('2022-06-12 23:00:00',  2885, 'Cookware','microwave',25,12),
                              ('2022-07-13 11:00:00', 2885, 'Cookware','microwave',25,13),
                              ('2022-07-14 10:00:00',  2885, 'Cookware','microwave',25,14),
                          	('2023-01-01 12:00:00', 3665, 'Appliances','refrigerator',12,15),
                              ('2023-01-06 13:00:00', 3665, 'Appliances','refrigerator',12,16),
                              ('2023-02-01 14:00:00', 3665, 'Appliances','refrigerator',12,17),
                              ('2023-02-05 15:00:00', 3665, 'Appliances','refrigerator',12,18),
                              ('2023-03-05 16:00:00', 3665, 'Appliances','refrigerator',12,19),
                              ('2023-03-06 17:00:00', 3665, 'Appliances','refrigerator',12,20),
                              ('2023-04-07 18:00:00', 3665, 'Appliances','refrigerator',12,21),
                              ('2023-04-08 19:00:00',  3665, 'Appliances','refrigerator',12,22),
                              ('2023-05-09 20:00:00',  3665, 'Appliances','refrigerator',12,23),
                              ('2023-05-10 21:00:00', 3665, 'Appliances','refrigerator',12,24),
                              ('2023-06-11 22:00:00',  3665, 'Appliances','refrigerator',12,25),
                              ('2023-06-12 23:00:00',  3665, 'Appliances','refrigerator',12,26),
                              ('2023-07-13 11:00:00', 3665, 'Appliances','refrigerator',12,27),
                              ('2023-07-14 10:00:00',  3665, 'Appliances','refrigerator',12,28)
                          ;
                          

                          אפשרות א:

                          select  year (s.date) as year ,month (s.date) as month ,s.product_name ,s.Barcode ,s.GGroup ,s.stock ,SUM (s.quantity) AS quantity
                          from Sales s
                          group by year(s.date),month(s.date) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock
                          

                          אפשרות ב:

                          select CONVERT( nvarchar,month(date)) + '/' +CONVERT( nvarchar, year(date)) as 'date' ,s.product_name ,s.Barcode ,s.GGroup ,s.stock ,SUM (s.quantity) AS quantity
                          from Sales s
                          group by year(s.date),month(s.date) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock
                          

                          התוצאה הרצויה:

                          a364197e-11cf-48db-b1d9-7a7c7252804b-image.png

                          (נ.ב. לא מצאתי עורך קוד אונליין להעלות דרכו את הדוגמא
                          sqlfiddle לא תומך בחלק מהפונקציות)

                          dovidD מנותק
                          dovidD מנותק
                          dovid
                          ניהול
                          כתב ב נערך לאחרונה על ידי dovid
                          #12

                          @mekev יאהוו ממש השקעת, כל הכבוד.
                          אני התכוונתי שתביא לי את הSELECT שאיתו אתה שולף מהSQL בC# (אתה עובד עם DataSet.Fill?).
                          בכל אופן בדוגמאות שלך, אתה פשוט מצרף עמודה שמכילה את התאריך כתאריך:
                          אפשרות א'

                          select  MIN(s.date) as FullDate, year (s.date) as year ,month (s.date) as month ,s.product_name ,s.Barcode ,s.GGroup ,s.stock ,SUM (s.quantity) AS quantity
                          from Sales s
                          group by year(s.date),month(s.date) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock
                          

                          אפשרות ב' לא טובה. אם כבר ליצור מזה תאריך חדש של יום האחד בחודש תמיד:

                          select DATEFROMPARTS(year(date), month(date), 1) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock ,SUM (s.quantity) AS quantity
                          from Sales s
                          group by DATEFROMPARTS(year(date), month(date), 1) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock
                          

                          אבל אני לא מבין איך כל זה יעזור לך לC#, ץתביא את הSQL שאיתו אתה שולף לDATATBLE עם החודשושנה.

                          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                          M תגובה 1 תגובה אחרונה
                          1
                          • dovidD dovid

                            @mekev יאהוו ממש השקעת, כל הכבוד.
                            אני התכוונתי שתביא לי את הSELECT שאיתו אתה שולף מהSQL בC# (אתה עובד עם DataSet.Fill?).
                            בכל אופן בדוגמאות שלך, אתה פשוט מצרף עמודה שמכילה את התאריך כתאריך:
                            אפשרות א'

                            select  MIN(s.date) as FullDate, year (s.date) as year ,month (s.date) as month ,s.product_name ,s.Barcode ,s.GGroup ,s.stock ,SUM (s.quantity) AS quantity
                            from Sales s
                            group by year(s.date),month(s.date) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock
                            

                            אפשרות ב' לא טובה. אם כבר ליצור מזה תאריך חדש של יום האחד בחודש תמיד:

                            select DATEFROMPARTS(year(date), month(date), 1) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock ,SUM (s.quantity) AS quantity
                            from Sales s
                            group by DATEFROMPARTS(year(date), month(date), 1) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock
                            

                            אבל אני לא מבין איך כל זה יעזור לך לC#, ץתביא את הSQL שאיתו אתה שולף לDATATBLE עם החודשושנה.

                            M מנותק
                            M מנותק
                            mekev
                            כתב ב נערך לאחרונה על ידי mekev
                            #13

                            @dovid

                            1. אני שולף עם SqlCommand

                            2. העמודה 'date' זה העמודה 'חודשושנה' בקוד האמיתי שלי
                              אני כיום שולף מה SQL באפשרות ב' שכתבתי (הופך את התאריך לטקסט)
                              ומבצע עליה בC# 'פיבוט' כדלעיל

                            dovidD תגובה 1 תגובה אחרונה
                            0
                            • M mekev

                              @dovid

                              1. אני שולף עם SqlCommand

                              2. העמודה 'date' זה העמודה 'חודשושנה' בקוד האמיתי שלי
                                אני כיום שולף מה SQL באפשרות ב' שכתבתי (הופך את התאריך לטקסט)
                                ומבצע עליה בC# 'פיבוט' כדלעיל

                              dovidD מנותק
                              dovidD מנותק
                              dovid
                              ניהול
                              כתב ב נערך לאחרונה על ידי dovid
                              #14

                              @mekev אוקי,
                              אז קח את הקוד הזה

                              select DATEFROMPARTS(year(date), month(date), 1) as 'date' ,s.product_name ,s.Barcode ,s.GGroup ,s.stock ,SUM (s.quantity) AS quantity
                              from Sales s
                              group by year(s.date),month(s.date) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock
                              

                              בקוד שלך תשנה את זה:

                              var uniqueAncType = dt.AsEnumerable().Select(x => x.Field<DateTime>("date")).Distinct().OrderBy(x => x).Select(x => x.ToString("MM/yyyy"));
                              

                              וגם את זה:

                               newRow[ancType.Field<DateTime>("date").ToString("MM/yyyy")] = ancType.Field<double>("כמות מכירות");
                              
                              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                              M תגובה 1 תגובה אחרונה
                              1
                              • dovidD dovid

                                @mekev אוקי,
                                אז קח את הקוד הזה

                                select DATEFROMPARTS(year(date), month(date), 1) as 'date' ,s.product_name ,s.Barcode ,s.GGroup ,s.stock ,SUM (s.quantity) AS quantity
                                from Sales s
                                group by year(s.date),month(s.date) ,s.product_name ,s.Barcode ,s.GGroup ,s.stock
                                

                                בקוד שלך תשנה את זה:

                                var uniqueAncType = dt.AsEnumerable().Select(x => x.Field<DateTime>("date")).Distinct().OrderBy(x => x).Select(x => x.ToString("MM/yyyy"));
                                

                                וגם את זה:

                                 newRow[ancType.Field<DateTime>("date").ToString("MM/yyyy")] = ancType.Field<double>("כמות מכירות");
                                
                                M מנותק
                                M מנותק
                                mekev
                                כתב ב נערך לאחרונה על ידי mekev
                                #15

                                @dovid כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

                                DATEFROMPARTS

                                הפונקציה DATEFROMPARTS זמינה רק מגרסת 2012.....

                                עריכה:

                                החלפתי ב:

                                dateadd(dd, 0, dateadd(mm, datediff(mm,0, date), 0)) as 'חודשושנה'
                                

                                מקור

                                M תגובה 1 תגובה אחרונה
                                1
                                • M mekev

                                  @dovid כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

                                  DATEFROMPARTS

                                  הפונקציה DATEFROMPARTS זמינה רק מגרסת 2012.....

                                  עריכה:

                                  החלפתי ב:

                                  dateadd(dd, 0, dateadd(mm, datediff(mm,0, date), 0)) as 'חודשושנה'
                                  

                                  מקור

                                  M מנותק
                                  M מנותק
                                  mekev
                                  כתב ב נערך לאחרונה על ידי
                                  #16

                                  @mekev

                                  לא עובד...

                                  כאשר הוא מקבל את ההמרה ל: ToString("MM/yyyy") הוא ממיין כטקסט

                                  e55378da-28c3-4707-a84d-e9908dc94454-image.png

                                  dovidD תגובה 1 תגובה אחרונה
                                  0
                                  • M mekev

                                    @mekev

                                    לא עובד...

                                    כאשר הוא מקבל את ההמרה ל: ToString("MM/yyyy") הוא ממיין כטקסט

                                    e55378da-28c3-4707-a84d-e9908dc94454-image.png

                                    dovidD מנותק
                                    dovidD מנותק
                                    dovid
                                    ניהול
                                    כתב ב נערך לאחרונה על ידי
                                    #17

                                    @mekev המיון של העמודות נקבע עוד לפני ההמרה לToString, איפה שכתוב המילים OrderBy.
                                    לכן התוצאה שאתה מציג היא בהכרח שלא העתקת את הקוד כפי שהוא (בפרט השורה בה שמתי OrderBy), ואם אתה מכחיש תהיה חייב להציג לי כדי שהאמין לך...

                                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                    M תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD dovid

                                      @mekev המיון של העמודות נקבע עוד לפני ההמרה לToString, איפה שכתוב המילים OrderBy.
                                      לכן התוצאה שאתה מציג היא בהכרח שלא העתקת את הקוד כפי שהוא (בפרט השורה בה שמתי OrderBy), ואם אתה מכחיש תהיה חייב להציג לי כדי שהאמין לך...

                                      M מנותק
                                      M מנותק
                                      mekev
                                      כתב ב נערך לאחרונה על ידי mekev
                                      #18

                                      @dovid
                                      6ed72cad-5064-4778-83ce-bf1544f553a5-image.png

                                      עריכה: כאשר אני עושה order by ישירות בSQL זה אכן מביא בצורה מממוינת
                                      במקביל גם כאשר אני משאיר את המיון בביצוע השאילתא דרך הC# זה מביא את התוצאה הנ"ל

                                      dovidD תגובה 1 תגובה אחרונה
                                      0
                                      • M mekev

                                        @dovid
                                        6ed72cad-5064-4778-83ce-bf1544f553a5-image.png

                                        עריכה: כאשר אני עושה order by ישירות בSQL זה אכן מביא בצורה מממוינת
                                        במקביל גם כאשר אני משאיר את המיון בביצוע השאילתא דרך הC# זה מביא את התוצאה הנ"ל

                                        dovidD מנותק
                                        dovidD מנותק
                                        dovid
                                        ניהול
                                        כתב ב נערך לאחרונה על ידי
                                        #19

                                        @mekev בא נשאל ככה, יש קוד נוסף חוץ מזה (כלומר חוץ ממה שמוצג בתמונה) שמנסה לסדר את העמודות?
                                        אגב גם אם הוא היה ממין כטקסט עדיין 01/2022 צריך לקדום ל01/2023. משהו פה משגע אותי.

                                        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                        M תגובה 1 תגובה אחרונה
                                        0
                                        • dovidD dovid

                                          @mekev בא נשאל ככה, יש קוד נוסף חוץ מזה (כלומר חוץ ממה שמוצג בתמונה) שמנסה לסדר את העמודות?
                                          אגב גם אם הוא היה ממין כטקסט עדיין 01/2022 צריך לקדום ל01/2023. משהו פה משגע אותי.

                                          M מנותק
                                          M מנותק
                                          mekev
                                          כתב ב נערך לאחרונה על ידי mekev
                                          #20

                                          @dovid

                                          @dovid כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

                                          יש קוד נוסף חוץ מזה (כלומר חוץ ממה שמוצג בתמונה) שמנסה לסדר את העמודות?

                                          לא.

                                          זה מה שמופיע בdt

                                          4285c3af-8e9c-46de-bc2e-07c13d97d959-image.png

                                          dovidD 2 תגובות תגובה אחרונה
                                          0
                                          תגובה
                                          • תגובה כנושא
                                          התחברו כדי לפרסם תגובה
                                          • מהישן לחדש
                                          • מהחדש לישן
                                          • הכי הרבה הצבעות


                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום