同じフォルダ内の複数ブックデータ統合

~続・VBA~

こんばんは!そして、あけましておめでとうございます!(本日1月15日・・w)

本年もどうぞよろしくお願い致します(*´ー`*)

さて、昨年年末から今年年明けまでバタバタと忙しくしておりまして久々の更新です。

昨年11月頃から、仕事で行う集計の為にエクセルVBAのお勉強をしております。

仕事の空いた時間で「同じフォルダ内の複数ブックを統合するマクロ」に件数チェック機能をつけるというミッションをいただいておりまして。解決する為日々試行錯誤しております(笑)

VBA面白いですね。

取り扱う データの量がかなり多いので、この「統合する」という作業が省けるだけでも結構時間の節約になるんです。。

という訳で、自分の為の備忘録+「 同じフォルダ内の複数ブックを統合するマクロ 」を仕事で使いたいという方への情報共有の為にブログに記しておきます。

「始めてVBAをいじるよ。」という方は下の手順でデフォルトでは隠れている「開発タブ」を表示させておいてください。

開発タブを表示してVBAを書く手順

  1. 「ファイル」タブ-「オプション」をクリック
  2. 「リボンのユーザー設定」をクリック
  3. 画面右の「リボンのユーザー設定」配下に表示されるタブ一覧で「開発」にチェックを入れる
  4. 画面上部の開発タブクリック⇒visualbasicをクリック
  5. 標準モジュールに下の「sub~」を張り付ける

※標準モジュールの追加方法はこちらのサイトでとても分かりやすくまとめられていますのでこちらをご覧ください:)(officeTANAKAさん、ありがとうございます!)

http://officetanaka.net/excel/vba/beginner/10.htm

以下貼り付け

Sub ブック集計()

    '集計シートを変数に格納
    Dim ws As Worksheet
    Set ws = ActiveSheet

    '集計シートを全て削除しておく
    ws.Cells.Clear
    
    '集計シートの最終行を取得しておく
    Dim LastRow As Long
    LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
            
            
    'メッセージ
    MsgBox "このブックと同じフォルダにあるブックを全て統合します"
            
            
'---ファイルを開く前に、場所とファイル名の一覧を取得しておく
    
    'このブックの保存されているフォルダのパス(番地;ディレクトリ)を変数に取得
    Dim thisPath As String
    thisPath = ThisWorkbook.Path
        
    
    'ディレクトリにあるExcelのファイル名を取得(Dir関数)
    '("*.xlsx"(ワイルドカード)でExcelブックだけを指定)
    Dim fileName As String
    fileName = Dir(thisPath & "\" & "*.xlsx")
    
        
    '画面のちらつきを防止する(※処理が終わったらTrueに戻す)
    Application.ScreenUpdating = False
    
    
    
'---ループで順番にファイルを開いてデータを取り込む
        
    'ループカウンタ変数
    Dim i As Long
    
    
    'ファイル名が無くなるまで繰り返す
    Do While fileName <> ""
        
        '開くワークブックを変数に代入
        Dim bufBook As Workbook
        Set bufBook = Workbooks.Open(thisPath & "\" & fileName)  '(ディレクトリ\ファイル名) となる
        
        
        '開いたブックの第1シートの全データ --> 集計シートの最終行
        bufBook.Worksheets(1).Range("A1").CurrentRegion.Copy Destination:=ws.Range("A" & LastRow)
    
        
        '最初のループ以外では、タイトル行を削除しておく
        If i > 0 Then
            ws.Rows(LastRow).Delete
        End If
        
        '開いたブックを閉じる
        bufBook.Close SaveChanges:=False    'False:「保存しますか?」を強制的に「いいえ」
                
        '集計シートの最終行を再取得しておく
        LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1
        
        
        ' Dir関数は引数を省略すると、直前に取得したファイル名を飛ばして
        'まだ返していないファイル名を順に返す。→次のファイル名が取り出される。
        fileName = Dir()
        
        i = i + 1

    Loop
    
    '画面のちらつき防止措置を終了
    Application.ScreenUpdating = True

End Sub


↑ここまで

はい。 では今日はこの辺りで!

何かの役に立てば嬉しいです(*´ー`*)

ご覧いただきありがとうございました!

おやすみなさい!

複数シートのデータを一つのシートに集約する。

いきなりエクセルVBA!

こんばんは!

最近めっきり寒いですね(>_<。)

風が冷たくなってきて手ぶくろ必須ですね。

先日、訓練校の仲間にとてもカワイイ”バスソルト詰め合わせ”を頂きまして、

凍えて帰ってもぬくぬくできる楽しみがあるので、北風に負けず強く生きれています(笑)。

ありがとう。。(*´ー`*)

PixelAnarchyによるPixabayからの画像

「スタンフォード式最高の睡眠」によると、睡眠の質を上げるには

「寝始めから90分の質を高める事が大切!!」なのだそうです。

質を高める為には体の内部、深部体温を寝るタイミングで下がるようにしなければならず、

『寝る90分前にお風呂に入る』というのが良いらしいのです。

(シャワーの場合は30分位前で良いらしい。あとは同じ時間に寝る事6時間以上寝る事も大事だそうです!)

さて、前置きが長くなりましたが、

今日は最近Udemyで勉強中のエクセルのマクロです。

「エクセル兄さん」のマクロ教材の説明が丁寧でわかりやすくておすすめしたいです。

エクセル兄さんの教材をジワジワ進め、やっと職場のNさんから依頼されていた「複数のブックデータを簡単に統合できるマクロ」の作成の所まで来ました:)

いつも沢山のデータをエクセルで集計されている方への情報共有です。

以下コードで複数のブックのデータを一つのエクセルシートに纏める事ができます。

エクセルの開発タブからVBEを開いて張り付けるだけ。(シート名と転記範囲は変更してくださいませ)

Option Explicit 

Sub tougou()

'ワークシート「データ収集」を格納しておく
Dim wsTotal As Worksheet
Set wsTotal = Worksheets("データ収集")

'最終行を取得しておく
Dim MaxRow As Integer
MaxRow = Worksheets("データ収集").Cells(Rows.Count, 1).End(xlUp).Row + 1

'ダイアログから複数のブックを選び、配列にパスを格納する
Dim arrayPath As Variant
arrayPath = Application.GetOpenFilename("Microsoft Excelブック,*.xls?", MultiSelect:=True)

'もしopenPathが配列ならば
If IsArray(arrayPath) Then

    'Forループ(iが1から配列の要素数まで)
    Dim i As Integer
    For i = 1 To UBound(arrayPath)

        '変数を用意し、ブックを開いて格納
        Dim openBook As Workbook
        Set openBook = Workbooks.Open(arrayPath(i))

        '転記したい項目をそれぞれ転記する

        wsTotal.Range("A" & MaxRow).Value = openBook.Worksheets(1).Range("A2").Value
        wsTotal.Range("B" & MaxRow).Value = openBook.Worksheets(1).Range("A1").Value
        wsTotal.Range("C" & MaxRow).Value = openBook.Worksheets(1).Range("B6").Value
        wsTotal.Range("D" & MaxRow).Value = openBook.Worksheets(1).Range("B5").Value
       

        'openBookを閉じる
        openBook.Close

        '次のループのため、最終行を+1しておく
        MaxRow = MaxRow + 1

    Next i

    '処理が終わったことをMsgBoxで出力
    MsgBox "全ブックからデータを抽出しました。"

End If
End Sub

転記した内容をクリアする↓

Sub clear()

'最終行を変数に取得
Dim MaxRow As Integer
MaxRow = Worksheets("データ収集").Cells(Rows.Count, 1).End(xlUp).Row + 1

'2行目から最終行までのデータを削除する
Worksheets("").range("2:"&MaxRow).Value=""

End Sub

です。

繰り返しとか、単純作業を省けたら、結構毎日の仕事の効率が上がって皆楽になるし、

アイディアを考えたり、チェックしたり、たまにぼーっとしたり(笑)他の事に時間を使えると思う。

まだまだ分からない事ばっかりですが、PHPに比べればまだましかも。。w

超初心者の私は、PHPとか難しい言語をやる前に、まずはもう少しマクロで色々できる様になるのが先かもしれません。

VBAマスターしたいなと思っています:)

私もVBA勉強したい!という方はこちらをどうぞ!↓(セールの時は1200円とかなのでお得ですよ。Adobe After Effectsとかプログラミングやwebデザイン講座等沢山買ってしまいました。)

https://www.udemy.com/

それでは。今日はこの辺りで!

ご覧いただきありがとうございました(*´ー`*)

youtubeのホーム画面の背景画像・アイコンの最適なサイズは?

Illustratorでyoutubeホームの画像作成をしてみた。

こんばんは!

最近、芸能人・有名人でyoutubeをはじめる方増えましたよね。

私はテスト用にアカウント作っただけなので何も変更していませんが(笑)

自分のチャンネルを持つとなった時に、やっぱり他のチャンネルとの差別化というか、埋もれないように

アイコンやホームの背景画像を変更して自分のチャンネルらしさを出したい所ですよね。

最近、友人に頼まれてyoutubeのホーム画面で使用する、アイコンイラストとロゴ、背景画像の作成をしまして、

その時に、「画像のサイズは何ピクセルで作ればベストなのか??」という所で少し躓いたので、今日はそのあたりを情報共有したいと思います:)

結論から言いますと、

アイコンのサイズ=800×800(pixel)

背景画像サイズは 2560×1440 、ロゴとイラストはその中心から 1546 × 423 の四角のなかに収めて配置する。

です。

ちなみに、youtubeでは背景画像のことを、チャンネルアートといいます

作成する前にネットで調べた所、youtube推奨の チャンネルアートのサイズは2560×1440でした。(←設定画面に書いてある)

しかし!!

youtubeの表示デバイスパターンは、TV、PC、スマホ、と3種類あります。

(ホントはこっそりタブレットも居るけど。。)

↑こういう事です。

背景画像=2560×1440(pixel) ←TV表示サイズ

背景画像=1546 × 423 (pixel)←PC・スマホサイズ

なので、2560×1440 で作った場合、 テレビサイズでは問題ないですが、 スマホやPCでチェックすると、「大事な所がはみ出ちゃうな・・。推奨守ったけど。。(´-ω-)」となってしまいます。(先日経験しました。)

アーティストさんのyoutubeチャンネルでもよく、スマホで見た時に、ボーカルさんの顔とか見切れちゃってるのがありますが、おそらく、推奨サイズの表記に素直に従って、テレビサイズに合わせて作っているせいだと思われます。

因みに私は今回、どのデバイスで見ても出来るだけ違和感がないほうが、チャンネルを見てくれている方にとって良いと思うので。

背景画像サイズは 2560×1440 、ロゴとイラストは中心から 1546 × 423 の四角のなかに収めて配置する。という方法をとりました。

そうするとこんな感じになります。↓

はい。いかがでしたでしょうか。

youtuberの友人は、イラストアイコンを使ってからチャンネル登録率がアップしていると言ってくれていたので、イラストとか描いた事なかったけど、やってみて良かったなと思いました。

これからyoutuberやりたい!アイコンやチャンネルアート自分で作りたい!と思っている方の参考に、少しでもなれば嬉しいです。

では、今日はこの辺りで。

ご覧いただきありがとうございました!:)

illustrator 文字の背後を光らせる

バックライト風効果

こんばんは!

仕事帰りに見た「日産」のロゴが、ボワッと光っていてカッコよかったので、

今日はillustratorでバックライト効果をつける方法について調べて練習しました。

ボワッ。
NISSAN。

お手本にしたのはこちらのサイトさんです!↓

https://onofdesign.com/design/designtips/illusttips1

ヨシダマサさん、ありがとうございます!!

なんとこちらのヨシダマサさんも令和元年、5月からブログをスタートされたそうです(*´ー`*)

でもですね。デザイナーキャリアが全然違う!

10年以上の大ベテランで、独立して年収500万円もコンスタントに稼いでいらっしゃる凄腕デザイナーさんのブログです(`・ω・´)9

「これからはデザイナーのみで食べていくのは難しいよ」と以前様々なweb系の先輩・先生方に言われた私は、今日このブログを読んでとても希望を感じたのでした。

私はフリーは望んでいませんが、もし今後デザイン系でフリーランスで仕事をしたいと思っている方がいたら、テクニックの共有以外にも、フリーでコンスタントに利益を出す為のノウハウや、フリーランスのトラブル回避方法や経験談など、とても参考になる事が書かてれいるブログなので、もしよかったら覗いてみてはいかがでしょうか:)

私は半年間、毎日休まずブログを更新していたのですが。。

金曜日。。寒かったので、ご飯を食べ、暖房を入れてぬくぬくしていたら。

寝ちゃってて。

目が覚めたら夜中でした(笑)

あ!毎日更新記録が !! (。´Д⊂)

と少し悲しくなったのですが、同時にちょっと肩の荷が下りたような気もしてw

半年間結構がんばったな。。少し休暇をとろう(笑)

と、ここ3日間久しぶりにノンビリしてしまいましたw ←堂々とサボる。

毎日更新する事で自分のモチベーションアップとメモ、

同じ境遇の方への情報共有の為に書いていたのですが、

最近更新する事に気を取られて、あまり良い情報を共有できていなかったり、

深く勉強したり、追及したりできていない気がしていました。

これを機に毎日更新ではなく。1週間とか2週間?(長ければ1か月でも)毎日やった事の中で自分にとって、一番有益だった事を共有していく形に変えてみようかなと思いました。

私もいつかヨシダマサさんの様に、経験を生かした情報共有ができるようになりたいと思います(`・ω・´)9

それでは、ご覧いただきありがとうございました!

今日も一日お疲れさまでした~(*´ー`*)

似顔絵イラストの続き。。

目と髪が一番印象を左右する?

こんばんは!

今日も引き続き似顔絵イラスト、やっとります:)。

背景画像もOK出たし、今週中には渡せるかな。

髪も目も難しい!(笑)

書いていて気付いたのが、「明るい」とか「暗い」「クール」「優しそう」

「爽やか」「おとなしい」等の人の印象って目と髪によってだいぶ左右される

のかも?なんて思いました。

芸能人のような左右対称な超美形の顔って、そうそう居ないけど、

男性なら髪型、女性ならメイクで、自分の目指すイメージに印象をある程度は寄せる事ってできるのかもしれませんね:)

ブログ主は集中している時、完全に指名手配犯なので、怖がられない様にできるだけ目を開こうと思いました。。カッ!(笑)

では、今日はこの辺りで。

