Compare commits

...
2 Commits
Author SHA1 Message Date
jlamothe 03277714ba partial implementation of pt-get-columns 2025-05-12 00:04:24 -04:00
jlamothe 9c84a8153a removed unnecessary variable 2025-05-12 00:04:03 -04:00
+12 -2
View File
@@ -25,13 +25,11 @@
(defun pt-build (source &rest params) (defun pt-build (source &rest params)
"Build a pivot table "Build a pivot table
TODO: more documentation" TODO: more documentation"
(let* ((rows (plist-get params :rows)) (let* ((rows (plist-get params :rows))
(cols (plist-get params :cols)) (cols (plist-get params :cols))
(vals (plist-get params :vals)) (vals (plist-get params :vals))
(col-index (pt-get-columns source)) (col-index (pt-get-columns source))
(index (pt-column-names source))
src-cols src-cols
(src-body (pt-get-body source)) (src-body (pt-get-body source))
(buckets (make-hash-table))) (buckets (make-hash-table)))
@@ -42,6 +40,18 @@ TODO: more documentation"
(dolist (record src-body) (dolist (record src-body)
(pt--process-record record source-cols buckets)))) (pt--process-record record source-cols buckets))))
(defun pt-get-columns (source)
"Extract the column names from a table"
(let (result)
(dolist (row source)
(unless (and (listp row) (eq "!" (car row)))
(let ((n 2))
(dolist (cell (cdr row))
(unless (eq cell "")
(setq result (((format "%s" cell) . n) . result)))
(setq n (1+ n))))))
result))
;; Local Variables: ;; Local Variables:
;; read-symbol-shorthands: (("pt-" . "pivot-table-")) ;; read-symbol-shorthands: (("pt-" . "pivot-table-"))
;; End: ;; End: