2

単一のメジャーでキューブを作成しようとしています。このメジャーは、「名前」列の個別のカウントです。メジャーが「カウント」タイプに設定されている場合、キューブは完全に機能します。ただし、個別のカウントを設定すると、次のエラーが発生します。

「OLAP ストレージ エンジンのエラー: 個別カウント レコードに指定された並べ替え順序が正しくありません」

いくつかのブログで、数値列では個別のカウントしかできないことを読みました。これには正当な理由が見当たらず、公式ドキュメントでその情報を見つけることができません。しかし、それは本当かもしれません。とにかく、私は本当にこの問題にこだわっています。私のオプションは何ですか?

4

8 に答える 8

8

私の答えはあなたには遅すぎるかもしれませんが、これが同じ問題を抱えている他の人に役立つことを願っています.

  1. ソリューション エクスプローラーでデータ ソース ビューに移動します。
  2. 集計する必要がある GUID 列を含むテーブルを見つけます
  3. 選択したテーブルのヘッダーを右クリックし、[名前付き計算の作成] を選択します。
  4. 名前を付けてください
  5. 「式」フィールドに次のように入力します: CAST(ColumnName as varchar(36))

このソリューションは、このリンクからのものです http://www.bi-dw.info/sql-server-tips/distinct_count-measure-on-uniqueidentifier.htm

于 2009-02-10T15:21:47.597 に答える
3

Google、特に Eggheadcafe が解決策を提供してくれました。

  • SQL Server Management Studio から Analysis Services に接続する
  • Analysis Services サーバー名 (つまり、一番上の Analysis Services リンク) を右クリックします。
  • プロパティを選択
  • [詳細 (すべて) プロパティを表示] をオンにします。
  • 次の設定を見つけます
  • OLAP\プロセス\CheckDistinctRecordSortOrder
  • この値を 0 に設定します
  • [OK] をクリックします。
  • Visual Studio または BIDS で OLAP を開きます。
  • キューブを処理します。
于 2011-03-14T20:27:24.917 に答える
1

INT ID 列で個別のカウントを作成しようとすると、この問題が発生しました。何年にもわたって不明なメンバーの設定とディメンションの使用設定を調べた結果、個別のカウント メジャーは NULL 値を好まないという別の提案を見つけました。この個別のカウント メジャー グループのパーティション クエリに WHERE COLUMN IS NOT NULL を追加すると、問題が解決しました。

これは提案でした:「OLAP ストレージ エンジンのエラー: 個別のカウント レコードに指定された並べ替え順序が正しくありません。

distinctcount 列に NULL が含まれていないことを確認してください。その場合、パーティション定義のクエリを使用して、これらをメジャー グループから除外できます (個別のカウント メジャーが独自のメジャー グループにあると仮定します)。

于 2013-12-09T01:28:04.623 に答える
0

私は自分自身に答えます、多分これは他の誰かのために役立つでしょう。

簡単な答えは「はい」です。

同じ構造で、テスト行が数行しかないテストテーブルをいくつか作成しました。キューブはこのデータで完全に機能します。

したがって、元のテーブルに破損したデータがあるか、まれな文字が含まれている可能性があります。

于 2008-11-26T15:43:59.197 に答える
0

そうです、nvarchar 列で個別のカウントを行うことができます。

奇妙な文字や照合設定に関係している可能性があります。

メジャー グループの小さなサブセットを処理して、問題のある行を分離してみることができます。

于 2009-02-02T05:29:31.133 に答える
0

私は同じ問題に直面していましたが、キューブの処理を妨げる特殊文字/記号がデータに含まれていることがわかりました。おそらく、キューブが特殊文字を含むデータを並べ替えることができませんでした。

次の関数を使用してデータをハッシュバイト文字列に変換することで、問題を解決できました。

SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('MD5', [column_name])), 3, 32)
于 2016-09-07T05:36:34.583 に答える
0

照合設定が原因である可能性があります。SqlサーバーにはデフォルトでSQL_Latin1_General_CP1_CI_ASがあり、SSASはWindows照合Latin1_Generalを使用します。個別のカウントを行っている列の照合を変更すると、問題が解決すると思います

于 2009-02-02T06:53:26.050 に答える
0

私の状況では、ダービーは正しい答えを提供してくれました。私の場合、SSDT (VS 2012) でマイニング モデルを処理しようとして、エラーが発生しました。

データ ソースとして使用したテーブルを生成するクエリを修正した後、エラーが発生しました。私の推測では、クエリを修正する前にはなかった NULLS がどこかに導入されたため、ソース テーブル (マイニング モデルはその前に問題なく処理されていました) が導入されたようです。初心者の評判のため、ダービーに投票できません。

于 2015-07-02T18:48:28.693 に答える