投稿日時:

XMLという言葉は聞いたことはあるけれど、どのようなものなのか良く解らないという人も多い事でしょう。

XMLとは簡単に言えば、CSVのように「テキストファイルを使用したデータファイル」です。

id,name
1,A太郎
2,B太郎
3,C太郎

CSVではこのようなフォーマットでデータを記録します。
値と値をカンマ(,)で区切ることでデータを作成します。
拡張子には「.csv」が使用される事が多いです。

ちなみに、「拡張子」はOSがファイルの種類を認識するための識別記号で、ファイルとアプリケーションの関連付け等に使用されるものです。
フォーマットがCSV形式であれば、拡張子はcsvでなくても構いません。

<table>
  <row>
    <id>1</id>
    <name>A太郎</name>
  </row>
  <row>
    <id>2</id>
    <name>B太郎</name>
  </row>
  <row>
    <id>3</id>
    <name>C太郎</name>
  </row>
</table>

一方で、XMLでは上記のようなフォーマットでデータを記録します。
XMLは<要素名>値</要素名>と記述してデータを作成します。
拡張子には「.xml」が使用される事が多いですが、フォーマットがXML形式であれば、拡張子はxmlでなくても構いません。

用途はCSVもXMLも同じです。
データの記録は勿論、RDBMSのインポートやエクスポート、データファイルの転送、アプリケーションの設定ファイル等に使用されます。

CSVとXMLはどちらが良く使用されているかと言えば、回答は「XML」となります。
すなわち、XMLを使用する様々なメリットが存在しているのですが、今回からしばらくは、このXMLについて学習してみたいと思います。