ご覧頂きありがとうございました!(*´ー`*)

似顔絵イラストって難しいね。

イラスト練習。

こんばんは!

急に冷え込みが来てプルプルしながら帰ってきたブログ主です!

走ったら温かくなるのでは?と思い、途中小走りしてみたんですが、

風で逆に冷えました。(´-ω-)

皆さんは大丈夫でしたか?

さて。今日はイラスト似顔絵の練習をしております。いやー難しいです!

まだこれだけしか描けていない。なかなか(>_<。)

依頼主の写真をよく観察してみるのですが、まー難しい!(笑)

しかし、illustratorのペンツールの熟練練習としてはなかなか良いですね:)

毛が難しい・・(Θ_Θ)

イラスト似顔絵を描くにあたって、方法について参考にしたサイトはこちら!↓

https://liginc.co.jp/web/design/illustrator/141399/2

LIGさん、ありがとうございます!:)

似顔絵イラストの描き方を、順を追って、コツを交えながら丁寧に教えてくれていてオススメです。

イラスト書きたいけど右も左もわからんよ。という私と同じような方!

参考になれば嬉しいです。

今日はこの辺りで。。

週の真ん中水曜日。お疲れさまでした。寒暖差にはお気を付け下さい!

ご覧いただきありがとうございました!(*´ー`*)

cafemapのテーブル結合できました!

LEFT JOINで結合。

こんばんは!

paizaのDB/SQLの動画をおさらいしつつ、テーブル結合をやってみたらできたので、方法を共有したいと思います。

1、Xammpのコントロールパネルの中の、MysqlのAdminをクリック

2、結合したいテーブル名と、項目の名前を確認する。

今回私が結合したかったのが、”shopsテーブル”id”items”テーブルのshop_idでした。

3、データベースの上部のSQLタブをクリック。

4、ここに下記命令文(ダブルクォーテーションは除く)を書いて実行。

”SELECT * FROM shops LEFT JOIN items ON items.shop_id = shops.id;”

そうすると↓こんな感じで結合できます!やった~!:)

はい。今日の共有事項は以上です!

最近の私の小さな楽しみ。。

「仕事帰りの休憩室で10分だけピアノの練習。(人が少ない時限定)」

なのですが。外が寒いせいなのかな?

休憩室が人気で、ここ数日なかなか弾けないのでした。。(笑)

でも「悲愴」の出だし弾けるようになってきた。わーい(*´ー`*)

忘れないうちにまた弾けたらいいな。

皆様は「私だけの小さな楽しみ。。」とかありますか?

そういうのがあると、疲れてても回復できるし、自分の中で若干テンションもあがるし良いですよね:)

安住紳一郎の日曜天国(ラジオ)でありそうなお題だけど。人の密かな楽しみを知るのも面白くて大好きです。

それでは。ご覧いただきありがとうございました:)

今日も一日お疲れさまでした!

illustrator 簡単に文字を手書き クレヨン風にする

文字やイラストをホッコリした感じにする方法。

こんばんは!

今日は、頼まれた似顔絵イラストを上手に描けるようになる為、練習をしております:)

練習というか。お絵描きです・・楽しい(笑)

そんな中。ちょっとラクチンにクレヨン風の文字やイラストにする方法を知りましたので、共有したいと思います!:)

まず加工前はこちら。木!!ツリー!

これを、illustrator画面上部から、効果→変形→ガラスを選択して加工するだけで。。

クレヨンな感じになりました:)

文字だとこんな感じになります!

はい。ガラスを選択した後に、詳細設定画面で「ゆがみ」「滑らかさ」「テクスチャ」

が調節できるので、自分好みのホッコリ感で設定してみて下さい!

因みに今回私は「ゆがみ=2~3」「滑らかさ=2~3」「テクスチャ=霜つき」にしました:)

簡単にクレヨン文字を作りたい!という時の参考になれば嬉しいです!

それでは、今日はこの辺りで。。

ご覧いただきありがとうございました(*´ー`*)

illustratorで文字に縞々の影を作る

illustratorの練習

こんばんは!

今日は久々にillustratorのチュートリアル系を。。

「文字に縞々の影を作る方法」を試してみました!

「縞々」・・・。これ読めますか?正解は「シマシマ」です。

私は読めなくて、Google先生に聞きました(笑)

はい。縞々かげをつけた文字はこちら!↓

↓こんな感じでテキスト(100ptで作成)を複製+長方形で作った縞々柄を複製した方に適用してズラした感じです。

作成方法はこちらの「小樽総合デザイン事務局」さんのサイトを参考に作りました:)(ありがとうございます!)

https://otarunet.com/it/webdesign/illustrator-shima-shadow/

とても丁寧に説明してくれているので、私も作ってみたいよ!という方は上のURLからご覧くださいませ。

それでは今日はこの辺りで!

