2016-07-01 3 views
3

テーブル内に一意の値または行を持つdataViewオブジェクトに問題があります。電力BIカスタムビジュアルDataviewグループ化の問題がサマライズされていない場合でも発生します。

私は、種類dataRolesを与えてみました:powerbi.VisualDataRoleKind to Grouping、Measure and GroupingorMeasure。私はdataViewedMappingsをカテゴリ(dataReductionAlgorithm:{top:{}})と値(select:{bind:{to: 'Y'}}]に与えてみました。オプション、重複オプションを保持し、テーブルのタイプを整数、テキスト、小数点などに変更しましたが、何も私のために働いていませんでした。何が欠けているのか、テーブル全体をバインドするためにPowerbi開発ツールのように何をしなければならないのか。私のコードの下

、事前に

public static capabilities: VisualCapabilities = { 
// This is what will appear in the 'Field Wells' in reports 
dataRoles: [ 
{ 
displayName: 'Category', 
name: 'Category', 
kind: powerbi.VisualDataRoleKind.Grouping, 
}, 
{ 
displayName: 'Y Axis', 
name: 'Y', 
kind: powerbi.VisualDataRoleKind.Measure, 
}, 
], 
// This tells power bi how to map your roles above into the dataview you will receive 
dataViewMappings: [{ 
categorical: { 
categories: { 
for: { in: 'Category' }, 
dataReductionAlgorithm: { top: {} } 
}, 
values: { 
select: [{ bind: { to: 'Y' } }] 
}, 
} 
}], 
// Objects light up the formatting pane 
objects: { 
general: { 
displayName: data.createDisplayNameGetter('Visual_General'), 
properties: { 
formatString: { 
type: { formatting: { formatString: true } }, 
}, 
}, 
}, 
} 
}; 

感謝。

答えて

2

パワーBIは、常にカテゴリデータビューで要約されます。一意になると思うカテゴリの値を求めて、それを回避しようとすることができます。ユーザーの判断に委ねられます。

テーブルデータビューに切り替えることはオプションになる可能性がありますが、そこには要約が反映されていないことがわかります。どのフィールドがどこに行くのかを特定することや、集計のために数学を自分で行う必要性など、独自の課題があります。

https://ideas.powerbi.comにご意見をお寄せください。

1

私はこの投稿が古いことは知っていますが、この同じ問題の答えを見つけるのは永遠に私を受けました。だから私はテーブル形式を使用して終了しましたが、それはまだ少し奇妙です。私はあなたに私の例を与え、少し説明してみましょう:

{ 
"dataRoles": [ 
    { 
     "displayName": "Legend", 
     "name": "legend", 
     "kind": "GroupingOrMeasure" 
    }, 
    { 
     "displayName": "Priority", 
     "name": "priority", 
     "kind": "GroupingOrMeasure" 
    }, 
    { 
     "displayName": "SubPriority", 
     "name": "subpriority", 
     "kind": "GroupingOrMeasure" 
    } 
], 
"dataViewMappings": [   
    { 
     "table": { 
      "rows": { 
       "select": [{ 
        "for": { 
         "in": "legend" 
        } 
       }, 
       { 
        "for": { 
         "in": "priority" 
        } 
       }, 
       { 
        "for": { 
         "in": "subpriority" 
        } 
       } 
       ] 
      } 
     } 
    } 
] 
} 

は、だから、私はdataRolesはGroupingOrMeasuresになりたいが、私はそれがここでは必要であるとは考えていません。

これでdataViewMappingsに「凡例値、優先順位値、および優先順位値を設定した行のデータをテーブルに入れたい」とマークしました。

これには2つの奇妙な部分があります。最初に、あなたのデータは、あなたがこれらのことを宣言した順序でデフォルトでソートされます。だから、凡例の値を最初に持ってくると、それはこのテーブルがどのようにソートされるかです(最初の列の値が一致する順序でソートされます)。次に、テーブルに一意の行しか保存されません。私は二列の持っていた場合

ので:

レジェンド優先Subpriority

カナダ資源物プラスチック

カナダ資源物プラスチック

を次にテーブル内の一つの値だけが表示されます。また、これは、凡例のすべての行を取得しようとしていても、その凡例の値のみをテーブルに対して選択した場合、繰り返し値によって一意の行が作成されないため、それぞれの値が1つしか得られないことを意味します。

ですから、二列がある場合:

カナダ

カナダ

をあなたはカナダのエントリを持つ唯一の1行の値を取得します。

また、不完全なデータ(null値)に対しても注意が必要です。上記の例では、「空白」の値が重複している場合は、他のフィールドも一致する場合は1行だけが表示されます。

唯一の方法は、各行が一意であることを確実にすることです。私自身の仕事では、ユニークなキー列(プライマリキー - 1,2,3などの行を索引付け)を追加するだけでしたが、プライオリティと従属性が組み合わされたユニークなキーとして機能することがわかりました。優先順位が共有されている場合、サブ優先順位は異なることが保証されます。

これを知り、これを含めて、私が望むものを追加して、個々の行ごとにすべての値を戻すことができます。

このポイントからデータにアクセスする方法の階層を表示するには、適切な値をドラッグした後、ビジュアルの下または上にある「Show DataView」ツールを使用します(リロード/トグル自動ロードアイコン)。

この情報は私の最終的な解決には十分であったので、この回答が他の人にも役立つことを願っています。

関連する問題