ニュートンメニュー

株式会社ニュートン

マイクロソフト認定パートナー

体験版ダウンロード

製品案内

カスタマイズ受付

ライセンスパック

ライセンスについて

製品購入ガイド

直販ショップ!
ニュートンストアで購入

コンポーネントソースで購入
SE Shopで購入
アット・ニフティストアで購入

優待販売・
キャンペーン情報

ユーザサービス
〔サポートページ〕

Windows 7
対応状況

Visual Studio
2010 対応状況

Visual Studio
2008 対応状況

サポート体制

お知らせ
・ニュースリリース
・イベント出展
・製品関連記事

会社概要

お問い合わせ先

SSL グローバルサインのサイトシール

 
ニュートンホーム Q&A
OLAP ModelKit 3.7J

.NET対応 高性能OLAPコンポーネント
OLAP ModelKit 3.7J

このページは、OLAP ModelKit 3.7J 関連のユーザ様より寄せられたご質問の一部とその回答を掲載しております。


【OLAP ModelKit 3.7J Q&A一覧】

QNo.

タイトル

Q. 質問

日付

A. 回答

21

製品版なのに体験版ダイアログが表示される

Q. 体験版ではない製品版のライセンス登録を行ったOLAP ModelKit を含む.NET ModelKitを使用したアプリケーションをエンドユーザの実行環境で起動すると体験期間を示すダイアログ表示される場合があります。どうしたらよいですか?
 

2009/06/29

A. はい、それはプロジェクト内にある「licenses.licx」ファイルが関係しています。.NET ModelKitに限らず市販のコンポーネントをフォームに配置するとVisual Studioによってそのコンポーネントが自動的に「licenses.licx」にリスト(記述)されます。
しかし、フォームに配置せず実行時に新しいインスタンスを作成して利用するようなコードを記述してある場合は、「licenses.licx」にそのコンポーネントの記載はありません。
そういった場合にそのコンポーネントのライセンスが見当たらないため「体験版」などのダイアログが表示される仕組みになっているのです。
これを回避するためには、Visual Studioに頼らず必要なコンポーネントをあらかじめ「licenses.licx」ファイルに記載しておけばよいのです。

以下に、.NET ModelKitで使用するコンポーネントを製品別に記載します。必要部分をそのまま、「licenses.licx」に記載してください。

含まれる製品 コンポーネント名 licenses.licx上の記載
Report Sharp Shooter(全エディション)
および
ModelKit Suite
ReportManager PerpetuumSoft.Reporting.
Designer.ReportDesigner,
PerpetuumSoft.Reporting, Culture=neutral
Report Sharp Shooter(Liteを除く全エディション)
および
ModelKit Suite
ReportDesigner
(RSS.RunTimeDesigner)
PerpetuumSoft.Reporting.
Components.ReportManager,
PerpetuumSoft.Reporting, Culture=neutral
Report Sharp Shooter(Webを除く全エディション)
および
ModelKit Suite
ReportViewer
(RSS.Win)
PerpetuumSoft.Reporting.
View.ReportViewer,
PerpetuumSoft.Reporting, Culture=neutral
Report Sharp Shooter(Lite,Winを除く全エディション)
および
ModelKit Suite
SharpShooter
WebViewer
(RSS.Web)
PerpetuumSoft.Reporting.
Web.SharpShooterWebViewer,
PerpetuumSoft.Reporting.Web, Culture=neutral
OLAP ModelKit
および
ModelKit Suite
DataCube PerpetuumSoft.Olap.DataCube,
PerpetuumSoft.Olap,
Culture=neutral
Instrumentation ModelKit(Webを除く全エディション)
および
ModelKit Suite
Widget
(IMK.Win)
PerpetuumSoft.Instrumentation.
Windows.Forms.Widget,
PerpetuumSoft.Instrumentation, Culture=neutral
Instrumentation ModelKit(Winを除く全エディション)
および
ModelKit Suite
WidgetProducer
(IMK.Web)
PerpetuumSoft.Instrumentation.
Web.WidgetProducer,
PerpetuumSoft.Instrumentation.
Web,Culture=neutral
Chart ModelKit(Webを除く全エディション)
および
ModelKit Suite
ChartViewer
(Chart.Win)
PerpetuumSoft.Charts.Windows.
Forms.ChartViewer, PerpetuumSoft.Charts,
Culture=neutral
Chart ModelKit(Winを除く全エディション)
および
ModelKit Suite
WebChartViewer
(Chart.Web)
PerpetuumSoft.Charts.Web.
WebChartViewer,
PerpetuumSoft.Chart.Web,
Culture=neutral

 

20

Visual Studio 2008のデザインのツールボックスに.NET Model Kit Suiteのコンポーネントが表示されません

Q. Visual Studio 2008がインストールされている環境に、.NET Model Kit Suiteをインストールしましたが、Visual Studio 2008のデザインのツールボックスに.NET Model Kit Suiteのコンポーネントが表示されません。
回避方法を教えてください。
 

2008/06/27
2008/07/30

A. .NET ModelKit Suite 3.7J のインストーラでは現在、Visual Studio 2008のIDEのツールボックスへのコンポーネントの自動登録のオプションがございませんので、次の通り手動で登録してください。

デザイン画面で「ツールボックス」上で右クリックメニューより
「タブの追加」を選び、例えば".NET ModelKit Suite 3.7J"といった
名称で新しいタブを作成します。
その新しいタブ上から、右クリックメニューの「アイテムの選択」を使います。

「アイテムの選択」ダイアログで名前空間でソート後、
名前空間が[PerpetuumSoft]で始まるものすべてにチェックをいれます。
「OK」ボタンを押します。

OLAP ModelKit 3.7J(バージョン3.8) で修正され、インストールすれば Visual Studio 2008でも自動的にツールボックスに登録されるようになりました。  

19

.NET Model Kit Suiteをインストールできません

Q. Windows Vistaに.NET Model Kit Suiteをインストールしようとしているのですが、次のメッセージが表示されインストールできません。
回避方法を教えてください。


 

2008/06/27

A. Windows Vista上で次の設定を行ってください。
[コントロールパネル]→[ユーザアカウント]→[ユーザアカウント制御の有効化または無効化]→[ユーザアカウント制御(UAC)を使ってコンピュータの保護に役立たせる]のチェックを外してください。

その後、再度インストールを実行してください。

18 PDFにエクスポート –  横向き

Q. PDFへの横向きのエクスポートがうまくいきません。データは正常にエクスポートされますが、ページの向きが横ではなく縦に設定されます。
例えば、OLAPModelKitSampleCenterを開いて、「基本的な使い方」をクリックし、
「PDFにエクスポート」ボタンをクリックします。
(ページサイズ)を「カスタム」にし、向きを「横」に変更します。「OK」を押す。PDFファイルを保存します。

保存したPDFファイルを開きます。PDFは縦に表示されます。

2008/06/27

A. はい、これはバグです。今後のリリースで修正します。

17

DataCubeGridについて

Q. 各ディメンションの「合計」行を無効にする方法を探しています。そのようなプロパティはありますか?

DataCubeGrid にカレントで表示されている各行に数字付きのラベルを表示したい。
例:DataCubeGrid1.RowCount()
何か方法はありますか?

グリッドの内容をExcel またはHtml ではなくCSVでエクスポートできますか?
独自にそのようなエクスポートを記述してみましたが、キューブの計算で行われるすべての計算を独自に行わなければならないので、GetSourceRowsByCellはこれを行うためのよい方法ではありませんでした。

2008/06/27

A.

引用:

各ディメンションの「合計」行を無効にする方法を探しています。そのようなプロパティはありますか?


残念ながら、現在はそういったプロパティはございません。

引用:

DataCubeGrid にカレントで表示されている各行に数字付きのラベルを表示したい。
例:DataCubeGrid1.RowCount()
何か方法はありますか?


DataCube.PivotTable.YRoot.GetSheetCount() メソッドをご利用ください。

引用:

グリッドの内容をExcel またはHtml ではなくCSVでエクスポートできますか?


下記にあるエクスポートサンプルをご覧ください。
OLAPCsvExport_New.zip
 

Q. グリッドにファクトが1列しかない場合、ファクト列または合計列をソートできません。
2列目のファクトフィールドを追加すると、ファクト列と合計列の両方をソートできます。
ファクトフィールドが1列しかない場合、合計ごとにソートする方法はありますか?

A. dataCube.ShowSingleFact = trueに設定してください。

Q. 大量のキューブ(大量のデータ)を計算する際に問題があります。

次のコードを使用しています。

引用:

DataCubeGrid1.Recalculate();
Debug.WriteLine("SheetCount: " & DataCube1.PivotTable.YRoot.GetSheetCount());


計算にある程度の時間を要すると、SheetCountが常に"1"になります。"Calculated"または”AfterCalculation”のようなイベントを探しています。DataCubeGridにカレントで表示する行数をどこで定義できますか?

 

A. DataCubeGrid1.Source.PivotTableChangedイベントに記述してください。
しかし、PivotTable の等時性の再計算が始まる時に、ピボットテーブルは空になり、再計算の終了した時だけPivotTableは本当の値を取得するということを覚えておいてください。つまり、このイベントは計算が始まるときと正常に終了したときの二回呼び出されます。

他には、DataCubeGrid1.Recalculate();を使用してください。
しかし、テーブルの計算モードを「同期」に設定してください。
(DataCubeGrid.CalculationMode = Synchronous)

16 パーセント(%)表示の例

Q. データキューブに次の項目があります。

LineValue (データベースのデータ)
LineCost (データベースのデータ)
LineProfit (データベースのデータ)
LineProfitPercent (LineValueのLineProfitに対するのパーセンテージ)

この中で、lineprofitpercentageのフィールド値をパーセントで表示するには何を設定したらよいですか?

2008/06/27

A. ShowPercentプロパティをTrueにした場合、セルの値が自動的に計算され、該当するセルや関連する合計がパーセント形式で表示されます。このフィールドの式のここ(ShowPercentプロパティ)では、パーセント計算をする必要はありません。

ineprofitpercentageの値をパーセントで表示するには、ShowPercentプロパティをTrueにして、Expression プロパティの値をLineValue / LineProfit にし、Formatプロパティの値を0.00に設定してください。

15 フィルタとデザインの保存

Q. 現在OLAP ModelKitでは、データキューブのレイアウトを保存できますが、フィルタやグリッド内で選択した式などは.dcl ファイルと一緒に保存されません。

この機能を実現する方法はありますか?

2008/06/27

A. フィルタの式を保存するサンプルを用意しました。この保存はこのサンプルのdouble 型と文字列型専用だということを考慮してください。サンプルはこちらからダウンロードできます。

SavingFilterSettingsSample.zip

 

14

外部のOLAPキューブの接続

Q. マイクロソフト社の SQL Server Analysis ServicesのOLAPキューブを接続できますか?

2008/06/27

A. 残念ながら現在、そのような機能はございません。

13

基本的な計算

Q. フィールドに以下を設定しました。

Field1 = if(Nos_Inseminated > 0, 1, 0)
Field2 = if(Nos_ICSI > 0 ,1, 0)

次のような計算を行うために、フィールドを直接参照する方法はありますか?

Total = Field1 + Field2
または
Percentage = (Field1/TotalField) * 100

2008/06/27

A. 合計を計算するのに1つしかカレントセルを使えません。
フィールド:if(Nos_Inseminated > 0, 1, 0) + if(Nos_ICSI > 0 ,1, 0)に計算を設定すれば、Total = Field1 + Field2を使用できます。

TotalFieldからデータをパーセントで表示するには、ShowPercent プロパティの値をtrue にしなければなりません。

12

変更可能なセル

Q. セルを変更できるようにする方法はありますか?2つのレベルのデータをグループ化できて、ユーザがドキュメントのどの部分の表示も簡単に取得できるようにピボットテーブルを使用しています。ユーザが一部のセルに値を入力して、その値がバックグラウンドで物理的な行に保存されるようにしたい のですが。

2008/06/27

A. OLAP ModelKitではセルの編集や保存はできません。

11

手動でレポートヘッダーやフッターを追加

Q. OLAP ModelKitは列のドラッグやドロップ、データのフィルタ処理ができるすばらしいツールですが、プレビューやエクスポートの際にレポートにレポートヘッダーやフッターを手動で追加できますか?

2008/06/27

A. 残念ながら、その機能はサポートしていません。
もしも、インタラクティブなデータ処理および分析のためではなく、レポートを作成するためだけにピボットテーブルの作成が必要でしたら、帳票作成 コンポーネントのReport Sharp Shooterをお使いになる方が簡単です。このコンポーネントはピボットテーブルを作成できます。

10

DataCubeGridを基にしたデータテーブル

Q. DataCubeGrid の処理結果からデータテーブル(または他の結果の一覧)を取得できますか?

2008/06/27

A. DataCubeViewクラスを使用する必要があります。
OLAP ModelKit のサンプルプロジェクトの「SamplesCenter」プロジェクトの「DataCubeViewの使用」をご覧ください。

9

条件命令の実装

Q. フィールドに数値や英数字のデータがあります。
次の式を含んだ新しいフィールドを作成しました。

if(isnumeric(Element_Value),Element_Value * Frequency,Frequency).

この式が動作しません。上記の他に何か方法はありますか?

2008/06/27

A. 残念ながら、弊社のスクリプトには"IsNumeric"のような関数がありません。しかし、独自に実現できます。OLAP SampleCenterの「カスタム関数」サンプルのソースコードをご覧ください。カスタム関数の作成方法を示しています。

8

ASP.NET

Q.  OLAP ModelKitコンポーネントはASP.NETで使えますか?

2008/06/27

A. 残念ながら、OLAP ModelKitにはASP.NETのコントロールがありません。実現を検討しています。

7

DataCubeGridでのディメンション側のスクロール

Q. 1. OLAP Sample Centerを実行する
2. 「データソース」 -> 「ADO.NETのソース」 を選択
3. データキューブウィザードを開く
4.ソースフィールドをすべてYディメンションフィールドにドロップする
5. OKを押す
6. ファクト領域にアクセスしてみる

ディメンションの領域にスクロールバーがないので任意のファクトを見ることができません。

2008/06/27

A. はい、スクロールはファクトテーブルのみです。ディメンションのスクロールはありません。表示領域に収めるためにはディメンションを閉じたままにしておくか、フィールドの幅を狭めるためにディメンションのサイズを小さくします

6

ExpressionプロパティとDisplayExpressionプロパティと フィルタの関係

Q.   値によってフィルタをかけるためにDisplayExpressionプロパティを使えますか?

例:
"Customer"というキューブフィールドを作成します。
Expression: CustomerID
DisplayExpression: CustomerName

フィルタボタンをクリックすると、「値によるフィルタ処理」(値:1、2、3、…)を使用できます。

(Expressionプロパティの)CustomerID ではなく、DisplayExpressionプロパティのCustomerNameが欲しい。フィルタの値としてDisplayExpressionsプロパティを使用する方法はありますか?

2008/06/27

A. いいえ。
DisplayExpressionフィールドではなくExpressionフィールドに定義された式の値が、値によってフィルタに表示されます。

Q. 私にとってはdisplay expressionでディメンションの値をソートすることはとても重要です。常に、expression の値でソートされてしまいます。

例:
"Customer"というキューブフィールドを作成する
Expression: CustomerID
DisplayExpression: CustomerName

これはフィルタの場合と同じです。display expressionでディメンションの値をソートする方法はありませんか?

A. Display Expressionプロパティは結果を表示する際のテキスト設定のために使用します。値はExpression プロパティの計算結果によりソートされます。Expression プロパティとDisplayExpression プロパティの両方を使わなければならない理由を教えてもらえませんか?多分、あなたの場合、DisplayExpressionプロパティを設定しなくてもExpressionプロパティだけでよいのではないですか?

Q. 言われた通り、Expression を使用しています。ユーザがセルを選択したときにCustomerID のためのルックアップをこれから作らなければなりません。ValueExpressionのようなプロパティがよいのですが。

A. ピボットテーブルのセルのデータソース行を取得するには、DataCube.GetSourceRowsByCellメソッドを使用します。

5

データキューブグリッドから行の値の読み込み

Q. データキューブグリッドから行の値を読み込むために、dataCubeGrid1.GetCellInfo (row,column) メソッドを使用していますが、これはグリッドに表示されているセルの正確なcellinfo オブジェクトを返すだけのようです。セルが表示可能なスクロール領域にない場合、nullを返します。

2008/06/27

A. データキューブグリッドはピボットテーブルを表示するためのもので、非表示のデータを処理しません。ですから、DataCube.Fill()メソッドを使用するか、次のプロパティを使用して直接テーブルの計算済みのデータを使用してください。

DataCube.PivotTable.
DataCube.PivotTable.XDimensions of the core FieldItem for X dimension.
DataCube.PivotTable.YDimensions of the core FieldItem for X dimension.

DataCube.PivotTable.GetFactValue(<YItem>, <XItem>, <Fact>) はピボットテーブルのセルに1つの値を取得することができるようにします。

4 データソースとしてのITypedList

Q. OLAP データキューブのデータソースとしてITypedList を使うことはできますか?

2008/06/27

A. はい、できます。

3

フィールド名での演算子

Q. 作成したアプリケーションには、ユーザが任意のレポートからキューブを作成できるので、列名にAge+、 Name/Descriptionなどの式の演算子が入ることがあります。これは構文エラーを引き起こします。オリジナル名を維持する方法はありますか?それとも無効な演算子を取り除くようフィルタにかけなければなりませんか?

2008/06/27

A. OLAP ModelKitは.NETのデータソースに準拠し、.NET の仕様にそった識別子だけがサポートされます。
 “Age+”は不正な識別子です。

回避策としては、ソースフィールド(DataTable内のフィールドまたはビジネスオブジェクトのプロパティ)名を変更するか、正しい名前でラップしなければなりません。

2

平均値の丸め

Q. AVG 集計を使用する際に値をどうやって丸められますか?

2008/06/27

A. round関数を使用します。

1 実行時にディメンションやファクトを作成する

Q. デザイン時のデザイナを使わずに実行時にディメンションやファクトを作成するサンプルコード(C#)はありますか?

2008/06/27

A. 以下のサンプルをご覧ください。
DataCubeRunTimeCreating.zip

 

Copyright (C) NEWTONE Corporation. All rights reserved.