ご覧いただきありがとうございました~(*´ー`*)

cafemapのテーブルを増やして結合する。

SQLを使うらしい。。

こんばんは!

今日はアカデミーでわからない所を沢山質問して来ました:)

テーブル結合を成功させたお仲間にコードを共有していただいたので、

それを見ながらこれから実際にやってみようと思います。

(マキさん、ありがとうございます!!(*´ー`*))

ルイーダアカデミーはもくもく会に近い感じなので、

自分で調べて色々やってみて、

成功した仲間がいたらその方法を共有してみんなもやってみる。

そういうタイプの学校です。

そんな訳で、今日はまだ成果物がないので・・。

デザイナー勉強中!の方に共有したい情報その2という事で、

Pinterestでもデザインの勉強になるな~とよく保存させて頂いている

@masicalbananaさんのツイッターを紹介しておきます!

https://twitter.com/masicalbanana/status/1055044767245979650?s=20

何か今日は沢〇エリカさんの事件で世の中は大騒ぎみたいですけど、

実はあまり私は興味がありません。。すみません。

麻薬って合法なもの沢山あるけど、一度手を出すと強烈で他の物が薄味に感じてしまうのでしょうかね。

合法なものって別に法律ギリギリを狙ったヤツ!

とかじゃなくて。音楽とか、お酒とかスポーツとか筋トレとか、美味しい食べ物とか、猫とか、漫画とか、恋愛とか、アイドルとか。。無限に。。

人によってなんでも合法的麻薬になりうる気がします(笑)

今の所それで満足てきている単純な自分はラッキーなだけなのかもしれないです。合成何とかに出会う機会もないし(笑)

では、今日はこの辺りで!

ご覧いただきありがとうございました~(*´ー`*)

cafemap修正~つづきのつづき

お手本WEBサイトで使用されている色を調べる方法

こんばんは!

今日は寒かったですね~。帰り道に北風を肌で感じました(笑)

帰宅後暖房を速攻でオン!そしてcafemapのデザインをちょっといじっております。

私は普段、「カッコいいな」とか「見やすいな」と思うサイトを見つけて、

「この色いいな!!何色使ってるの?」という時、その色を調べる為に使っているツールがありまして、

それを共有したいと思います。

Chrome拡張機能で 「Color Picker」 カラーピッカーというものがあるのですが、

これを使うと開いているサイト内から色を採取できます:)

とっても便利です(*´ー`*)

使ってみたい方は下のリンクをどうぞ!

https://chrome.google.com/webstore/detail/colorpick-eyedropper/ohcpnigalekghcmgcdcenkpelffpdolg

使い方も簡単。

拡張機能でカラーピッカーを有効にすると、右上に虹色の丸にクロスのマークが現れるので、

素敵な色を見つけたらそのマークをクリック。

色番号を調べたい所をクリック。

そうすれば右上の所に色番号が出てきます!

そのままコピーしてイラレやフォトショでスウォッチ登録しておいたり、自分のウェブサイトのデザインで使ったりできます。

はい。こんな感じです。私と同じようにwebデザイナーを目指している初心者の方や、

目の病気などで、自分の目の感覚で色選びをするとクライアントの希望の色と少しズレがでちゃって困っている、という方には結構使えるツールだと思うので

オススメしておきますね。少しでも参考になれば嬉しいです。

では、今日はこの辺りで!

皆様、今週も一週間おつかれさまでした!

ご覧いただきありがとうございました。

良い週末をお過ごしくださいませ~(*´ー`*)

cafemapの修正~つづき

Bootstrapでカルーセルを入れてみた。

こんばんは!

今日もcafemapの修正をしています。

昨日調べて見つけたカルーセルをTOPのお店一覧の下に

試しに入れてみました:)

手順は、

1、 https://getbootstrap.com/docs/4.3/components/carousel/ にアクセス。

2、お好みのカルーセルの下にコードが書いてあるのでそれをコピー。

3、body内のカルーセルを設置したい所へ張り付けする。

4、画像のフォルダの場所と表示したい画像名を指定する。だけ!(何てラクチンなの(*´ー`*))

背景画像もとの物から変えないと、デザイン的にうるさくなってしまうので

明日はその辺りを少し変えてみようかな。

PHPの課題のcafemapのデザイン変更の為にBootstrapを触り始めたけれど、

最近プログラム、コード、Eラーニングばっかりで、サイトのデザインとか全くやっていなかったから

HTMLとかCSSおさらいと,Bootstrapでどんな事ができるか色々試してみるのも良いかなと思っています。

それでは!御覧頂きありがとうございました:)

明日は金曜日ですね。今週ももう一息!

