number28 -7ページ目
<< 前のページへ最新 | 3 | 4 | 5 | 6 | 7

PPSの問題について

ODS

Operational Data Store


データ取込時にDWHに格納する前に一時的に格納する領域のこと。


Staging領域との違いがいまいちまだ理解できていない。

(http://www.geekinterview.com/question_details/242 )


まぁ言い方を変えただけなのかな? 



http://www.atmarkit.co.jp/aig/04biz/ods.html

(情報ソース:情報マネジメント辞典)



http://en.wikipedia.org/wiki/Operational_data_store

(original source: wikipedia)

SQL Server のフェールオーバーに必要な時間

検証してみたところ大体平均30秒くらいだった。


ただクラスタリソースがオンラインになってもサービスをしようとするとエラーが出る場合があったので、


実際にサービスとして使用可能な切り替え時間は1分ぐらいかかるかなと。


データ量によってもそれほどの誤差はなかったです。

MDX:複数選択

売上のキューブを作って、メジャーとして「Sales」と「Cost」が存在する場合


ビジネスユニットAとBを選択し他場合、下記の様に表示したい:

Business Unit Sales Costs
-------------------------------
All 1,000 800
-------------------------------
A 600 450
-------------------------------
B 400 350


ビジネスユニットを複数選択して、下記の表を表示させるMDX例

SELECT {[Measures].[Sales], [Measures].[Costs]} ON COLUMNS,
{ Intersect ( {[Business Unit].[Business Unit].members}, { STRTOSET(@BusinessUnitBusinessUnit, CONSTRAINED)} ) } ON ROWS
FROM [Sales Cube]

ネットワークモニタリング

ちょっと脱線しちゃいますが



ネットワークモニタリングツールとしてこんなのがお勧めみたいです。


PingPlotter(http://www.pingplotter.com )

wireshark



Cubeベースのレポートモデル

モデルを一度生成したら変更ができないみたい。


レポートモデルを作って、切り口とかを後で変えたりしたいのに。

やるならキューブの分析観点で対応するしかいないのか???


"Cube perspectives become report model perspectives. In addition, each cube becomes a perspective within the model. Therefore, Report Builder users must select a perspective within the model and not the top-level model."



This BOL (Sept. 2007) gives you the complete list of rules for creating and using cube-based report model.

http://msdn2.microsoft.com/en-us/library/aa337350.aspx


SQLインジェクション考

SQLインジェクションについて調べてみた。


Wiki

http://ja.wikipedia.org/wiki/SQL%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3


価格.com、ワコールの事件とか、この技で情報を盗まれてたんだ。それは知らなかった


@ITだとわかりやすく書いてある。

http://www.atmarkit.co.jp/fsecurity/rensai/hoshino09/hoshino01.html




こんな防御の仕方があった。


http://www.wwwcoder.com/main/parentid/258/site/2966/68/default.aspx

SQL Server Operation Guide

SUM() by GROUPS

下記データを1つのテーブルに格納してたい。


<データ>

Skiff Medical: $10

Skiff Medical: $20

Skiff Medical: $30

Straub Medical: $10

Straub Medical: $15

Straub Medical: $25

<求めたい結果>

Need to produce:

Skiff Medical: $60

Straub Medical : $50

CREATE TABLE #OneColumnOnly

(

TheOneColumn) VARCHAR(100)

)

INSERT INTO #OneColumnOnly(TheOneColumn))

SELECT 'Skiff Medical: $10'

INSERT INTO #OneColumnOnly(TheOneColumn)

SELECT 'Skiff Medical: $10'

INSERT INTO #OneColumnOnly(TheOneColumn)

SELECT 'Skiff Medical: $20'

INSERT INTO #OneColumnOnly(TheOneColumn)

SELECT 'Skiff Medical: $30'

INSERT INTO #OneColumnOnly(TheOneColumn)

SELECT 'Straub Medical: $10'

INSERT INTO #OneColumnOnly(TheOneColumn)

SELECT 'Straub Medical: $15'

INSERT INTO #OneColumnOnly(TheOneColumn)

SELECT 'Straub Medical: $15'

INSERT INTO #OneColumnOnly(TheOneColumn)

SELECT 'Straub Medical: $25'


<回答例>

SELECT

LEFT(TheOneColumn,CHARINDEX(':',TheOneColumn)) ,

SUM(CAST(RIGHT(TheOneColumn,LEN(TheOneColumn) - CHARINDEX('$',TheOneColumn)) AS INT))

FROM #OneColumnOnly

Group by

LEFT(TheOneColumn,CHARINDEX(':',TheOneColumn))

Skiff Medical: 70

Straub Medical: 65

(2 row(s) affected)

<< 前のページへ最新 | 3 | 4 | 5 | 6 | 7