corabo:SQL Server 接続確立時のエラー

ログインした途端にエラー。

f:id:xoblos:20170927144543p:plain

corabo にログインして、上図のようなエラーが出た場合は、以下のサービスの状態を確認してください。「停止」になっていたら、「開始」に変更しましょう。

f:id:xoblos:20170927144555p:plain

関連記事はこちら

Excel:セルの見た目

見た目の判断は駄目。

突然ですが、下図の列「C」‥‥いずれの行も「101」が入っていますが、全て異なる入力で生まれました。貴方には違いが分かりますか?「=」始まりの数式はありません。ユーザー定義の書式も使っておらず、「標準」か「文字列」です。

f:id:xoblos:20170925151715p:plain

そうですね、確かに「標準」か「文字列」かの違いまでは判断できます。

①:入力値「101」、標準書式、左詰め。
②:入力値「101」、標準書式から文字列書式へ変更。
③:入力値「101」、文字列書式。
④:入力値「'101」、標準書式。
⑤:④によるブックの破損~回復で変換された「101」、標準書式。

②は再編集して[Enter]を押下すると、③になります。⑤は再編集して[Enter]を押下すると、標準で数値を入力された時のように、右詰めで「101」になります。

見た目が同じという判断だけで、同じように取り扱える訳ではありません。何かこのセル値が怪しいな、と思ったら先ず「再編集」をすることをお勧めします。セルの左上部分にある緑の三角形は、編集後の値を最新の情報として、エラーチェックを行っています。左詰め等は、文字列の情報というよりは寧ろ見栄えの編集なので、②は③~⑤のようにすぐさまエラーチェックが行われる訳ではありません。

なお④(アポストロフィ「'」始まり)は、標準書式内、数値の表現を「文字列の情報」として判断させる為に入力する方法になります。これは、場合によってブックの破損へ及ぶようで、Excel 2010/2013/2016 に良く見られるようです。生成の雛形シートの作成には、「出力先と同じバージョンのブックで作成する」ことと「シート内に『'』始まりはなるべく避ける」ことが、特に注意点となりますね。

<ブックの破損内容例>
パーツ内の文字列プロパティ:上図の④
パーツ内の名前付き範囲  :前回記事

Excel:COUNTIF関数で "true"、"false" を扱うときの注意

ExcelCOUNTIF 関数は、アンケート結果の集計などで良く使う関数かと思います。

  =COUNTIF(範囲, 検索条件)

という書式で、検索条件に指定した条件を満たすセルの個数を求めます。

 =COUNTIF(M2:M300, "はい")
 =COUNTIF(M2:M300, true)
のような感じで使用することが多いのですが、この true や false(論理値)の場合は注意が必要です。

Excelシートから直接、truefalse を論理値入力する場合は良いのですが、文字列として ’true や ’false を入力した場合や、[セルの書式設定]-[表示形式] が「文字列」になっている場合や、他のアンケート収集データを連携したために、元々 "true" や "false" と文字列になっている場合は、

  =COUNTIF(M2:M300, "true")

  =COUNTIF(M2:M300, "false")

としても、該当セルをカウントしてくれません。Excelの COUNTIF関数は、"true" と "false" という文字列に対して、特別な扱いをするようです。

このため、あまり納得のいく書き方ではありませんが、以下のように両端に「*」を付加することにより、該当セルをカウントできます(もちろん、"true123" や "123false" もカウントしてしまいますが)。

  =COUNTIF(M2:M300, "*true*")

  =COUNTIF(M2:M300, "*false*")

 

Excel:ブックの破損

回復確認のダイアログが出る。

f:id:xoblos:20170913174033p:plain

高速エンジンを使用して生成した Excel で、ファイルを開こうとしたら上図のようなダイアログが出たことはないでしょうか。考えられる原因は幾らかありますが、大抵の理由は以下のとおりになります。確認してみてください。

ひな形行、あるいはひな形列上に名前定義がある。:名前定義が不正に削除される。
名前定義に、マクロ関数を割り当てたものがある。:高速エンジンが解析できない。
名前定義の定義名に、記号が含まれたものがある。:高速エンジンが解析できない。
生成するシートの名称に、カッコが含まれている。:高速エンジンが解析できない。

Designer:繰り返し実行指定ファイルの中身が空のときは?

「手順の繰り返し実行」を設定した手順で、繰り返し指定ファイル(パラメーターリスト)の中身が空のときはどうなるでしょうか?

f:id:xoblos:20170910085143p:plain

上図のようにデフォルト設定では、その繰り返し手順は警告終了となりますので、後続手順が実行されます。

繰り返し指定ファイルの中身が空のときに、後続手順を実行させたくないときは、以下のように後続手順の [判定条件] 設定で、[先行手順の実行結果が次のとき実行する][警告終了]「いいえ」に設定します。 

f:id:xoblos:20170910090251p:plain

f:id:xoblos:20170910090307p:plain

Designer:ユーザーの一時フォルダにサイズの大きな .tmp ファイルが作成されるとき

現象

xoBlosを実行すると、ユーザーの一時フォルダ
  C:\Users\<ユーザー名>\AppData\Local\Temp
にサイズの大きな .tmp ファイルが作成される。

原因と対処方法

Excel 表から抽出」手順で、サイズの大きな抽出対象ファイルをCSV形式で指定している場合は、その手順を見直してみましょう。

CSV形式からの抽出で、高速エンジンの使用が「はい」になっている場合は、「いいえ」で設定してみてください。「Excel 表から抽出」手順では、CSVファイルを一旦 Excelファイルとして処理するため、.tmp ファイルが作成されてしまうことがあります。

CSVファイルをXMLファイルに変換するには、「変換(CSV→抽出データ)」手順やxobQueryを使用する方法もありますので、検討してみてください。

 

Designer:『非出力項目』の役割

どういう時に使うの?

f:id:xoblos:20170831112151p:plain

データ抽出の際、作成される XML ファイル内に不要な項目があれば、キーワード『非出力項目』を「yes」にすることで、出力を阻止することができます。上図で、もし「その他情報」が要らない場合は、「その他情報」の列に「yes」を設定します。

「抽出するのに不要とはどういうこと?」

「最初から出力項目の対象としなければ良いじゃない!」

f:id:xoblos:20170831112158p:plain

ご意見は尤もです。しかし、上図のように処理値として扱う際には、明示が必要です。

抽出するデータの条件として「その他情報」が空白であるものを設定(空白でないものをスキップ)しています。更には『取得データの組合せ』で、データ情報を加工したものを出力しようとしています。「その他情報」その物は不要としていますが、判定等で使う場合には具体明示しなければなりません。

「不要情報も XML ファイル上にあるだけで、生成時に使わなければ良いじゃない!」

こういったご意見もあるかと思います。しかし大量データで、一項目減るだけで容量が大きく削減できるのであれば、持たないことが望ましいです。また、CSV に変換して別のシステムにあて込むという要件があった場合には、列構成を合わせる為に余計な情報は確実除去しなければならない――というケースも充分あり得ます。