今日も一日お疲れさまでした!(*´ー`*)

cafemapの修正

bootstrapで背景画像を画面いっぱいに表示する。

はい!こんばんは:)

今日は以前作ったcafemapの修正をやっております。

前回、背景画像を配置した時、<style>タグを使って、background: url~

で指定していたのですが、このPHPで作ったcafemapはbootstrapを使用しているので、

その場合、「Jambotron(ジャンボトロン) を使うように。」と訓練校の猛者から教えて貰いました。

今日やっとそこに着手したのですが。。

まだまだ時間がかかりそうです(笑)

というのも、bootstrapのコンポーネントを色々見ていたら、

カルーセルも使えるみたいで、(よくwebサイトで、何枚かのトップ画像が「シュッシュッシュ!」と入れ替わるヤツ見ますよね。アレです。)

これは使いたいぞ。

となりまして。現在色々いじってますです:)

https://getbootstrap.com/docs/4.3/components/carousel/

いや~楽しいですね~(*´ー`*)

やっぱり!(笑)

Jambotron(ジャンボトロン) を使う事の他にも修正点があり、

stylesheetをPHPでも使うみたいなのですが、

PHPの場合どうやるのか。。その辺りも調べて変更せねば。ふむ。

これから毎日、少しづつ進めていこうと思います。

今日はJambotronの使い方について分かりやすく説明してくれていたサイトさんを見つけたので、共有しておきますね!

http://jyoko.hatenablog.com/entry/2017/01/29/Bootstrap%EF%BC%88Jambotron/%E3%82%B8%E3%83%A3%E3%83%B3%E3%83%9C%E3%83%88%E3%83%AD%E3%83%B3%EF%BC%89%E3%81%A7%E7%94%BB%E9%9D%A2%E3%81%84%E3%81%A3%E3%81%B1%E3%81%84%E3%81%AB%E7%94%BB%E5%83%8F%E3%82%92

横口さん、ありがとうございます!
クリーブさんのサイトを見ながらポートフォリオサイト作り直そうと思いました。ありがとうございます!
こちらのサイトでは、background-attachment: fixed; のあるなしで全然印象が変わるのですが、サンプルをつけてくれていて解りやすいです! EC Tips さん、ありがとうございます:)

それでは、この辺りで失礼します!

ご覧いただきありがとうございました:)

週の折り返し水曜日!皆様、お疲れさまでした~(*´ー`*)

DB/SQL サブクエリを使う

paiza DB/SQL入門編

こんばんは!

今日はSQLでクロス集計をする方法などなど・・をやりました。

毎日1チャプターづつ、進めていたのですが、

ちょっと強引にSQLを終わらせました(笑)

はい。ひとまず終了!:)

これからどんどん技術が進歩していったらもっと簡単にコードをかけたり、

DBの設定なんて不要になっていくのでは?と考えています。

これからの時代、5G時代がやって来た時にどんな知識やスキルが必要になるのかな。

既に”youtuber”は”職業”として成り立つようになっているけど、

「VLOG」として、普段の生活や、趣味や、お得情報や、なんやかんやの

「自分の好き」や「自分の生活」、「自分のチャレンジ」、「自分の意見・知識」

を発信してかなり再生回数回している人が多く居ますよね。

少し前に言われていた”個人の時代”が完全に来ているんだなぁ。と感じました。

意外と「自分の好きな事を楽しむ・追及する」っていうのがどんな知識やスキルよりも人の役に立ったり、必要とされる事に繋がっていくのかも?

なんて思います:)

令和。。良い時代ですね(*´ー`*)

それでは、今日はこの辺りで!

ご覧いただきありがとうございました!

DB/SQL SQLを使ってテキスト検索

paiza DB/SQL入門編

こんばんは!

最近、電車の中と降りた後の気温差が激しいですよね(Θ_Θ)

「サウナと水風呂」級なので体温調節が難しいですよね。

さて、今日はpaizaのDB/SQL入門編の続きで「テキスト検索の方法」を学びました。

「%ムラサキイモ%」で実行すると、「ムラサキイモ」が含まれる文字を検索できるという感じ。。

SQLでテキスト検索っていつ使うのか。。

イメージがあまりつかなかいですが、きっとそのうち役に立つのかも?:)

先日訓練校の頃の仲間と勉強法について話しをした時に、「遅延勉強法」というワードが出た。

遅延勉強法っていうのは、

「必要になったら、必要なところを勉強する」 というもの。

「〇〇を勉強したから××をやる」ではなくて、「××をやりたいから○○を勉強する」

という事なのだけど、私は体系的に学びたいと思う反面、

よくよく考えたら、遅延勉強法の方が自分には合っているかもと思います。。

少しやり方を変えてみようかと考えています。

模索迷走中ですが、目的地は変わらず(笑)

ゆっくりですが、一歩ずつ進んでみます:)

