發表文章

目前顯示的是 1月, 2020的文章

[Google Sheet] Sparkline,在儲存格裡插入迷你圖表

圖片
Sparkline用起來長怎樣 我在  [Google Sheet]我如何製作進度表  這篇裡 以及 我如何製作股票損益表 大家可以看到一些儲存格裡都有迷你圖表,像是柱狀圖、線圖,這就是sparkline這個函式的功用,讓我們不需要額外插入一些圖表,就能直接在格子中畫圖. Sparkline用法 sparkline(range, [options]) range就是你的資料,是一個範圍,比如A1:A10、C3:L3,options則是一些其他設置,可有可無,例如圖表的類型是line、bar,圖表的顏色,線條粗細等等.寫法為在一個大括號內{},一連串的屬性及相對應的值,以分號(;)分開,例如:{"charttype","bar"; "color","blue"; "max",1} 圖表類型在options裡charttype屬性設置: line, bar, column, winloss (預設為line) 當charttype為line: 折線圖,其他設置為 color: 線的顏色 linewidth: 線的粗細 當charttype為bar: 堆疊長條圖,其他設置為 max: 設定橫軸的上限值 color1: 兩個堆疊交錯的長條圖,第一種的顏色 color2: 兩個堆疊交錯的長條圖,第二種的顏色 當charttype為column: 直條圖,其他設置為 color: 直條圖的顏色 lowcolor: 最低值的顏色 highcolor: 最高值的顏色 firstcolor: 第一欄的顏色 lastcolor: 最後一欄的顏色 ymin: 欄高的下限值 ymax: 欄高的上限值 範例 sparkline(E1:E10),黑色折線圖 sparkline(E1:E10, {"color","blue"; "linewidth", 2}),藍色較粗的折線圖 sparkline(H1:H10, {"charttype","bar&

[Google Sheet] 使用樞紐分析,Pivot table,資料透視表,來統計分析你的資料

圖片
今天我們要來介紹google sheet裡一個叫資料透視表的功能,英文為Pivot table,一般中文也稱作樞紐分析,這幾個詞都是指同件事情,大家可以用這修關鍵字去google找你們想要的資料. 何時使用 假設我們現在擁有一個記帳的表格,記錄著每天花錢花在什麼項目、各個項目的分類、金額等的資料,如下圖: 當我們想問如下列這些問題時,樞紐分析就可以派上用場 每天會花多少錢? 各個分類(食衣住行)總共花多少錢? 每天在各個類別上平均會花多少錢? 每天在各個類別上花了幾筆錢? 開始建立資料透視表! 首先先將資料圈選起來 接著在選取選單上的資料 -> 資料透視表 可以將資料透視表插入到新的工作表裡 也可以直接在現有工作表中選個位置 這裡我們在F2的位置插入就好 (1)這個就是我們新增出來的表格拉~ (2)Google大神會推薦一些選項給我們選,如果剛好有適合的,選下去就完事了! (3)如果沒有,我們就要在這邊編輯囉 編輯資料透視表 在編輯處那邊,一共有四個東西可以編輯,分別是列、欄、值及篩選器. 列 新增一個列,資料透視表的每一橫列會依照你所選欄位,將同樣欄位的歸納成同一列,所以我們要選擇一個欄位,在我們這邊的例子就是有項目、分類、金額、日期這四個可以選,假設我們選了日期,同樣日期的資料就會變成同一列,如下圖: 如果選了分類,則會是像這樣: 欄 欄的效果跟列一樣,只不過是從橫列變成直欄,也能夠列跟欄一起交叉使用,比如列選日期,欄選分類,看起來就會這樣: 值 值就是每一個格子裡要填入什麼值,選擇一個欄位,此時假設我們先選擇金額: 以上圖的例子來看,紅色框框就是把所有符合日期2020-01-01且分類為食的所有資料的金額加總(SUM)成一個值 除了加總之外,還可以選擇其他種計算方式 比如有AVERAGE(平均),MAX(最大值),COUNT(記數) 篩選器 最後一個篩選器聽名字就知道做什麼的拉,可以針對某個欄位,勾選留下你希望的值,大家自己動手玩玩看就知道囉~ 以上就是最基礎的資料透視表簡介,如果有任何疑問或

[Elasticsearch Tutorial] 2. 開始寫入(index)你的資料

這篇要開始寫入我們的資料進Elasticsearch拉,如果還沒安裝,可以參考上一篇  [Elasticsearch Tutorial] 1. 利用Docker安裝Elasticsearch, 本機或GCE上 Index Elasticssearch是個document store,document會被寫入到index裡,index有點像是一般資料庫裡的table,就是一群相似的資料的集合,資料一被寫入到index,Elasticsearch就會對每筆資料的每個欄位建立索引,對於不同資料型態的欄位,都會建立特定且優化過的資料結構,至於每個欄位是什麼資料型態(mappings),可以在建立index的時候指明,或是在寫入資料時,由系統自己幫你判斷(dynamic mappings),並且之後不能更新,只能刪掉再重建. 建立index,PUT /<index> 現在我們來建立一個名為test的index,PUT /<index> 就可以了,body中settings.index裡我們把number_of_replicas設成0,因為我們只有一個node,預設的話1,不改的話其實也是都可以使用的,mappings就是我們上面提到的每個欄位的資料型態,在這裡我們先不設,只是先寫出來讓大家知道,如果要設的是長怎樣. 查看index,GET /<index> 接著來一下我們剛剛建立的名為test的index,GET /<index> 能夠看到test index的資訊,可以看mappings那邊還是空的,等等我們寫入資料後,Elasticsearch就會根據我們的資料,自動建立出mappings 開始寫入資料 PUT /<index>/_doc/<id> 在request body裡放入要寫入的document,並指定一個id,這裡是1,如果沒有id,會隨機產生一個給你,如果id已經存在,原本的document就會被replace掉,如果想要partial update一個本來已經存在的document的話,如下 POST /<index>/_update/<id> 原本的document會跟新的me

[Elasticsearch Tutorial] 1. 利用Docker安裝Elasticsearch, 本機或GCE上

圖片
此篇文章會利用Docker來安裝一個簡易的Elasticsearch server,用來後續學習及探索實驗各種功能. 首先,你的電腦上必須先安裝docker,如果沒有而且也不想裝的話,後面有示範如何直接將官方的docker image直接部署上GCP的GCE的VM上. 在本機上安裝 本機上有docker的話,很簡單!一個指令就完畢,可以將指令記到一個shell script裡,以後就不需要一直打,或是忘記怎麼打,指令如下: 跑完之後可以docker ps看一下是否有成功,或是curl localhost:9200也能得到以下的回應: 在GCE安裝 這邊假設您有操作過GCE,直接進到建立VM的頁面,把將容器部署至這個VM的選項打勾,於映像檔那邊填入docker.elastic.co/elasticsearch/elasticsearch:7.5.1,這邊使用的是7.5.1版本 接著按下進階選項,如同本機端部署時一樣,我們要加一個環境變數dicovery.type為single-node,按下建立!就ok拉~ 之後可以ssh進去機器裡面curl localhost:9200看看,設定一下防火牆的話,就能透過外部IP開始測試探索囉 By the way, 我這邊是用n1-standard-1的機器(1 vCPU, 3.5 GB RAM),機器啟動之後,大約還要等個一兩分鐘,Elasticsearch才會起好,再用更小的機器的話就還蠻卡的.