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

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

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

קוד לסיכום וחישוב סיכום תרומות

מתוזמן נעוץ נעול הועבר תכנות
12 פוסטים 3 כותבים 202 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • אבי 203א מנותק
    אבי 203א מנותק
    אבי 203
    כתב ב נערך לאחרונה על ידי
    #1

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

    wixData.query('tormim').eq('status', 'yes').find().then(res => {
    			console.log(res);
    var sac = res.item.camut;
    console.log(sac);
    
    

    האם זה חייב לעבור בלולאה ולחבר את כולם?
    האמת שאני לא מצליח בכלל לקלל את כולם למערך אחד.
    תודה

    https://www.av-digital.co.il/

    yossizY תגובה 1 תגובה אחרונה
    0
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לאבי 203 ב נערך לאחרונה על ידי yossiz
      #2

      @אבי-203 אמר בקוד לסיכום וחישוב סיכום תרומות:

      var sac = res.item.camut;
      

      אני משער שקראת את הדקומטציה?
      הנה סיכום מה שנוגע לשאלתך:
      אין מאפיין בשם item יש items.
      ב-res.items אתה מקבל מערך של 50 (או את המספר שהגדרת בפונקציית limit) הרשומות הראשונות. כדי לחשב את סה"כ אתה יכול להשתמש בפונקציית reduce.
      לדוגמה:

      sac = res.items.reduce((total, item)=>total + item.camut, 0)
      

      כדי לקבל את 50 הרשומות הבאות תשתמש ב-next.
      כמובן מכיון ש-items הוא מערך אין לו מאפיין בשם camut

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      תגובה 1 תגובה אחרונה
      2
      • אבי 203א מנותק
        אבי 203א מנותק
        אבי 203
        כתב ב נערך לאחרונה על ידי
        #3

        camut
        זה שם השדה שבו נמצא הסכום
        אני אמור לחבר את כל "העמודה" הזו

        אפשר ב limit לכתוב מאות?

        https://www.av-digital.co.il/

        yossizY תגובה 1 תגובה אחרונה
        0
        • yossizY מנותק
          yossizY מנותק
          yossiz
          השיב לאבי 203 ב נערך לאחרונה על ידי yossiz
          #4

          @אבי-203 אמר בקוד לסיכום וחישוב סיכום תרומות:

          camut
          זה שם השדה שבו נמצא הסכום

          ניחשתי שכן, וכזה השתמשתי במאפיין זה בקוד לדוגמה שהבאתי (אחרי העריכה האחרונה).

          אפשר ב limit לכתוב מאות?

          ה-limit של limit הוא 1000 🙂 https://www.wix.com/corvid/reference/wix-data.WixDataQuery.html#limit

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          תגובה 1 תגובה אחרונה
          1
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            כתב ב נערך לאחרונה על ידי dovid
            #5
                wixData.query('tormim')
                       .eq('status', 'yes')
                       .sum('camut')
                       .then(res => console.log(res.items[0]));
            

            https://support.wix.com/en/article/corvid-working-with-aggregations-in-the-data-api

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            yossizY תגובה 1 תגובה אחרונה
            2
            • yossizY מנותק
              yossizY מנותק
              yossiz
              השיב לdovid ב נערך לאחרונה על ידי yossiz
              #6

              @dovid אמר בקוד לסיכום וחישוב סיכום תרומות:

                  wixData.query('tormim')
                         .eq('status', 'yes')
                         .sum('camut')
                         .then(res => console.log(res.items[0]));
              

              https://support.wix.com/en/article/corvid-working-with-aggregations-in-the-data-api

              זה יותר טוב ממה שאני הצעתי.
              אבל לכאורה התחביר לא נכון.
              צ"ל:

                  const filter = wixData.filter().eq('status', 'yes');
                  wixData.aggregate('tormim')
                         .filter(filter)
                         .sum('camut')
                         .run()
                         .then(res => console.log(res.items[0]))
              

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              dovidD תגובה 1 תגובה אחרונה
              3
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                השיב לyossiz ב נערך לאחרונה על ידי
                #7

                @yossiz אכן, הקוד האחרון שלך הוא הנכון.

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                1
                • אבי 203א מנותק
                  אבי 203א מנותק
                  אבי 203
                  כתב ב נערך לאחרונה על ידי
                  #8

                  תודה מדהימים! @yossiz @dovid
                  עבד נהדר!

                  
                  const filter = wixData.filter().eq('status', 'yes');
                      wixData.aggregate('tormim')
                             .filter(filter)
                             .sum('camut')
                             .run()
                             .then(res => $w('#text31').text =  String(res.items[0].camutSum)
                  		   )
                  		   
                  

                  אם זה לא חוצפה, הייתי שמח להבין את התהליך!
                  תודה חברים.

                  https://www.av-digital.co.il/

                  yossizY תגובה 1 תגובה אחרונה
                  0
                  • yossizY מנותק
                    yossizY מנותק
                    yossiz
                    השיב לאבי 203 ב נערך לאחרונה על ידי yossiz
                    #9

                    @אבי-203 אמר בקוד לסיכום וחישוב סיכום תרומות:

                    הייתי שמח להבין את התהליך!

                    איזה שלב?
                    אין פה איזה תהליך מבריק... זה רק ענין של שימוש נכון בספרייה.
                    אני לא הכרתי את wix עד היום, אז התהליך שאני עברתי היתה לגגל את הפונקציה שאתה משתמש, לקרוא את התיעוד, מה הפרמטרים וסוגי האובייקטים שהפונקציה מחזירה, ועל פי זה לערוך את הקוד שלך כדי שיעבוד (יצא דרך טיפה מסורבלת, אבל זרמתי עם ההתחלה שלך)
                    @dovid , כנראה, או שהוא מכיר את הספריה, או שניחש שחייב להיות משהו יותר טוב, ומצא את הפונקציה sum שמטרתו לסכם את הדאטה.
                    שוב, בדקתי את התיעוד ש@dovid ציין לו ותיקנתי את הקוד לפי התיעוד. (כלומר ש-sum הוא פונקציה שעובד על אובייקט WixDataAggregate (שמטרתו לסכם את הדאטה בכמה דרכים), ולא על WixDataQuery ולכן יש קבוצת פונקציות שונה). זהו.
                    אם אתה משתשמש בספריה/פריימוורק איך שתקרא לזה, כדאי לך מאוד להכיר את היכולות והמבנה שלו. גם אם קשה לך עם האנגלית, (אני אם יתרון מובנה שבשבילי אנגלית הוא שפת אם), ממש כדאי לך להתאמץ ולעבור על התיעוד ולהכיר אותו היטב.
                    זה יהיה השקעה משתלמת.

                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                    תגובה 1 תגובה אחרונה
                    0
                    • אבי 203א מנותק
                      אבי 203א מנותק
                      אבי 203
                      כתב ב נערך לאחרונה על ידי
                      #10

                      @yossiz אמר בקוד לסיכום וחישוב סיכום תרומות:

                      WixDataAggregate

                      WixDataAggregate זה במקום הג'קוורי?
                      ומה תפקיד ה .run()? להחזיר?
                      sum זה מסכם כל דבבר הוא כמסתבר רק חיבור מתמטי? כלומר האם זה יעזור לי למשל להביא לי רשימת שמות?

                      https://www.av-digital.co.il/

                      yossizY תגובה 1 תגובה אחרונה
                      0
                      • yossizY מנותק
                        yossizY מנותק
                        yossiz
                        השיב לאבי 203 ב נערך לאחרונה על ידי yossiz
                        #11

                        @אבי-203
                        סליחה, אני מתנצל, אני קורא שוב מה שכתבתי למעלה וזה נשמע מאוד מתנשא ומטיף וכו'.
                        אבל אני עדיין אוחז כן. אם אתה משתמש בספרייה אתה חייב להכיר אותו, ושום תשובה בשום פורום לא יהיה תחליף לתיעוד הרשמי.
                        ובכל זאת, כדי לעזור לך בצורה יותר פראקטית ומיידית אנסה להסביר לפי קט שכלי את הפונקציות שהשתמשת בהם.
                        (לא קראתי לעומק כלל, וייתכן שאני טועה, זה רק קו כללי)

                        WixDataAggregate זה במקום הג'קוורי?

                        לא, זה לא משהו כללי, זה משהו ספציפי לספריה זו.
                        WixDataAggregate זה אובייקט שמייצג סיכום כלשהו של הדאטה. זה סוג האובייקט שהפונקציה aggregate מחזירה.
                        באובייקט הזה אתה קובע פרמטרים של איזה דאטה לסכם ובאיזה צורה.
                        filter מוסיף מסנן לסיכום. המסנן בונים באמצעות הפונקציה wixData.filter() ושוב מוסיפים את המסנן הרצוי, במקרה שלנו: ‎.eq('status','yes')‎
                        הפונקציה sum אומר לספרייה שאתה מעוניין בסוג הסיכום שמביא לך את הסה"כ של העמודה שאתה בוחר.
                        אח"כ אתה מריץ את הסיכום ע"י קריאת run. זה מחזיר את תוצאות הסיכום מעוטף ב-promise

                        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                        תגובה 1 תגובה אחרונה
                        0
                        • אבי 203א מנותק
                          אבי 203א מנותק
                          אבי 203
                          כתב ב נערך לאחרונה על ידי
                          #12

                          לא נשמעת מתנשא כלל, אולי נושא בעול עם חבירו .. 🙂
                          נהדר! עזרה נהדרת!
                          אני די מסתדר יחסית עם הספרייה, בניתי איתה אתרים מורכבים ומערכות crm
                          הנקודה שהידע שלי התחיל רק שם.
                          והיא ספרייה שמתעדכנת ברמה שבועית. אני בד"כ לומד מה שאני זקוק לאותו הרגע. לא על הסדר... אז אני מדלג ככל הנראה ... 😞

                          https://www.av-digital.co.il/

                          תגובה 1 תגובה אחרונה
                          2

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

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

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