それでは、ご覧いただきありがとうございました(*´ー`*)

DB/SQL ユーザーの年齢計算をする

paiza DB/SQL入門編

こんばんは!

今日のpaizaはSQLの命令文で計算ができる事を知りました:)

四則演算も出来るとは、ますますエクセル(笑)

今日使った関数はこの二つでした。↓

■現在の日時を求める関数
 CURRENT_DATE()) AS 現在日時
 
■二つの日付の間の期間を整数で求める
 TIMESTAMPDIFF(YEAR, (誕生日), (現在の日時))

ゲームユーザーのプレイ期間を計算するという練習問題はこんな感じ。。

SELECT
     userID AS ユーザーID,
     MIN(startTime) AS 開始日,
     MAX(endTime) AS 終了日,
     DATE(max(endTime)) - DATE(min(startTime)) +1 AS プレイ期間
 FROM
     eventlog
     GROUP BY userID;

ゲームユーザーの年齢を計算する練習問題はこんな感じ。。

SELECT
     userID AS ユーザーID,
     year(current_date()) AS 現在年,
     birth AS 生年月日,
     year(current_date())-year(birth) AS 数え年,
     Timestampdiff(year,birth,current_date()) AS 満年齢
 FROM 
     users;

でした:)

久々にyoutuberの中田あっちゃんが動画アップしたので、それ見たさに今日はこの辺りで失礼します!!(笑)

ご覧いただきありがとうございました(*´ー`*)

皆様も良い秋の夜を~♪

DB/SQL 合計や平均を集計

paiza DB/SQL入門編

こんばんは!

今日はDB/SQLの続き。データを集計する方法として、SUMやAVG(←エクセルでいうaverageの事をSQLの命令文ではこう書くらしい。)を使う事などを学びました。

「50以上の値を持っているものだけに絞りたい時」はHAVING関数を使います。

【問題】
 サンプルデータベースのeventlogテーブルから、userIDおよび合計の獲得所持金と平均の獲得所持金を表示します。ここに、HAVINGを追加して、合計の獲得所持金が50以上のユーザーだけ表示してください。 
-- ユーザーごとの合計獲得金額と平均獲得金額
 SELECT
     eventlog.userID AS "ユーザーID",
     SUM(events.increase_gold) AS "合計",
     AVG(events.increase_gold) AS "平均"
 FROM
     eventlog
     INNER JOIN events ON events.eventID = eventlog.eventID
 GROUP BY eventlog.userID
 having sum(events.increase_gold)  >= 50;

はい。やっぱりSQLの命令文ってエクセルに似ていますね:)

それでは、今日はこのあたりで!

ご覧いただきありがとうございました:)

DB/SQL 命令文一覧

paiza DB/SQL入門編

こんばんは!

今日は少し気分を変える為、PHPの復習ではなく、DB/SQL入門編のイーラーニングをしてみました!

データベース操作言語のSQLの基本的なテクニックを学習できるもので、

ログ解析 、アクティブユーザーを調べたり、集計できるというあたりが、現在の仕事にかかわる所でもあってPHPよりもだいぶ興味を持ってできました:)

一流盗賊!・・・盗賊は・・あまり嬉しくないですね。笑

一流になるならもっと別の”魔法使い”とか”パラディン”とかが良いんだけどな:)

さて、自分の備忘録とSQLの基礎を勉強中の方の為に、入門編2のチャプター4までで使用した、SQLの命令文一覧を載せておきます。

=======================================
 -- 全てのデータを取り出す
 SELECT * FROM players;

 -- 一部のカラムだけ取得する
 SELECT name, level FROM players;

 -- 一部の行だけ取得する
 SELECT * FROM players WHERE level >= 7;

 -- 複数の条件を組み合わせる
 SELECT * FROM players WHERE level >= 7 AND job_id <> 6;

 --条件指定とカラム選択を組み合わせる
 SELECT name, level FROM players WHERE level >= 7;
 「where」の条件指定たち
 a = b    a と b が等しい  level = 10
 a < b    a が b よりも小さい    level < 15 a > b    a が b よりも大きい    level > 7
 a <= b    a が b 以下である level >= 15
 a >= b    a が b 以上である level >= 7
 a <> b    a と b が等しくない    level <> 1

 【データを表示する】=======================================

 -- データ件数を表示する
 SELECT COUNT(*) FROM players;

 --条件に合ったデータの件数を表示する
 SELECT COUNT(*) FROM players WHERE job_id = 6;

 -- データを並び替えて取得する
 SELECT * FROM players ORDER BY level;

 -- データを並び替えて取得する 逆順
 SELECT * FROM players ORDER BY level DESC;

 --上位3件だけ表示す
 SELECT * FROM players ORDER BY level DESC LIMIT 3;

 -- 職業ごとに人数を集計する
 SELECT job_id, COUNT(*) FROM players GROUP BY job_id;

 【データの追加削除】=======================================

 -- データを追加する
 INSERT INTO players(id,name,level,job_id) VALUES(11, "霧島1号", 1, 1);

 -- データを追加して表示する
 INSERT INTO players(id,name,level,job_id) VALUES(12, "霧島2号", 1, 1);
 SELECT * FROM players;

 -- 一度に複数のデータを追加する
 INSERT INTO players(id,name,level,job_id)
 VALUES
 (13, "霧島3号", 1, 1),
 (14, "霧島4号", 1, 1)
 ;
 SELECT * FROM players;

 -- データを更新する
 UPDATE players SET level = 10 WHERE id = 11;
 SELECT * FROM players;

 -- データを更新する。1増加
 UPDATE players SET level = level + 1 WHERE id = 12;
 SELECT * FROM players;

 -- データを削除する
 DELETE FROM players WHERE id = 13;
 SELECT * FROM players;

 -- データを削除する
 DELETE FROM players WHERE id >= 11;
 SELECT * FROM players;

