ಪರಿವಿಡಿ
ಸೂತ್ರಗಳೊಂದಿಗೆ ಉಲ್ಲೇಖ ಪಟ್ಟಿಯ ಪ್ರಕಾರ ಪಠ್ಯವನ್ನು ತ್ವರಿತವಾಗಿ ಮತ್ತು ಬೃಹತ್ ಪ್ರಮಾಣದಲ್ಲಿ ಹೇಗೆ ಬದಲಾಯಿಸುವುದು - ನಾವು ಈಗಾಗಲೇ ಅದನ್ನು ವಿಂಗಡಿಸಿದ್ದೇವೆ. ಈಗ ಅದನ್ನು ಪವರ್ ಕ್ವೆರಿಯಲ್ಲಿ ಮಾಡಲು ಪ್ರಯತ್ನಿಸೋಣ.
ಆಗಾಗ್ಗೆ ಸಂಭವಿಸಿದಂತೆ ನಿರ್ವಹಿಸು ಈ ಕಾರ್ಯವು ವಿವರಿಸುವುದಕ್ಕಿಂತ ಹೆಚ್ಚು ಸುಲಭವಾಗಿದೆ ಏಕೆ ಇದು ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಆದರೆ ಎರಡನ್ನೂ ಮಾಡಲು ಪ್ರಯತ್ನಿಸೋಣ 🙂
ಆದ್ದರಿಂದ, ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್ಕಟ್ನೊಂದಿಗೆ ಸಾಮಾನ್ಯ ಶ್ರೇಣಿಗಳಿಂದ ರಚಿಸಲಾದ ಎರಡು "ಸ್ಮಾರ್ಟ್" ಡೈನಾಮಿಕ್ ಕೋಷ್ಟಕಗಳನ್ನು ನಾವು ಹೊಂದಿದ್ದೇವೆ Ctrl+T ಅಥವಾ ತಂಡ ಮುಖಪುಟ - ಟೇಬಲ್ ಆಗಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿ (ಮುಖಪುಟ - ಟೇಬಲ್ ಆಗಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿ):
ನಾನು ಮೊದಲ ಟೇಬಲ್ ಅನ್ನು ಕರೆದಿದ್ದೇನೆ ಡೇಟಾ, ಎರಡನೇ ಕೋಷ್ಟಕ - ಡೈರೆಕ್ಟರಿಕ್ಷೇತ್ರವನ್ನು ಬಳಸುವುದು ಟೇಬಲ್ ಹೆಸರು (ಟೇಬಲ್ ಹೆಸರು) ಟ್ಯಾಬ್ ನಿರ್ಮಾಣಕಾರ (ವಿನ್ಯಾಸ).
ಕಾರ್ಯ: ಕೋಷ್ಟಕದಲ್ಲಿನ ವಿಳಾಸಗಳಲ್ಲಿ ಬದಲಾಯಿಸಿ ಡೇಟಾ ಕಾಲಮ್ನಿಂದ ಎಲ್ಲಾ ಘಟನೆಗಳು ಹುಡುಕಲು ಹ್ಯಾಂಡ್ಬುಕ್ ಕಾಲಮ್ನಿಂದ ಅವರ ಅನುಗುಣವಾದ ಸರಿಯಾದ ಪ್ರತಿರೂಪಗಳಿಗೆ ಬದಲಿ. ಕೋಶಗಳಲ್ಲಿನ ಉಳಿದ ಪಠ್ಯವು ಅಸ್ಪೃಶ್ಯವಾಗಿ ಉಳಿಯಬೇಕು.
ಹಂತ 1. ಡೈರೆಕ್ಟರಿಯನ್ನು ಪವರ್ ಕ್ವೆರಿಯಲ್ಲಿ ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಅದನ್ನು ಪಟ್ಟಿಯಾಗಿ ಪರಿವರ್ತಿಸಿ
ಸಕ್ರಿಯ ಕೋಶವನ್ನು ಉಲ್ಲೇಖ ಕೋಷ್ಟಕದಲ್ಲಿ ಯಾವುದೇ ಸ್ಥಳಕ್ಕೆ ಹೊಂದಿಸಿದ ನಂತರ, ಟ್ಯಾಬ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ಡೇಟಾ (ದಿನಾಂಕ)ಅಥವಾ ಟ್ಯಾಬ್ನಲ್ಲಿ ವಿದ್ಯುತ್ ಪ್ರಶ್ನೆ (ನೀವು ಎಕ್ಸೆಲ್ನ ಹಳೆಯ ಆವೃತ್ತಿಯನ್ನು ಹೊಂದಿದ್ದರೆ ಮತ್ತು ನೀವು ಪ್ರತ್ಯೇಕ ಟ್ಯಾಬ್ನಲ್ಲಿ ಪವರ್ ಕ್ವೆರಿ ಅನ್ನು ಆಡ್-ಇನ್ ಆಗಿ ಸ್ಥಾಪಿಸಿದ್ದರೆ) ಬಟನ್ನಲ್ಲಿ ಟೇಬಲ್ / ಶ್ರೇಣಿಯಿಂದ (ಕೋಷ್ಟಕ/ಶ್ರೇಣಿಯಿಂದ).
ಪವರ್ ಕ್ವೆರಿ ಕ್ವೆರಿ ಎಡಿಟರ್ಗೆ ಉಲ್ಲೇಖ ಕೋಷ್ಟಕವನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ:
ಹಸ್ತಕ್ಷೇಪ ಮಾಡದಿರಲು, ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೇರಿಸಲಾದ ಹಂತ ಮಾರ್ಪಡಿಸಿದ ಪ್ರಕಾರ (ಬದಲಾದ ಪ್ರಕಾರ) ಬಲ ಫಲಕದಲ್ಲಿ, ಅನ್ವಯಿಸಲಾದ ಹಂತಗಳನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಅಳಿಸಬಹುದು, ಹಂತವನ್ನು ಮಾತ್ರ ಬಿಡಬಹುದು ಮೂಲ (ಮೂಲ):
ಈಗ, ಮತ್ತಷ್ಟು ರೂಪಾಂತರಗಳು ಮತ್ತು ಬದಲಿಗಳನ್ನು ನಿರ್ವಹಿಸಲು, ನಾವು ಈ ಕೋಷ್ಟಕವನ್ನು ಪಟ್ಟಿ (ಪಟ್ಟಿ) ಆಗಿ ಪರಿವರ್ತಿಸಬೇಕಾಗಿದೆ.
ಭಾವಗೀತಾತ್ಮಕ ವಿಷಯಾಂತರ
- ಟೇಬಲ್ ಹಲವಾರು ಸಾಲುಗಳು ಮತ್ತು ಕಾಲಮ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಎರಡು ಆಯಾಮದ ರಚನೆಯಾಗಿದೆ.
- ದಾಖಲೆ (ದಾಖಲೆ) - ಒಂದು ಆಯಾಮದ ಅರೇ-ಸ್ಟ್ರಿಂಗ್, ಹೆಸರುಗಳೊಂದಿಗೆ ಹಲವಾರು ಕ್ಷೇತ್ರಗಳು-ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಉದಾಹರಣೆಗೆ [ಹೆಸರು = “ಮಾಶಾ”, ಲಿಂಗ = “ಎಫ್”, ವಯಸ್ಸು = 25]
- ಪಟ್ಟಿ - ಒಂದು ಆಯಾಮದ ಅರೇ-ಕಾಲಮ್, ಹಲವಾರು ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಉದಾಹರಣೆಗೆ {1, 2, 3, 10, 42} or { "ನಂಬಿಕೆ ಭರವಸೆ ಪ್ರೀತಿ" }
ನಮ್ಮ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು, ನಾವು ಪ್ರಾಥಮಿಕವಾಗಿ ಪ್ರಕಾರದಲ್ಲಿ ಆಸಕ್ತಿ ಹೊಂದಿರುತ್ತೇವೆ ಪಟ್ಟಿ.
ಇಲ್ಲಿರುವ ಟ್ರಿಕ್ ಏನೆಂದರೆ, ಪವರ್ ಕ್ವೆರಿಯಲ್ಲಿನ ಪಟ್ಟಿ ಐಟಂಗಳು ಸಾಮಾನ್ಯ ಸಂಖ್ಯೆಗಳು ಅಥವಾ ಪಠ್ಯವಾಗಿರಬಹುದು, ಆದರೆ ಇತರ ಪಟ್ಟಿಗಳು ಅಥವಾ ದಾಖಲೆಗಳೂ ಆಗಿರಬಹುದು. ನಮ್ಮ ಡೈರೆಕ್ಟರಿಯನ್ನು ನಾವು ತಿರುಗಿಸಬೇಕಾದ ದಾಖಲೆಗಳನ್ನು (ದಾಖಲೆಗಳು) ಒಳಗೊಂಡಿರುವ ಇಂತಹ ಟ್ರಿಕಿ ಪಟ್ಟಿ (ಪಟ್ಟಿ) ನಲ್ಲಿದೆ. ಪವರ್ ಕ್ವೆರಿ ಸಿಂಟ್ಯಾಕ್ಟಿಕ್ ಸಂಕೇತಗಳಲ್ಲಿ (ಚದರ ಬ್ರಾಕೆಟ್ಗಳಲ್ಲಿನ ನಮೂದುಗಳು, ಕರ್ಲಿ ಬ್ರಾಕೆಟ್ಗಳಲ್ಲಿನ ಪಟ್ಟಿಗಳು) ಇದು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
{
[ ಹುಡುಕಿ = “ಸೇಂಟ್. ಪೀಟರ್ಸ್ಬರ್ಗ್", ಬದಲಾಯಿಸಿ = "ಸೇಂಟ್. ಪೀಟರ್ಸ್ಬರ್ಗ್"] ,
[ ಹುಡುಕಿ = “ಸೇಂಟ್. ಪೀಟರ್ಸ್ಬರ್ಗ್", ಬದಲಾಯಿಸಿ = "ಸೇಂಟ್. ಪೀಟರ್ಸ್ಬರ್ಗ್"] ,
[ ಹುಡುಕಿ = "ಪೀಟರ್", ಬದಲಾಯಿಸಿ = "ಸೇಂಟ್. ಪೀಟರ್ಸ್ಬರ್ಗ್"] ,
ಇತ್ಯಾದಿ
}
ಪವರ್ ಕ್ವೆರಿಯಲ್ಲಿ ನಿರ್ಮಿಸಲಾದ M ಭಾಷೆಯ ವಿಶೇಷ ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಅಂತಹ ರೂಪಾಂತರವನ್ನು ನಡೆಸಲಾಗುತ್ತದೆ - Table.ToRecords. ಇದನ್ನು ನೇರವಾಗಿ ಫಾರ್ಮುಲಾ ಬಾರ್ನಲ್ಲಿ ಅನ್ವಯಿಸಲು, ಈ ಕಾರ್ಯವನ್ನು ಅಲ್ಲಿನ ಹಂತದ ಕೋಡ್ಗೆ ಸೇರಿಸಿ ಮೂಲ.
ಅದು:
ನಂತರ:
Table.ToRecords ಕಾರ್ಯವನ್ನು ಸೇರಿಸಿದ ನಂತರ, ನಮ್ಮ ಟೇಬಲ್ನ ನೋಟವು ಬದಲಾಗುತ್ತದೆ - ಇದು ದಾಖಲೆಗಳ ಪಟ್ಟಿಯಾಗಿ ಬದಲಾಗುತ್ತದೆ. ಯಾವುದೇ ಪದದ ಮುಂದಿನ ಸೆಲ್ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ ವೈಯಕ್ತಿಕ ದಾಖಲೆಗಳ ವಿಷಯಗಳನ್ನು ವೀಕ್ಷಣೆ ಫಲಕದ ಕೆಳಭಾಗದಲ್ಲಿ ನೋಡಬಹುದು ರೆಕಾರ್ಡ್ (ಆದರೆ ಒಂದೇ ಪದದಲ್ಲಿ ಅಲ್ಲ!)
ಮೇಲಿನವುಗಳ ಜೊತೆಗೆ, ಇನ್ನೊಂದು ಸ್ಟ್ರೋಕ್ ಅನ್ನು ಸೇರಿಸಲು ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ - ನಾವು ರಚಿಸಿದ ಪಟ್ಟಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು (ಬಫರ್). ಇದು ನಮ್ಮ ಲುಕಪ್ ಪಟ್ಟಿಯನ್ನು ಒಮ್ಮೆ ಮೆಮೊರಿಗೆ ಲೋಡ್ ಮಾಡಲು ಪವರ್ ಕ್ವೆರಿಯನ್ನು ಒತ್ತಾಯಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಬದಲಾಯಿಸಲು ನಾವು ನಂತರ ಪ್ರವೇಶಿಸಿದಾಗ ಅದನ್ನು ಮರು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವುದಿಲ್ಲ. ಇದನ್ನು ಮಾಡಲು, ನಮ್ಮ ಸೂತ್ರವನ್ನು ಮತ್ತೊಂದು ಕಾರ್ಯದಲ್ಲಿ ಕಟ್ಟಿಕೊಳ್ಳಿ - ಪಟ್ಟಿ.ಬಫರ್:
ಅಂತಹ ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವಿಕೆಯು ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದ ಆರಂಭಿಕ ಡೇಟಾವನ್ನು ತೆರವುಗೊಳಿಸಲು ವೇಗದಲ್ಲಿ (ಹಲವಾರು ಬಾರಿ!) ಗಮನಾರ್ಹ ಹೆಚ್ಚಳವನ್ನು ನೀಡುತ್ತದೆ.
ಇದು ಕೈಪಿಡಿಯ ತಯಾರಿಕೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ.
ಇದು ಕ್ಲಿಕ್ ಮಾಡಲು ಉಳಿದಿದೆ ಮನೆ - ಮುಚ್ಚಿ ಮತ್ತು ಲೋಡ್ ಮಾಡಿ - ಮುಚ್ಚಿ ಮತ್ತು ಲೋಡ್ ಮಾಡಿ... (ಮುಖಪುಟ - ಮುಚ್ಚು&ಲೋಡ್ - ಮುಚ್ಚಿ&ಲೋಡ್ ಮಾಡಿ..), ಒಂದು ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ ಕೇವಲ ಸಂಪರ್ಕವನ್ನು ರಚಿಸಿ (ಸಂಪರ್ಕವನ್ನು ಮಾತ್ರ ರಚಿಸಿ) ಮತ್ತು ಎಕ್ಸೆಲ್ ಗೆ ಹಿಂತಿರುಗಿ.
ಹಂತ 2. ಡೇಟಾ ಟೇಬಲ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ
ಇಲ್ಲಿ ಎಲ್ಲವೂ ಮಾಮೂಲಿ. ಉಲ್ಲೇಖ ಪುಸ್ತಕದೊಂದಿಗೆ ಮೊದಲಿನಂತೆ, ನಾವು ಟೇಬಲ್ನಲ್ಲಿ ಯಾವುದೇ ಸ್ಥಳಕ್ಕೆ ಹೋಗುತ್ತೇವೆ, ಟ್ಯಾಬ್ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ ಡೇಟಾ ಬಟನ್ ಕೋಷ್ಟಕ/ಶ್ರೇಣಿಯಿಂದ ಮತ್ತು ನಮ್ಮ ಟೇಬಲ್ ಡೇಟಾ ಪವರ್ ಕ್ವೆರಿಯಲ್ಲಿ ಪ್ರವೇಶಿಸುತ್ತದೆ. ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹಂತವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಮಾರ್ಪಡಿಸಿದ ಪ್ರಕಾರ (ಬದಲಾದ ಪ್ರಕಾರ) ನೀವು ಸಹ ತೆಗೆದುಹಾಕಬಹುದು:
ಅದರೊಂದಿಗೆ ಯಾವುದೇ ವಿಶೇಷ ಪೂರ್ವಸಿದ್ಧತಾ ಕ್ರಮಗಳನ್ನು ಮಾಡಬೇಕಾಗಿಲ್ಲ, ಮತ್ತು ನಾವು ಅತ್ಯಂತ ಮುಖ್ಯವಾದ ವಿಷಯಕ್ಕೆ ಹೋಗುತ್ತೇವೆ.
ಹಂತ 3. List.Acumulate ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಬದಲಿಗಳನ್ನು ನಿರ್ವಹಿಸಿ
ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನಮ್ಮ ಡೇಟಾ ಟೇಬಲ್ಗೆ ಲೆಕ್ಕಾಚಾರ ಮಾಡಿದ ಕಾಲಮ್ ಅನ್ನು ಸೇರಿಸೋಣ ಕಾಲಮ್ ಅನ್ನು ಸೇರಿಸಲಾಗುತ್ತಿದೆ - ಕಸ್ಟಮ್ ಕಾಲಮ್ (ಕಾಲಮ್ ಸೇರಿಸಿ - ಕಸ್ಟಮ್ ಕಾಲಮ್): ಮತ್ತು ತೆರೆಯುವ ವಿಂಡೋದಲ್ಲಿ ಸೇರಿಸಿದ ಕಾಲಮ್ನ ಹೆಸರನ್ನು ನಮೂದಿಸಿ (ಉದಾಹರಣೆಗೆ, ಸರಿಪಡಿಸಿದ ವಿಳಾಸ) ಮತ್ತು ನಮ್ಮ ಮ್ಯಾಜಿಕ್ ಕಾರ್ಯ ಪಟ್ಟಿ.ಸಂಗ್ರಹ:
ಇದು ಕ್ಲಿಕ್ ಮಾಡಲು ಉಳಿದಿದೆ OK - ಮತ್ತು ಮಾಡಿದ ಬದಲಿಗಳೊಂದಿಗೆ ನಾವು ಕಾಲಮ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ:
ಇದನ್ನು ಗಮನಿಸಿ:
- ಪವರ್ ಕ್ವೆರಿ ಕೇಸ್ ಸೆನ್ಸಿಟಿವ್ ಆಗಿರುವುದರಿಂದ, ಅಂತಿಮ ಸಾಲಿನಲ್ಲಿ ಯಾವುದೇ ಬದಲಿ ಇಲ್ಲ, ಏಕೆಂದರೆ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ನಾವು "SPb" ಅನ್ನು ಹೊಂದಿದ್ದೇವೆ, "SPb" ಅಲ್ಲ.
- ಮೂಲ ಡೇಟಾದಲ್ಲಿ ಏಕಕಾಲದಲ್ಲಿ ಬದಲಾಯಿಸಲು ಹಲವಾರು ಸಬ್ಸ್ಟ್ರಿಂಗ್ಗಳಿದ್ದರೆ (ಉದಾಹರಣೆಗೆ, 7 ನೇ ಸಾಲಿನಲ್ಲಿ ನೀವು “ಎಸ್-ಪಿಬಿ” ಮತ್ತು “ಪ್ರಾಸ್ಪೆಕ್ಟಸ್” ಎರಡನ್ನೂ ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ), ಆಗ ಇದು ಯಾವುದೇ ಸಮಸ್ಯೆಗಳನ್ನು ಸೃಷ್ಟಿಸುವುದಿಲ್ಲ (ಇದರಿಂದ ಸೂತ್ರಗಳನ್ನು ಬದಲಾಯಿಸುವುದಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿ ಹಿಂದಿನ ವಿಧಾನ).
- ಮೂಲ ಪಠ್ಯದಲ್ಲಿ (9 ನೇ ಸಾಲು) ಬದಲಿಸಲು ಏನೂ ಇಲ್ಲದಿದ್ದರೆ, ಯಾವುದೇ ದೋಷಗಳು ಸಂಭವಿಸುವುದಿಲ್ಲ (ಮತ್ತೆ ಭಿನ್ನವಾಗಿ, ಸೂತ್ರಗಳ ಬದಲಿಯಿಂದ).
ಅಂತಹ ವಿನಂತಿಯ ವೇಗವು ತುಂಬಾ ಯೋಗ್ಯವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, 5000 ಸಾಲುಗಳ ಗಾತ್ರದೊಂದಿಗೆ ಆರಂಭಿಕ ಡೇಟಾದ ಟೇಬಲ್ಗಾಗಿ, ಈ ಪ್ರಶ್ನೆಯನ್ನು ಒಂದು ಸೆಕೆಂಡಿಗಿಂತ ಕಡಿಮೆ ಅವಧಿಯಲ್ಲಿ ನವೀಕರಿಸಲಾಗಿದೆ (ಬಫರಿಂಗ್ ಇಲ್ಲದೆ, ಸುಮಾರು 3 ಸೆಕೆಂಡುಗಳು!)
List.Acumulate ಕಾರ್ಯವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
ತಾತ್ವಿಕವಾಗಿ, ಇದು ಅಂತ್ಯವಾಗಬಹುದು (ನನಗೆ ಬರೆಯಲು ಮತ್ತು ನೀವು ಓದಲು) ಈ ಲೇಖನ. ನೀವು "ಹುಡ್ ಅಡಿಯಲ್ಲಿ" ಅದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮಾತ್ರವಲ್ಲದೆ, ಮೊಲದ ರಂಧ್ರಕ್ಕೆ ಸ್ವಲ್ಪ ಆಳವಾಗಿ ಧುಮುಕುವುದು ಮತ್ತು ಪಟ್ಟಿಯೊಂದಿಗೆ ವ್ಯವಹರಿಸಬೇಕು.ಅಕ್ಯುಮ್ಯುಲೇಟ್ ಕಾರ್ಯವನ್ನು ನಿರ್ವಹಿಸಬೇಕು, ಅದು ಎಲ್ಲಾ ಬೃಹತ್ ಬದಲಿಯನ್ನು ಮಾಡಿದೆ. ನಮಗಾಗಿ ಕೆಲಸ ಮಾಡಿ.
ಈ ಕಾರ್ಯಕ್ಕಾಗಿ ಸಿಂಟ್ಯಾಕ್ಸ್:
=ಪಟ್ಟಿ.ಸಂಗ್ರಹಿಸಿ(ಪಟ್ಟಿ, ಬೀಜ, ಸಂಚಯಕ)
ಅಲ್ಲಿ
- ಪಟ್ಟಿ ನಾವು ಅದರ ಅಂಶಗಳನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತಿರುವ ಪಟ್ಟಿಯಾಗಿದೆ.
- ಬೀಜ - ಆರಂಭಿಕ ಸ್ಥಿತಿ
- ಸಂಚಯಕ - ಪಟ್ಟಿಯ ಮುಂದಿನ ಅಂಶದಲ್ಲಿ ಕೆಲವು ಕಾರ್ಯಾಚರಣೆಯನ್ನು (ಗಣಿತಶಾಸ್ತ್ರ, ಪಠ್ಯ, ಇತ್ಯಾದಿ) ನಿರ್ವಹಿಸುವ ಮತ್ತು ವಿಶೇಷ ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ಸಂಸ್ಕರಣೆಯ ಫಲಿತಾಂಶವನ್ನು ಸಂಗ್ರಹಿಸುವ ಕಾರ್ಯ.
ಸಾಮಾನ್ಯವಾಗಿ, ಪವರ್ ಕ್ವೆರಿಯಲ್ಲಿ ಕಾರ್ಯಗಳನ್ನು ಬರೆಯುವ ಸಿಂಟ್ಯಾಕ್ಸ್ ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
(argument1, argument2, … argumentN) => ವಾದಗಳೊಂದಿಗೆ ಕೆಲವು ಕ್ರಿಯೆಗಳು
ಉದಾಹರಣೆಗೆ, ಸಂಕಲನ ಕಾರ್ಯವನ್ನು ಹೀಗೆ ಪ್ರತಿನಿಧಿಸಬಹುದು:
(a, b) => a + b
List.Acumulate ಗಾಗಿ, ಈ ಸಂಚಯಕ ಕಾರ್ಯವು ಎರಡು ಅಗತ್ಯವಿರುವ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳನ್ನು ಹೊಂದಿದೆ (ಅವುಗಳನ್ನು ಯಾವುದನ್ನಾದರೂ ಹೆಸರಿಸಬಹುದು, ಆದರೆ ಸಾಮಾನ್ಯ ಹೆಸರುಗಳು ರಾಜ್ಯ и ಪ್ರಸ್ತುತ, ಈ ಕಾರ್ಯಕ್ಕಾಗಿ ಅಧಿಕೃತ ಸಹಾಯದಲ್ಲಿರುವಂತೆ, ಅಲ್ಲಿ:
- ರಾಜ್ಯ - ಫಲಿತಾಂಶವು ಸಂಗ್ರಹವಾದ ವೇರಿಯೇಬಲ್ (ಅದರ ಆರಂಭಿಕ ಮೌಲ್ಯವು ಮೇಲೆ ತಿಳಿಸಲಾಗಿದೆ ಬೀಜ)
- ಪ್ರಸ್ತುತ - ಪಟ್ಟಿಯಿಂದ ಮುಂದಿನ ಪುನರಾವರ್ತಿತ ಮೌಲ್ಯ ಪಟ್ಟಿ
ಉದಾಹರಣೆಗೆ, ಕೆಳಗಿನ ನಿರ್ಮಾಣದ ತರ್ಕದ ಹಂತಗಳನ್ನು ನೋಡೋಣ:
=ಪಟ್ಟಿ.ಸಂಗ್ರಹಿಸಿ({3, 2, 5}, 10, (ಸ್ಥಿತಿ, ಪ್ರಸ್ತುತ) => ಸ್ಥಿತಿ + ಪ್ರಸ್ತುತ)
- ವೇರಿಯಬಲ್ ಮೌಲ್ಯ ರಾಜ್ಯ ಆರಂಭಿಕ ವಾದಕ್ಕೆ ಸಮಾನವಾಗಿ ಹೊಂದಿಸಲಾಗಿದೆ ಬೀಜIe ರಾಜ್ಯ = 10
- ನಾವು ಪಟ್ಟಿಯ ಮೊದಲ ಅಂಶವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ (ಪ್ರಸ್ತುತ = 3) ಮತ್ತು ಅದನ್ನು ವೇರಿಯೇಬಲ್ಗೆ ಸೇರಿಸಿ ರಾಜ್ಯ (ಹತ್ತು). ನಾವು ಪಡೆಯುತ್ತೇವೆ ರಾಜ್ಯ = 13.
- ನಾವು ಪಟ್ಟಿಯ ಎರಡನೇ ಅಂಶವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ (ಪ್ರಸ್ತುತ = 2) ಮತ್ತು ಅದನ್ನು ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ಪ್ರಸ್ತುತ ಸಂಚಿತ ಮೌಲ್ಯಕ್ಕೆ ಸೇರಿಸಿ ರಾಜ್ಯ (ಹತ್ತು). ನಾವು ಪಡೆಯುತ್ತೇವೆ ರಾಜ್ಯ = 15.
- ನಾವು ಪಟ್ಟಿಯ ಮೂರನೇ ಅಂಶವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ (ಪ್ರಸ್ತುತ = 5) ಮತ್ತು ಅದನ್ನು ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ಪ್ರಸ್ತುತ ಸಂಚಿತ ಮೌಲ್ಯಕ್ಕೆ ಸೇರಿಸಿ ರಾಜ್ಯ (ಹತ್ತು). ನಾವು ಪಡೆಯುತ್ತೇವೆ ರಾಜ್ಯ = 20.
ಇದು ಇತ್ತೀಚಿನ ಸಂಗ್ರಹವಾಗಿದೆ ರಾಜ್ಯ ಮೌಲ್ಯವು ನಮ್ಮ ಪಟ್ಟಿಯಾಗಿದೆ. ಪರಿಣಾಮವಾಗಿ ಕಾರ್ಯ ಮತ್ತು ಔಟ್ಪುಟ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸು:
ನೀವು ಸ್ವಲ್ಪ ಅತಿರೇಕಗೊಳಿಸಿದರೆ, ನಂತರ List.Acumulate ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು, ನೀವು ಎಕ್ಸೆಲ್ ಕಾರ್ಯವನ್ನು CONCATENATE ಅನ್ನು ಅನುಕರಿಸಬಹುದು (ಪವರ್ ಕ್ವೆರಿಯಲ್ಲಿ, ಅದರ ಅನಲಾಗ್ ಅನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ ಪಠ್ಯ.ಸಂಯೋಜಿಸು) ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸುವುದು:
ಅಥವಾ ಗರಿಷ್ಠ ಮೌಲ್ಯವನ್ನು ಸಹ ಹುಡುಕಿ (ಎಕ್ಸೆಲ್ನ MAX ಕಾರ್ಯದ ಅನುಕರಣೆ, ಇದನ್ನು ಪವರ್ ಕ್ವೆರಿಯಲ್ಲಿ ಕರೆಯಲಾಗುತ್ತದೆ List.Max):
ಆದಾಗ್ಯೂ, List.Acumulate ನ ಮುಖ್ಯ ಲಕ್ಷಣವೆಂದರೆ ಸರಳ ಪಠ್ಯ ಅಥವಾ ಸಂಖ್ಯಾ ಪಟ್ಟಿಗಳನ್ನು ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳಾಗಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಸಾಮರ್ಥ್ಯ, ಆದರೆ ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ವಸ್ತುಗಳು - ಉದಾಹರಣೆಗೆ, ಪಟ್ಟಿಗಳಿಂದ-ಪಟ್ಟಿಗಳು ಅಥವಾ ಪಟ್ಟಿಗಳಿಂದ-ದಾಖಲೆಗಳಿಂದ (ಹಲೋ, ಡೈರೆಕ್ಟರಿ!)
ನಮ್ಮ ಸಮಸ್ಯೆಯಲ್ಲಿ ಬದಲಿಯನ್ನು ನಿರ್ವಹಿಸಿದ ನಿರ್ಮಾಣವನ್ನು ಮತ್ತೊಮ್ಮೆ ನೋಡೋಣ:
ಪಟ್ಟಿ. ಸಂಗ್ರಹಿಸು(ಡೈರೆಕ್ಟರಿ, [ವಿಳಾಸ], (ರಾಜ್ಯ, ಪ್ರಸ್ತುತ) => ಪಠ್ಯ.ಬದಲಿ (ಸ್ಥಿತಿ, ಪ್ರಸ್ತುತ[ಹುಡುಕಿ], ಪ್ರಸ್ತುತ[ಬದಲಾಯಿಸಿ]) )
ಇಲ್ಲಿ ನಿಜವಾಗಿಯೂ ಏನು ನಡೆಯುತ್ತಿದೆ?
- ಆರಂಭಿಕ ಮೌಲ್ಯದಂತೆ (ಬೀಜ) ನಾವು ಕಾಲಮ್ನಿಂದ ಮೊದಲ ಬೃಹದಾಕಾರದ ಪಠ್ಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ [ವಿಳಾಸ] ನಮ್ಮ ಟೇಬಲ್: 199034, ಸೇಂಟ್ ಪೀಟರ್ಸ್ಬರ್ಗ್, str. ಬೆರಿಂಗಾ, ಡಿ. 1
- ನಂತರ List.Accumulate ಪಟ್ಟಿಯ ಅಂಶಗಳ ಮೇಲೆ ಒಂದೊಂದಾಗಿ ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ - ಹ್ಯಾಂಡ್ಬುಕ್. ಈ ಪಟ್ಟಿಯ ಪ್ರತಿಯೊಂದು ಅಂಶವು "ಏನು ಕಂಡುಹಿಡಿಯಬೇಕು - ಯಾವುದನ್ನು ಬದಲಾಯಿಸಬೇಕು" ಅಥವಾ ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಡೈರೆಕ್ಟರಿಯಲ್ಲಿನ ಮುಂದಿನ ಸಾಲುಗಳ ಜೋಡಿ ಕ್ಷೇತ್ರಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ದಾಖಲೆಯಾಗಿದೆ.
- ಸಂಚಯಕ ಕಾರ್ಯವು ವೇರಿಯೇಬಲ್ ಆಗಿ ಇರಿಸುತ್ತದೆ ರಾಜ್ಯ ಆರಂಭಿಕ ಮೌಲ್ಯ (ಮೊದಲ ವಿಳಾಸ 199034, ಸೇಂಟ್ ಪೀಟರ್ಸ್ಬರ್ಗ್, str. ಬೆರಿಂಗಾ, ಡಿ. 1) ಮತ್ತು ಅದರ ಮೇಲೆ ಸಂಚಯಕ ಕಾರ್ಯವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ - ಸ್ಟ್ಯಾಂಡರ್ಡ್ M- ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಬದಲಿ ಕಾರ್ಯಾಚರಣೆ ಪಠ್ಯ.ಬದಲಿಸು (ಎಕ್ಸೆಲ್ ನ ಬದಲಿ ಕಾರ್ಯಕ್ಕೆ ಸದೃಶವಾಗಿದೆ). ಇದರ ಸಿಂಟ್ಯಾಕ್ಸ್ ಹೀಗಿದೆ:
Text.Replace(ಮೂಲ ಪಠ್ಯ, ನಾವು ಏನನ್ನು ಹುಡುಕುತ್ತಿದ್ದೇವೆ, ಯಾವುದನ್ನು ಬದಲಾಯಿಸುತ್ತಿದ್ದೇವೆ)
ಮತ್ತು ಇಲ್ಲಿ ನಾವು ಹೊಂದಿದ್ದೇವೆ:
- ರಾಜ್ಯ ಇದು ನಮ್ಮ ಕೊಳಕು ವಿಳಾಸವಾಗಿದೆ ರಾಜ್ಯ (ಅಲ್ಲಿಂದ ಬರುವುದು ಬೀಜ)
- ಪ್ರಸ್ತುತ[ಹುಡುಕಾಟ] - ಕ್ಷೇತ್ರ ಮೌಲ್ಯ ಹುಡುಕಲು ಪಟ್ಟಿಯ ಮುಂದಿನ ಪುನರಾವರ್ತಿತ ಪ್ರವೇಶದಿಂದ ಡೈರೆಕ್ಟರಿ, ಇದು ವೇರಿಯಬಲ್ನಲ್ಲಿದೆ ಪ್ರಸ್ತುತ
- ಪ್ರಸ್ತುತ[ಬದಲಾಯಿಸಿ] - ಕ್ಷೇತ್ರ ಮೌಲ್ಯ ಬದಲಿ ಪಟ್ಟಿಯ ಮುಂದಿನ ಪುನರಾವರ್ತಿತ ಪ್ರವೇಶದಿಂದ ಡೈರೆಕ್ಟರಿಒಳಗೆ ಮಲಗಿದೆ ಪ್ರಸ್ತುತ
ಹೀಗಾಗಿ, ಪ್ರತಿ ವಿಳಾಸಕ್ಕೆ, ಡೈರೆಕ್ಟರಿಯಲ್ಲಿನ ಎಲ್ಲಾ ಸಾಲುಗಳ ಎಣಿಕೆಯ ಪೂರ್ಣ ಚಕ್ರವನ್ನು ಪ್ರತಿ ಬಾರಿ ರನ್ ಮಾಡಲಾಗುತ್ತದೆ, [ಹುಡುಕಿ] ಕ್ಷೇತ್ರದಿಂದ ಪಠ್ಯವನ್ನು [ಬದಲಿ] ಕ್ಷೇತ್ರದಿಂದ ಮೌಲ್ಯದೊಂದಿಗೆ ಬದಲಾಯಿಸುತ್ತದೆ.
ನೀವು ಕಲ್ಪನೆಯನ್ನು ಪಡೆದುಕೊಂಡಿದ್ದೀರಿ ಎಂದು ಭಾವಿಸುತ್ತೇವೆ 🙂
- ಸೂತ್ರಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಪಟ್ಟಿಯಲ್ಲಿರುವ ಪಠ್ಯವನ್ನು ಬೃಹತ್ ಪ್ರಮಾಣದಲ್ಲಿ ಬದಲಿಸಿ
- ಪವರ್ ಕ್ವೆರಿಯಲ್ಲಿ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು (RegExp).