(担当:奥田 英太郎

投稿日時:

売上データなどを品目や人別に集計する際に、手数や時間がかかってお困りのことも多いかと存じます。
Excelには、集計に便利な様々な機能があります。どのように集計したいかの目的により使い分けをお勧めします。

◆フィルタで抽出

項目ごとに条件を付けて抽出し集計値を見るには、オートフィルタを利用します。
(集計値は、条件にあったもののみとなります)

オートフィルタで抽出した場合、最終行にSUM関数等を作成していてもその集計は反映されません。SUBTOTAL関数を使って集計します。
「リスト」機能(2003)または「テーブル」機能(2007以降)を利用すると、[集計行] にチェックを入れるだけで自動的にSUBTOTAL関数の入った集計行が追加されるので便利です。

◆SUMIF(またはCOUNTIF)関数

別の表に集計値のみを項目別に表示するには、SUMIF・COUNTIF・AVEREGEIFなどの関数を利用します。
2007以降ではSUMIFS関数のように複数の条件で集計できる関数が増えました。

◆自動集計

項目別に並べ替えたデータに自動的に集計行を挿入します。

◆ピボットテーブル

別の表で集計値を出すのは上述のSUMIF等の関数でもできますが、大量のデータの場合は範囲指定が面倒になります。
ピボットテーブルは自動で範囲指定を行うため、大量データの集計に便利です。
また、計算式や表を作り直すことなく集計方法を変更したり項目の入れ替えを行えるので、多様な視点からの分析が可能になります。

(担当:瀧川 仁子

投稿日時:

ビジネスパワーアップコラム<ロジカルシンキング編> 第七回

前回のロジカルシンキング編コラムでは、論理を展開する際の基本的なポイントである「論点」の採り上げ方についてのお話をしました。理想的な論点の数は「3点」であり、それを上回っても下回っても理解しやすく説得力のある説明は難しくなること、またその理由としては「人間の短期記憶の量」「ピラミッド構造のバランス」「論理展開との親和性」が挙げられることがポイントでした。

今回のコラムでは論点の採り上げ方と関連する話として、論点を展開する際の基本的な流れ、すなわち「話の広げ方」について説明したいと思います。

論理思考の基本として、第三回のロジカルシンキング編コラムで採り上げた「人間の思考回路の基本構造」をもう一度思い出しましょう。人間の思考回路は最重要ポイントを頂点とし、階層が下がるほど思考の詳細レベルが上がる「ピラミッド構造」となっています。このピラミッド構造に即した形で論点を展開する際には、

・掘り下げ
・広がり
・優先順位

この3点を考慮することが大切なポイントとなります。以下、順に説明します。

「掘り下げ」とは、話の階層(=レベル)を下げて、より詳細な内容を説明することを意味します。例としては、伝えたいテーマに関しての状況や理由、あるいは自身の考え方や提案などの説明が該当します。この場合は、テーマがピラミッドの最上段に存在し、その一つ下の階層に、そのテーマに至った状況や理由・考え方等が位置する形となります。さらに、その理由・状況・考え方等を再び「掘り下げる」ことにより、必要に応じて詳細な内容、例えば実験やアンケートの結果、過去の実績等の説明を行います。

このように論点の階層を掘り下げ、話を大まかな内容から徐々に詳細なレベルに落とし込んでいくことで、相手が理解しやすい形で話を広げることが可能となります。この考え方は、ちょうどピラミッドを平面で捉えた際の「上下(垂直)方向」になぞって考えを掘り下げるイメージとなりますので、私はこれを論理思考における「縦方向思考」と呼んでいます。

「広がり」とは、同じ階層における複数の詳細な内容を組み合わせることで理解・納得のしやすい話を構成し、説明することを意味します。例としては、最上位階層のテーマが「店舗に対する新商品の提案」であるならば、一つ下の階層には「売上メリット」「コストメリット」「納期メリット」等を示して広がりを持たせること、あるいは「売上メリット」のレベルに着目するならば、その一つ下の階層には「お客様ニーズ」「デザイン」「機能性」等を示して広がりを持たせること、というイメージになります。

この点は前回のロジカルシンキング編コラムで説明した「論点は3点」という話とも繋がる部分であり、上記の例のように複数の詳細内容を組み合わせることで、一つ上の階層の説明の根拠を示したり、説明自体の妥当性を補強することができます。この考え方は、ピラミッドの「左右(水平)方向」に従って考えを広げていく形となりますので、私はこれを論理思考における「横方向思考」と呼んでいます。

「優先順位」とは、同じ階層における複数の内容に関し、採り上げる順番を考慮した上で説明することを意味します。例としては、先程の「店舗に対する新商品の提案」について、「売上」「コスト」「納期」の順で話をするのか、あるいは「コスト」「売上」「納期」の順で話をするのか、というイメージです。

話の展開を論理的に考える際には、説明の順番は非常に重要なポイントとなります。そもそも論理思考とは「Q&A」であるという説明を第一回のロジカルシンキング編コラムで行いましたが、自分が話をする順番を決める上では、相手が最も疑問に思っていることを最大限考慮する必要があります。例えば、相手は「売上」について一番知りたいのに、自分は「納期」の話から始めてしまったら、相手は「なぜ納期の話から始まったのだろうか」「売上についてはどうなのだろうか」と、新たな疑問を持ってしまう可能性もあります。このように、話の広がりを考える上では「順序」についても考慮する必要があります。

まとめますと、話を上手に広げる際は、

・掘り下げ=「縦方向思考の原則」
・広がり =「横方向思考の原則」
・優先順位=「順序の原則」

これら3つの原則を考慮する必要があります。

この3つの原則に従うことで「論理のピラミッド」を構成することが出来ますので、私はこれら3点をまとめて

「ピラミッド思考の原則」

と呼んでいます。ピラミッド思考の原則=「縦方向思考」「横方向思考」「順序」というイメージです。

「縦方向思考による掘り下げ」「横方向思考による広がり」「順序による優先順位」この3点をしっかり意識することで、相手が論理的に理解しやすい話の構成を展開することが可能となります。話を上手に広げたいと思った際には、是非この3点を思い出していただければ幸いです。

(担当:佐藤 啓

投稿日時:

前回のWeb系コラムでは、「メインカラー」が来訪者の第一印象を決定し、次のステップであるコンテンツ閲覧にスムーズに導くための大切な要素の一つであるというお話をしました。今回はメインカラーを決めた後、どのように「見やすい」デザインを作るかというお話を、「コントラスト」という視点に注目して説明したいと思います。

まずは「コントラスト」の意味を確認しましょう。
コントラストとは「色の明るさの差」を意味します。赤色、緑色など色の違いは関係ありません。色の明るさの差が大きいことを「コントラストが高い」、反対に色の明るさの差が小さいことを「コントラストが低い」と呼びます。

コントラスト=「色の明るさの差」です。

見やすいWebページやバナー画像などを作る際には、コントラストの高低を活用することが重要なポイントとなります。
コントラストを活用してデザインを考えるべき理由は大きく分けて3つあります。

1点目の理由は、コントラストの活用により、文字の可読性を上げることが可能だからです。
コントラストを高くすることで、文字の読みやすさが格段に改善されます。例えば、白背景に黒い文字は最もコントラストの高い色設定の一例ですが、画面上でも紙においても、白背景に黒い文字は読みやすいというイメージを思い浮かべていただけるのではないかと思います。掲載する情報量の多いニュース系のWebサイトなどでは、多くの文字を読みやすくするために、背景の色は白に近い色、そして文字の色を黒に近い色を選択することが多いです。

2点目の理由は、重要な箇所の強調が可能だからです。
Webページ全体を俯瞰する場合、視線が最初に向かうのはコントラストの高い箇所です。この点を利用しますと、あるバナーを強調したい場合はバナーと「Webページ全体」のコントラストを高くすることによりユーザーの視線誘導が可能となります。

3点目の理由は、Webページ全体の統一感を実現することが可能だからです。
Webページにおける来訪者の視線を集める最も簡単な方法としては、バナーに赤や黄色などの強い色を使うことがあります。一方でこの方法はWebページ全体の統一感を損なう可能性があるという点も同時に意識する必要があります。強い色を使用せずに来訪者の視線を集めるためには、同色からコントラストの高低の変化をつけることが一つの解決方法になります。前回のWeb系コラムで説明した「メインカラー」が存在する場合は、メインカラーを元にしてコントラストの高低をつけることにより、メインカラーによる印象を強めると同時に、重要な箇所を強調することが可能になります。

今回はコントラストの高低を活用することで、Webページやバナーの可読性の向上、また来訪ユーザーの視線誘導が可能であるというお話をしました。バナー画像制作やWebページリニューアルのヒントとして、参考としていただければ幸いです。

(担当:斉藤 万幾子

投稿日時:

ベン図はご存じですか?
もし解らなければ、テーブルとリレーションシップの理解に役立ちますので、少し勉強してみてください。
今回のお話は、論理和 (OR)、論理積 (AND)、排他的論理和 (XOR)だけを理解していれば大丈夫です。

同じ構造のテーブル「TableA」と「TableB」があります。
TableAのフィールド「Code」には「A、B、C、D、E、F」があり、
TableBのフィールド「Code」には「A、B、C、G、H、I」があるとします。

このとき、TableAとTableBの論理和は「A、B、C、D、E、F、G、H、I」です。
SQLではUNIONを使用すれば簡単に求められます。

SELECT Code FROM TableA UNION SELECT Code FROM TableB

また、TableAとTableBの論理積は「A、B、C」です。
SQLではINNER JOINを使用すれば簡単に求められます。

SELECT TableA.Code FROM TableA INNER JOIN TableB ON TableA.Code = TableB.Code

さらに、TableAとTableBの排他的論理和は「D、E、F、G、H、I」です。
SQLではFULL OUTER JOINを使用すれば簡単に求められるのですが、Access(Jet Database)やMySQLではFULL OUTER JOINは使用できないので、ちょっと複雑になりますが下記のように記述します。

SELECT TableA.Code FROM TableA LEFT JOIN TableB ON TableA.Code = TableB.Code WHERE TableB.Code IS NULL
UNION
SELECT TableB.Code FROM TableA RIGHT JOIN TableB ON TableA.Code = TableB.Code WHERE TableA.Code IS NULL

という事でサンプルを用意したのでどうぞ。

同じ構造のテーブルが2個以上あるという段階でテーブル設計がおかしいのですが、既存のレコードとインポートしたレコードを比較する際に使用すると便利ですので、覚えておくと良いと思います。

(担当:奥田 英太郎