【テーブル結合】=======================================

 -- テーブルを結合して表示する(内部結合)
 SELECT * FROM players INNER JOIN jobs ON jobs.id = players.job_id;

 -- テーブルを結合して表示する(左結合)
 SELECT * FROM players LEFT JOIN jobs ON jobs.id = players.job_id;

 -- テーブルを結合して表示する(右結合)
 SELECT * FROM players RIGHT JOIN jobs ON jobs.id = players.job_id;

【結合したテーブルの操作】=================================

 -- 結合したテーブルを操作する
 SELECT * FROM players INNER JOIN jobs ON jobs.id = players.job_id;

 -- 結合したテーブルで、指定カラムだけ表示
 SELECT name, level, vitality FROM players INNER JOIN jobs ON jobs.id = players.job_id;

 -- 結合したテーブルで、条件に合った行だけ表示
 SELECT name, level, strength FROM players INNER JOIN jobs ON jobs.id = players.job_id WHERE strength >= 5;

 -- 職業ごとに人数を集計する
 SELECT job_id, job_name, COUNT(*) FROM players INNER JOIN jobs ON jobs.id = players.job_id GROUP BY job_id;

エラーが出て実行されない時は以下をチェック。
 ※SELECTのカンマ忘れ、カンマ多すぎ注意!
 ※テーブル連結時のテーブル名不足!
 ※WHEREでAND忘れ!

 【SQLのログ解析】 =======================================

 -- 日次のアクセス数を求める
 SELECT DATE(startTime), COUNT(logID)
 FROM eventlog
 GROUP BY DATE(startTime);

 -- ある期間のアクセス数を求める
 SELECT DATE(startTime), COUNT(logID)
 FROM eventlog
 WHERE DATE(startTime) BETWEEN "2015-04-01" AND "2015-04-30"
 GROUP BY DATE(startTime);

 -- 月次のアクセス数を求める
 SELECT DATE_FORMAT(startTime, '%Y-%m'), COUNT(logID)
 FROM eventlog
 GROUP BY DATE_FORMAT(startTime, '%Y-%m');

 --カラム名を別名で表示する 
 SELECT userID AS "アクティブユーザー"
 FROM users;

 --重複した行を省いて表示する 
 SELECT DISTINCT userID AS "アクティブユーザー"
 FROM users;

 --空のカラムの行を表示する
 SELECT userID AS "アクティブユーザー"
 FROM users
 WHERE deleted_at IS NULL;

  ======================================= 

何かの参考になれば嬉しいです(*´ー`*)

それでは皆さん良き週末をお過ごしください♪

ご覧いただきありがとうございました:)

PHP 連想配列2 並び替え

PHP学習記録

こんばんは!

今日のPHPおさらいは「連想配列+並び替え」のsort、rsortでした。

はい。最近ちょっと焦りとかもあるのか。PHP復習、あんまりノッテこないですね~。

(´-ω-)ふむ。

イカン。ちょっと明日は別の事しようかと思います。

今このPHPの復習と平行してDB/SQL編もpaizaでやったりしてるのですが、

そっちか、エクセルVBAの方にしようかな。

ちょっと考えます。

充実感や、達成感、楽しさ、新鮮さ?足りていない気がする。

自分のモチベーション上げやご機嫌取りは自分がしていかないと!!

長く続けるためにも:)

それでは今日はこの辺りで!

拙い私のメモ&日記なんぞを見る人がいるのかなと思いつつ、

Webデザイナーになるまでのメモ兼記録として、毎日更新を続けておりますが、

「ブログを見てます」と言ってくれる方がいて嬉しかったです。

そんな方に有益な事をたまには(たまには?笑)発信できるようにしていきたいと思っております。

ご覧いただきありがとうございました(*´ー`*)

今日も一日お疲れ様でした!

PHP 連想配列

PHP学習記録

こんばんは!

最近朝晩寒いですね。ちょと冬来てる感があります。

今朝私は、「ちょっと早い気もするけど。。でも寒いから!」とコートを着て家を出ました。

会社が近くなった頃、私の目の前を歩いているサラリーマン男性が目に入ったのですが、その方はダウンコートを着ていました(笑)

上には上がいる。

さすがにダウンは暑くないのかな。。でもその気持ちわかります。と思いました(笑)

さて、今日のPHPの復習は連想配列。ちょっと難しかったです。

でもやっぱりこれも前よりはマシかな。

だいぶエネルギー使ったので今日はこの辺りで!

ご覧いただきありがとうございました:)

今日も一日お疲れ様でした♪